in6_present = true; } struct domain inet6domain = { .dom_family = AF_INET6, .dom_name = "internet6", .dom_init = in6_init, .dom_externalize = NULL, .dom_dispose = NULL, .dom_protosw = (const struct protosw *)inet6sw, .dom_protoswNPROTOSW = (const struct protosw *)&inet6sw[sizeof(inet6sw)/sizeof(inet6sw[0])], .dom_rtattach = rt_inithead, .dom_rtoffset = offsetof(struct sockaddr_in6, sin6_addr) << 3, .dom_maxrtkey = sizeof(struct ip_pack6), .dom_ifattach = in6_domifattach, .dom_ifdetach = in6_domifdetach, .dom_ifqueues = { &ip6intrq, NULL }, .dom_link = { NULL }, .dom_mowner = MOWNER_INIT("",""), .dom_sa_cmpofs = offsetof(struct sockaddr_in6, sin6_addr), .dom_sa_cmplen = sizeof(struct in6_addr), .dom_sa_any = (const struct sockaddr *)&in6_any, .dom_sockaddr_externalize = sockaddr_in6_externalize, .dom_rtcache = LIST_HEAD_INITIALIZER(inet6domain.dom_rtcache) }; #if 0 int sockaddr_in6_cmp(const struct sockaddr *lsa, const struct sockaddr *rsa) { uint_fast8_t len; const uint_fast8_t addrofs = offsetof(struct sockaddr_in6, sin6_addr), addrend = addrofs + sizeof(struct in6_addr); int rc;
#define AARPT_KILLI 3 const u_char atmulticastaddr[6] = { 0x09, 0x00, 0x07, 0xff, 0xff, 0xff }; const u_char at_org_code[3] = { 0x08, 0x00, 0x07 }; const u_char aarp_org_code[3] = { 0x00, 0x00, 0x00 }; struct callout aarptimer_callout; #ifdef MBUFTRACE struct mowner aarp_mowner = MOWNER_INIT("atalk", "arp"); #endif /*ARGSUSED*/ static void aarptimer(void *ignored) { struct aarptab *aat; int i, s; mutex_enter(softnet_lock); callout_reset(&aarptimer_callout, AARPT_AGE * hz, aarptimer, NULL); aat = aarptab; for (i = 0; i < AARPTAB_SIZE; i++, aat++) { int killtime = (aat->aat_flags & ATF_COM) ? AARPT_KILLC : AARPT_KILLI;
#include <sys/socketvar.h> #include <sys/sysctl.h> #include <net/route.h> #include <netmpls/mpls.h> #include <netmpls/mpls_var.h> struct ifqueue mplsintrq; static int mpls_usrreq(struct socket *, int, struct mbuf *, struct mbuf *, struct mbuf *, struct lwp *); static void sysctl_net_mpls_setup(struct sysctllog **); #ifdef MBUFTRACE struct mowner mpls_owner = MOWNER_INIT("MPLS", ""); #endif int mpls_defttl = 255; int mpls_mapttl_inet = 1; int mpls_mapttl_inet6 = 1; int mpls_icmp_respond = 0; int mpls_forwarding = 0; int mpls_accept = 0; int mpls_mapprec_inet = 1; int mpls_mapclass_inet6 = 1; int mpls_rfc4182 = 1; void mpls_init(void) { #ifdef MBUFTRACE
* to us. */ int ip_nhops = 0; static struct ip_srcrt { struct in_addr dst; /* final destination */ char nop; /* one NOP to align */ char srcopt[IPOPT_OFFSET + 1]; /* OPTVAL, OLEN and OFFSET */ struct in_addr route[MAX_IPOPTLEN/sizeof(struct in_addr)]; } ip_srcrt; static int ip_drainwanted; static void save_rte(u_char *, struct in_addr); #ifdef MBUFTRACE struct mowner ip_rx_mowner = MOWNER_INIT("internet", "rx"); struct mowner ip_tx_mowner = MOWNER_INIT("internet", "tx"); #endif static void sysctl_net_inet_ip_setup(struct sysctllog **); /* * IP initialization: fill in IP protocol switch table. * All protocols not implemented in kernel go to raw IP protocol handler. */ void ip_init(void) { const struct protosw *pr; int i;