summaryrefslogtreecommitdiff
path: root/sys/netinet6
diff options
context:
space:
mode:
authorKlemens Nanni <kn@cvs.openbsd.org>2022-11-23 07:57:40 +0000
committerKlemens Nanni <kn@cvs.openbsd.org>2022-11-23 07:57:40 +0000
commitf5efdf3df5a1ce8c51ae5b0dc075654d6f07abe1 (patch)
treeeda5705a2251789e0e34d928027627e6ad43a9be /sys/netinet6
parent3d300cb6921d6ba84460c9c193e9ddecbdbcae95 (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.c14
-rw-r--r--sys/netinet6/in6_var.h7
-rw-r--r--sys/netinet6/nd6.h4
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;