Lines Matching refs:pktopt

2294 ip6_pcbopts(struct ip6_pktopts **pktopt, struct mbuf *m,  in ip6_pcbopts()  argument
2297 struct ip6_pktopts *opt = *pktopt; in ip6_pcbopts()
2315 *pktopt = NULL; in ip6_pcbopts()
2333 *pktopt = opt; in ip6_pcbopts()
2353 ip6_pcbopt(int optname, u_char *buf, int len, struct ip6_pktopts **pktopt, in ip6_pcbopt() argument
2358 if (*pktopt == NULL) { in ip6_pcbopt()
2359 *pktopt = malloc(sizeof(struct ip6_pktopts), M_IP6OPT, in ip6_pcbopt()
2361 if (*pktopt == NULL) in ip6_pcbopt()
2363 ip6_initpktopts(*pktopt); in ip6_pcbopt()
2365 opt = *pktopt; in ip6_pcbopt()
2371 if (pktopt && pktopt->field) { \
2381 pktopt = in6p->in6p_outputopts; \
2382 if (pktopt && pktopt->field) { \
2384 bcopy(&pktopt->field, optdata, optdatalen); \
2394 (((struct ip6_ext *)pktopt->field)->ip6e_len + 1) << 3)
2397 pktopt->field->sa_len)
2410 struct ip6_pktopts *pktopt; in ip6_getpcbopt() local
2413 pktopt = in6p->in6p_outputopts; in ip6_getpcbopt()
2418 if (pktopt && pktopt->ip6po_pktinfo) { in ip6_getpcbopt()
2419 bcopy(pktopt->ip6po_pktinfo, &null_pktinfo, in ip6_getpcbopt()
2429 if (pktopt && pktopt->ip6po_tclass >= 0) in ip6_getpcbopt()
2430 deftclass = pktopt->ip6po_tclass; in ip6_getpcbopt()
2450 if (pktopt) in ip6_getpcbopt()
2451 defminmtu = pktopt->ip6po_minmtu; in ip6_getpcbopt()
2456 if (pktopt && ((pktopt->ip6po_flags) & IP6PO_DONTFRAG)) in ip6_getpcbopt()
2464 if (pktopt) in ip6_getpcbopt()
2465 defpreftemp = pktopt->ip6po_prefer_tempaddr; in ip6_getpcbopt()
2486 ip6_clearpktopts(struct ip6_pktopts *pktopt, int optname) in ip6_clearpktopts() argument
2488 if (pktopt == NULL) in ip6_clearpktopts()
2492 if (pktopt->ip6po_pktinfo) in ip6_clearpktopts()
2493 free(pktopt->ip6po_pktinfo, M_IP6OPT); in ip6_clearpktopts()
2494 pktopt->ip6po_pktinfo = NULL; in ip6_clearpktopts()
2497 pktopt->ip6po_hlim = -1; in ip6_clearpktopts()
2499 pktopt->ip6po_tclass = -1; in ip6_clearpktopts()
2501 if (pktopt->ip6po_nextroute.ro_rt) { in ip6_clearpktopts()
2502 RTFREE(pktopt->ip6po_nextroute.ro_rt); in ip6_clearpktopts()
2503 pktopt->ip6po_nextroute.ro_rt = NULL; in ip6_clearpktopts()
2505 if (pktopt->ip6po_nexthop) in ip6_clearpktopts()
2506 free(pktopt->ip6po_nexthop, M_IP6OPT); in ip6_clearpktopts()
2507 pktopt->ip6po_nexthop = NULL; in ip6_clearpktopts()
2510 if (pktopt->ip6po_hbh) in ip6_clearpktopts()
2511 free(pktopt->ip6po_hbh, M_IP6OPT); in ip6_clearpktopts()
2512 pktopt->ip6po_hbh = NULL; in ip6_clearpktopts()
2515 if (pktopt->ip6po_dest1) in ip6_clearpktopts()
2516 free(pktopt->ip6po_dest1, M_IP6OPT); in ip6_clearpktopts()
2517 pktopt->ip6po_dest1 = NULL; in ip6_clearpktopts()
2520 if (pktopt->ip6po_rhinfo.ip6po_rhi_rthdr) in ip6_clearpktopts()
2521 free(pktopt->ip6po_rhinfo.ip6po_rhi_rthdr, M_IP6OPT); in ip6_clearpktopts()
2522 pktopt->ip6po_rhinfo.ip6po_rhi_rthdr = NULL; in ip6_clearpktopts()
2523 if (pktopt->ip6po_route.ro_rt) { in ip6_clearpktopts()
2524 RTFREE(pktopt->ip6po_route.ro_rt); in ip6_clearpktopts()
2525 pktopt->ip6po_route.ro_rt = NULL; in ip6_clearpktopts()
2529 if (pktopt->ip6po_dest2) in ip6_clearpktopts()
2530 free(pktopt->ip6po_dest2, M_IP6OPT); in ip6_clearpktopts()
2531 pktopt->ip6po_dest2 = NULL; in ip6_clearpktopts()
2606 ip6_freepcbopts(struct ip6_pktopts *pktopt) in ip6_freepcbopts() argument
2608 if (pktopt == NULL) in ip6_freepcbopts()
2611 ip6_clearpktopts(pktopt, -1); in ip6_freepcbopts()
2613 free(pktopt, M_IP6OPT); in ip6_freepcbopts()