On Wed, Nov 23, 2022 at 11:09:31AM +0000, Klemens Nanni wrote: > Feedback? Objection? OK?
OK bluhm@ > diff --git a/regress/sys/net/rtable/util.c b/regress/sys/net/rtable/util.c > index f2c770f936f..abf9b318d7c 100644 > --- a/regress/sys/net/rtable/util.c > +++ b/regress/sys/net/rtable/util.c > @@ -80,8 +80,6 @@ struct domain inetdomain = { > .dom_protoswNPROTOSW = NULL, > .dom_rtoffset = offsetof(struct sockaddr_in, sin_addr), > .dom_maxplen = 32, > - .dom_ifattach = NULL, > - .dom_ifdetach = NULL, > }; > > struct domain inet6domain = { > @@ -94,8 +92,6 @@ struct domain inet6domain = { > .dom_protoswNPROTOSW = NULL, > .dom_rtoffset = offsetof(struct sockaddr_in6, sin6_addr), > .dom_maxplen = 128, > - .dom_ifattach = NULL, > - .dom_ifdetach = NULL, > }; > > struct domain *domains[] = { &inetdomain, &inet6domain, NULL }; > diff --git a/sys/net/if.c b/sys/net/if.c > index 869e848817c..3cb8bbf9176 100644 > --- a/sys/net/if.c > +++ b/sys/net/if.c > @@ -133,7 +133,6 @@ > #include <sys/device.h> > > void if_attachsetup(struct ifnet *); > -void if_attachdomain(struct ifnet *); > void if_attach_common(struct ifnet *); > void if_remove(struct ifnet *); > int if_createrdomain(int, struct ifnet *); > @@ -460,7 +459,6 @@ if_attachsetup(struct ifnet *ifp) > > if_addgroup(ifp, IFG_ALL); > > - if_attachdomain(ifp); > #ifdef INET6 > nd6_ifattach(ifp); > #endif > @@ -537,25 +535,6 @@ if_free_sadl(struct ifnet *ifp) > ifp->if_sadl = NULL; > } > > -void > -if_attachdomain(struct ifnet *ifp) > -{ > - const struct domain *dp; > - int i, s; > - > - s = splnet(); > - > - /* address family dependent data region */ > - bzero(ifp->if_afdata, sizeof(ifp->if_afdata)); > - for (i = 0; (dp = domains[i]) != NULL; i++) { > - if (dp->dom_ifattach) > - ifp->if_afdata[dp->dom_family] = > - (*dp->dom_ifattach)(ifp); > - } > - > - splx(s); > -} > - > void > if_attachhead(struct ifnet *ifp) > { > @@ -1058,7 +1037,6 @@ if_detach(struct ifnet *ifp) > { > struct ifaddr *ifa; > struct ifg_list *ifg; > - const struct domain *dp; > int i, s; > > /* Undo pseudo-driver changes. */ > @@ -1126,11 +1104,6 @@ if_detach(struct ifnet *ifp) > KASSERT(TAILQ_EMPTY(&ifp->if_linkstatehooks)); > KASSERT(TAILQ_EMPTY(&ifp->if_detachhooks)); > > - for (i = 0; (dp = domains[i]) != NULL; i++) { > - if (dp->dom_ifdetach && ifp->if_afdata[dp->dom_family]) > - (*dp->dom_ifdetach)(ifp, > - ifp->if_afdata[dp->dom_family]); > - } > #ifdef INET6 > nd6_ifdetach(ifp); > #endif > diff --git a/sys/net/if_var.h b/sys/net/if_var.h > index 3bf07ed3071..686b2b5a1b1 100644 > --- a/sys/net/if_var.h > +++ b/sys/net/if_var.h > @@ -186,7 +186,6 @@ struct ifnet { /* and the > entries */ > > struct sockaddr_dl *if_sadl; /* [N] pointer to our sockaddr_dl */ > > - void *if_afdata[AF_MAX]; > struct nd_ifinfo *if_nd; /* [I] IPv6 Neighour Discovery info */ > }; > #define if_mtu if_data.ifi_mtu > diff --git a/sys/sys/domain.h b/sys/sys/domain.h > index d8758fb8b9c..12a4746f1ee 100644 > --- a/sys/sys/domain.h > +++ b/sys/sys/domain.h > @@ -60,9 +60,6 @@ struct domain { > unsigned int dom_sasize; /* size of sockaddr structure */ > unsigned int dom_rtoffset; /* offset of the key, in bytes */ > unsigned int dom_maxplen; /* maximum prefix length, in bits */ > - void *(*dom_ifattach)(struct ifnet *); > - void (*dom_ifdetach)(struct ifnet *, void *); > - /* af-dependent data on ifnet */ > }; > > #ifdef _KERNEL