Lines Matching defs:pktopt

1679 ip6_pcbopt(int optname, u_char *buf, int len, struct ip6_pktopts **pktopt,
1684 if (*pktopt == NULL) {
1685 *pktopt = malloc(sizeof(struct ip6_pktopts), M_IP6OPT,
1687 ip6_initpktopts(*pktopt);
1689 opt = *pktopt;
1695 ip6_getpcbopt(struct ip6_pktopts *pktopt, int optname, struct mbuf *m)
1707 if (pktopt && pktopt->ip6po_pktinfo)
1708 optdata = (void *)pktopt->ip6po_pktinfo;
1717 if (pktopt && pktopt->ip6po_tclass >= 0)
1718 optdata = (void *)&pktopt->ip6po_tclass;
1724 if (pktopt && pktopt->ip6po_hbh) {
1725 optdata = (void *)pktopt->ip6po_hbh;
1726 ip6e = (struct ip6_ext *)pktopt->ip6po_hbh;
1731 if (pktopt && pktopt->ip6po_rthdr) {
1732 optdata = (void *)pktopt->ip6po_rthdr;
1733 ip6e = (struct ip6_ext *)pktopt->ip6po_rthdr;
1738 if (pktopt && pktopt->ip6po_dest1) {
1739 optdata = (void *)pktopt->ip6po_dest1;
1740 ip6e = (struct ip6_ext *)pktopt->ip6po_dest1;
1745 if (pktopt && pktopt->ip6po_dest2) {
1746 optdata = (void *)pktopt->ip6po_dest2;
1747 ip6e = (struct ip6_ext *)pktopt->ip6po_dest2;
1752 if (pktopt)
1753 optdata = (void *)&pktopt->ip6po_minmtu;
1759 if (pktopt && ((pktopt->ip6po_flags) & IP6PO_DONTFRAG))
1785 ip6_clearpktopts(struct ip6_pktopts *pktopt, int optname)
1788 if (pktopt->ip6po_pktinfo)
1789 free(pktopt->ip6po_pktinfo, M_IP6OPT, 0);
1790 pktopt->ip6po_pktinfo = NULL;
1793 pktopt->ip6po_hlim = -1;
1795 pktopt->ip6po_tclass = -1;
1797 if (pktopt->ip6po_hbh)
1798 free(pktopt->ip6po_hbh, M_IP6OPT, 0);
1799 pktopt->ip6po_hbh = NULL;
1802 if (pktopt->ip6po_dest1)
1803 free(pktopt->ip6po_dest1, M_IP6OPT, 0);
1804 pktopt->ip6po_dest1 = NULL;
1807 if (pktopt->ip6po_rhinfo.ip6po_rhi_rthdr)
1808 free(pktopt->ip6po_rhinfo.ip6po_rhi_rthdr, M_IP6OPT, 0);
1809 pktopt->ip6po_rhinfo.ip6po_rhi_rthdr = NULL;
1810 if (pktopt->ip6po_route.ro_rt) {
1811 rtfree(pktopt->ip6po_route.ro_rt);
1812 pktopt->ip6po_route.ro_rt = NULL;
1816 if (pktopt->ip6po_dest2)
1817 free(pktopt->ip6po_dest2, M_IP6OPT, 0);
1818 pktopt->ip6po_dest2 = NULL;
1860 ip6_freepcbopts(struct ip6_pktopts *pktopt)
1862 if (pktopt == NULL)
1865 ip6_clearpktopts(pktopt, -1);
1867 free(pktopt, M_IP6OPT, 0);