Lines Matching refs:pktopt

3124 ip6_pcbopts(struct ip6_pktopts **pktopt, struct mbuf *m, struct socket *so,  in ip6_pcbopts()  argument
3128 struct ip6_pktopts *opt = *pktopt; in ip6_pcbopts()
3145 *pktopt = NULL; in ip6_pcbopts()
3164 *pktopt = opt; in ip6_pcbopts()
3183 ip6_pcbopt(int optname, u_char *buf, int len, struct ip6_pktopts **pktopt, in ip6_pcbopt() argument
3188 opt = *pktopt; in ip6_pcbopt()
3192 *pktopt = opt; in ip6_pcbopt()
3199 ip6_getpcbopt(struct ip6_pktopts *pktopt, int optname, struct sockopt *sopt) in ip6_getpcbopt() argument
3212 if (pktopt && pktopt->ip6po_pktinfo) { in ip6_getpcbopt()
3213 optdata = (void *)pktopt->ip6po_pktinfo; in ip6_getpcbopt()
3223 if (pktopt && pktopt->ip6po_tclass >= 0) { in ip6_getpcbopt()
3224 optdata = (void *)&pktopt->ip6po_tclass; in ip6_getpcbopt()
3232 if (pktopt && pktopt->ip6po_hbh) { in ip6_getpcbopt()
3233 optdata = (void *)pktopt->ip6po_hbh; in ip6_getpcbopt()
3234 ip6e = (struct ip6_ext *)pktopt->ip6po_hbh; in ip6_getpcbopt()
3240 if (pktopt && pktopt->ip6po_rthdr) { in ip6_getpcbopt()
3241 optdata = (void *)pktopt->ip6po_rthdr; in ip6_getpcbopt()
3242 ip6e = (struct ip6_ext *)pktopt->ip6po_rthdr; in ip6_getpcbopt()
3248 if (pktopt && pktopt->ip6po_dest1) { in ip6_getpcbopt()
3249 optdata = (void *)pktopt->ip6po_dest1; in ip6_getpcbopt()
3250 ip6e = (struct ip6_ext *)pktopt->ip6po_dest1; in ip6_getpcbopt()
3256 if (pktopt && pktopt->ip6po_dest2) { in ip6_getpcbopt()
3257 optdata = (void *)pktopt->ip6po_dest2; in ip6_getpcbopt()
3258 ip6e = (struct ip6_ext *)pktopt->ip6po_dest2; in ip6_getpcbopt()
3264 if (pktopt && pktopt->ip6po_nexthop) { in ip6_getpcbopt()
3265 optdata = (void *)pktopt->ip6po_nexthop; in ip6_getpcbopt()
3266 optdatalen = pktopt->ip6po_nexthop->sa_len; in ip6_getpcbopt()
3271 if (pktopt) { in ip6_getpcbopt()
3272 optdata = (void *)&pktopt->ip6po_minmtu; in ip6_getpcbopt()
3280 if (pktopt && ((pktopt->ip6po_flags) & IP6PO_DONTFRAG)) { in ip6_getpcbopt()
3290 if (pktopt) { in ip6_getpcbopt()
3291 optdata = (void *)&pktopt->ip6po_prefer_tempaddr; in ip6_getpcbopt()
3309 ip6_clearpktopts(struct ip6_pktopts *pktopt, int optname) in ip6_clearpktopts() argument
3311 if (pktopt == NULL) { in ip6_clearpktopts()
3316 if (pktopt->ip6po_pktinfo) { in ip6_clearpktopts()
3317 kfree_type(struct in6_pktinfo, pktopt->ip6po_pktinfo); in ip6_clearpktopts()
3319 pktopt->ip6po_pktinfo = NULL; in ip6_clearpktopts()
3322 pktopt->ip6po_hlim = -1; in ip6_clearpktopts()
3325 pktopt->ip6po_tclass = -1; in ip6_clearpktopts()
3328 ROUTE_RELEASE(&pktopt->ip6po_nextroute); in ip6_clearpktopts()
3329 if (pktopt->ip6po_nexthop) { in ip6_clearpktopts()
3330 kfree_data_addr(pktopt->ip6po_nexthop); in ip6_clearpktopts()
3332 pktopt->ip6po_nexthop = NULL; in ip6_clearpktopts()
3335 if (pktopt->ip6po_hbh) { in ip6_clearpktopts()
3336 kfree_data_addr(pktopt->ip6po_hbh); in ip6_clearpktopts()
3338 pktopt->ip6po_hbh = NULL; in ip6_clearpktopts()
3341 if (pktopt->ip6po_dest1) { in ip6_clearpktopts()
3342 kfree_data_addr(pktopt->ip6po_dest1); in ip6_clearpktopts()
3344 pktopt->ip6po_dest1 = NULL; in ip6_clearpktopts()
3347 if (pktopt->ip6po_rhinfo.ip6po_rhi_rthdr) { in ip6_clearpktopts()
3348 kfree_data_addr(pktopt->ip6po_rhinfo.ip6po_rhi_rthdr); in ip6_clearpktopts()
3350 pktopt->ip6po_rhinfo.ip6po_rhi_rthdr = NULL; in ip6_clearpktopts()
3351 ROUTE_RELEASE(&pktopt->ip6po_route); in ip6_clearpktopts()
3354 if (pktopt->ip6po_dest2) { in ip6_clearpktopts()
3355 kfree_data_addr(pktopt->ip6po_dest2); in ip6_clearpktopts()
3357 pktopt->ip6po_dest2 = NULL; in ip6_clearpktopts()
3431 ip6_freepcbopts(struct ip6_pktopts *pktopt) in ip6_freepcbopts() argument
3433 if (pktopt == NULL) { in ip6_freepcbopts()
3437 ip6_clearpktopts(pktopt, -1); in ip6_freepcbopts()
3439 kfree_type(struct ip6_pktopts, pktopt); in ip6_freepcbopts()