Lines Matching refs:ia_pd

42 	bool ia_pd : 1;  member
350 static int dhcpv6_add_option_ia_pd(struct net_pkt *pkt, struct dhcpv6_ia_pd *ia_pd, in dhcpv6_add_option_ia_pd() argument
370 ret = net_pkt_write_be32(pkt, ia_pd->iaid); in dhcpv6_add_option_ia_pd()
375 ret = net_pkt_write_be32(pkt, ia_pd->t1); in dhcpv6_add_option_ia_pd()
380 ret = net_pkt_write_be32(pkt, ia_pd->t2); in dhcpv6_add_option_ia_pd()
395 ret = net_pkt_write_be32(pkt, ia_pd->iaprefix.preferred_lifetime); in dhcpv6_add_option_ia_pd()
400 ret = net_pkt_write_be32(pkt, ia_pd->iaprefix.valid_lifetime); in dhcpv6_add_option_ia_pd()
405 ret = net_pkt_write_u8(pkt, ia_pd->iaprefix.prefix_len); in dhcpv6_add_option_ia_pd()
410 ret = net_pkt_write(pkt, &ia_pd->iaprefix.prefix, in dhcpv6_add_option_ia_pd()
411 sizeof(ia_pd->iaprefix.prefix)); in dhcpv6_add_option_ia_pd()
467 if (options->ia_pd) { in dhcpv6_calculate_message_size()
539 if (options->ia_pd) { in dhcpv6_add_options()
540 struct dhcpv6_ia_pd ia_pd = { in dhcpv6_add_options() local
545 memcpy(&ia_pd.iaprefix.prefix, &iface->config.dhcpv6.prefix, in dhcpv6_add_options()
546 sizeof(ia_pd.iaprefix.prefix)); in dhcpv6_add_options()
547 ia_pd.iaprefix.prefix_len = iface->config.dhcpv6.prefix_len; in dhcpv6_add_options()
550 ret = dhcpv6_add_option_ia_pd(pkt, &ia_pd, options->iaprefix); in dhcpv6_add_options()
634 .ia_pd = iface->config.dhcpv6.params.request_prefix, in dhcpv6_send_solicit()
665 .ia_pd = iface->config.dhcpv6.params.request_prefix, in dhcpv6_send_request()
697 .ia_pd = iface->config.dhcpv6.params.request_prefix, in dhcpv6_send_renew()
724 .ia_pd = iface->config.dhcpv6.params.request_prefix, in dhcpv6_send_rebind()
1107 struct dhcpv6_ia_pd *ia_pd) in dhcpv6_parse_option_ia_pd() argument
1116 ret = net_pkt_read_be32(pkt, &ia_pd->iaid); in dhcpv6_parse_option_ia_pd()
1121 ret = net_pkt_read_be32(pkt, &ia_pd->t1); in dhcpv6_parse_option_ia_pd()
1126 ret = net_pkt_read_be32(pkt, &ia_pd->t2); in dhcpv6_parse_option_ia_pd()
1136 if (ia_pd->t1 != 0 && ia_pd->t2 != 0 && ia_pd->t1 > ia_pd->t2) { in dhcpv6_parse_option_ia_pd()
1140 NET_DBG("iaid %d t1 %d t2 %d", ia_pd->iaid, ia_pd->t1, ia_pd->t2); in dhcpv6_parse_option_ia_pd()
1146 ia_pd->iaprefix.status = DHCPV6_STATUS_NO_PREFIX_AVAIL; in dhcpv6_parse_option_ia_pd()
1147 ia_pd->status = DHCPV6_STATUS_SUCCESS; in dhcpv6_parse_option_ia_pd()
1166 &ia_pd->iaprefix); in dhcpv6_parse_option_ia_pd()
1175 &ia_pd->status); in dhcpv6_parse_option_ia_pd()
1341 static int dhcpv6_find_ia_pd(struct net_pkt *pkt, struct dhcpv6_ia_pd *ia_pd) in dhcpv6_find_ia_pd() argument
1351 ret = dhcpv6_parse_option_ia_pd(pkt, length, ia_pd); in dhcpv6_find_ia_pd()
1548 struct dhcpv6_ia_pd ia_pd = { 0 }; in dhcpv6_handle_advertise() local
1628 ret = dhcpv6_find_ia_pd(pkt, &ia_pd); in dhcpv6_handle_advertise()
1634 if (ia_pd.status != DHCPV6_STATUS_SUCCESS || in dhcpv6_handle_advertise()
1635 ia_pd.iaprefix.status != DHCPV6_STATUS_SUCCESS) { in dhcpv6_handle_advertise()
1665 struct dhcpv6_ia_pd ia_pd = { 0 }; in dhcpv6_handle_reply() local
1760 ret = dhcpv6_find_ia_pd(pkt, &ia_pd); in dhcpv6_handle_reply()
1766 if (iface->config.dhcpv6.prefix_iaid != ia_pd.iaid) { in dhcpv6_handle_reply()
1822 if (ia_pd.status == DHCPV6_STATUS_NO_PREFIX_AVAIL || in dhcpv6_handle_reply()
1823 ia_pd.iaprefix.status == DHCPV6_STATUS_NO_PREFIX_AVAIL || in dhcpv6_handle_reply()
1824 ia_pd.iaprefix.valid_lifetime == 0) { in dhcpv6_handle_reply()
1837 &ia_pd.iaprefix.prefix) || in dhcpv6_handle_reply()
1838 iface->config.dhcpv6.prefix_len != ia_pd.iaprefix.prefix_len)) { in dhcpv6_handle_reply()
1844 iface->config.dhcpv6.prefix_len = ia_pd.iaprefix.prefix_len; in dhcpv6_handle_reply()
1846 memcpy(&iface->config.dhcpv6.prefix, &ia_pd.iaprefix.prefix, in dhcpv6_handle_reply()
1849 dhcvp6_update_deadlines(iface, now, ia_pd.t1, ia_pd.t2, in dhcpv6_handle_reply()
1850 ia_pd.iaprefix.preferred_lifetime, in dhcpv6_handle_reply()
1851 ia_pd.iaprefix.valid_lifetime); in dhcpv6_handle_reply()
1853 ifprefix = net_if_ipv6_prefix_lookup(iface, &ia_pd.iaprefix.prefix, in dhcpv6_handle_reply()
1854 ia_pd.iaprefix.prefix_len); in dhcpv6_handle_reply()
1856 net_if_ipv6_prefix_set_timer(ifprefix, ia_pd.iaprefix.valid_lifetime); in dhcpv6_handle_reply()
1857 } else if (net_if_ipv6_prefix_add(iface, &ia_pd.iaprefix.prefix, in dhcpv6_handle_reply()
1858 ia_pd.iaprefix.prefix_len, in dhcpv6_handle_reply()
1859 ia_pd.iaprefix.valid_lifetime) == NULL) { in dhcpv6_handle_reply()