diff options
author | Klemens Nanni <kn@cvs.openbsd.org> | 2022-11-23 07:57:40 +0000 |
---|---|---|
committer | Klemens Nanni <kn@cvs.openbsd.org> | 2022-11-23 07:57:40 +0000 |
commit | f5efdf3df5a1ce8c51ae5b0dc075654d6f07abe1 (patch) | |
tree | eda5705a2251789e0e34d928027627e6ad43a9be /sys/netinet6 | |
parent | 3d300cb6921d6ba84460c9c193e9ddecbdbcae95 (diff) |
Recommit previous "Remove useless struct in6_ifextra"
This was the right diff after all, I just confused myself between trees.
OK bluhm
---
Remove useless struct in6_ifextra
in6_var.h r1.75 removed all other struct members.
Now It only contains a single struct nd_ifinfo pointer, so address family
specific data might as well be just that.
ND_IFINFO() is the only way nd6_nbr.c and nd6.c access this data, there is
no other usage of if_afdata[].
One allocation and unhelpful indirection less per interface.
All under _KERNEL.
OK claudio
Diffstat (limited to 'sys/netinet6')
-rw-r--r-- | sys/netinet6/in6.c | 14 | ||||
-rw-r--r-- | sys/netinet6/in6_var.h | 7 | ||||
-rw-r--r-- | sys/netinet6/nd6.h | 4 |
3 files changed, 6 insertions, 19 deletions
diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c index 3b811b7fbd2..0c45b3048bc 100644 --- a/sys/netinet6/in6.c +++ b/sys/netinet6/in6.c @@ -1,4 +1,4 @@ -/* $OpenBSD: in6.c,v 1.254 2022/11/22 19:28:29 kn Exp $ */ +/* $OpenBSD: in6.c,v 1.255 2022/11/23 07:57:39 kn Exp $ */ /* $KAME: in6.c,v 1.372 2004/06/14 08:14:21 itojun Exp $ */ /* @@ -1601,19 +1601,11 @@ in6if_do_dad(struct ifnet *ifp) void * in6_domifattach(struct ifnet *ifp) { - struct in6_ifextra *ext; - - ext = malloc(sizeof(*ext), M_IFADDR, M_WAITOK | M_ZERO); - - ext->nd_ifinfo = nd6_ifattach(ifp); - return ext; + return nd6_ifattach(ifp); } void in6_domifdetach(struct ifnet *ifp, void *aux) { - struct in6_ifextra *ext = (struct in6_ifextra *)aux; - - nd6_ifdetach(ext->nd_ifinfo); - free(ext, M_IFADDR, sizeof(*ext)); + nd6_ifdetach(aux); } diff --git a/sys/netinet6/in6_var.h b/sys/netinet6/in6_var.h index f076f7b3f55..1323eee209a 100644 --- a/sys/netinet6/in6_var.h +++ b/sys/netinet6/in6_var.h @@ -1,4 +1,4 @@ -/* $OpenBSD: in6_var.h,v 1.77 2022/11/22 19:28:29 kn Exp $ */ +/* $OpenBSD: in6_var.h,v 1.78 2022/11/23 07:57:39 kn Exp $ */ /* $KAME: in6_var.h,v 1.55 2001/02/16 12:49:45 itojun Exp $ */ /* @@ -87,11 +87,6 @@ struct in6_addrlifetime { }; #ifdef _KERNEL -struct nd_ifinfo; -struct in6_ifextra { - struct nd_ifinfo *nd_ifinfo; -}; - struct in6_ifaddr { struct ifaddr ia_ifa; /* protocol-independent info */ #define ia_ifp ia_ifa.ifa_ifp diff --git a/sys/netinet6/nd6.h b/sys/netinet6/nd6.h index 85b5cef85de..e43e9b721f1 100644 --- a/sys/netinet6/nd6.h +++ b/sys/netinet6/nd6.h @@ -1,4 +1,4 @@ -/* $OpenBSD: nd6.h,v 1.82 2022/11/22 19:28:29 kn Exp $ */ +/* $OpenBSD: nd6.h,v 1.83 2022/11/23 07:57:39 kn Exp $ */ /* $KAME: nd6.h,v 1.95 2002/06/08 11:31:06 itojun Exp $ */ /* @@ -94,7 +94,7 @@ struct in6_ndifreq { #include <sys/queue.h> #define ND_IFINFO(ifp) \ - (((struct in6_ifextra *)(ifp)->if_afdata[AF_INET6])->nd_ifinfo) + ((struct nd_ifinfo *)(ifp)->if_afdata[AF_INET6]) struct llinfo_nd6 { TAILQ_ENTRY(llinfo_nd6) ln_list; |