git: c255d1a401c7 - main - IfAPI: Add if_llsoftc member accessors for TOEDEV
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 31 Jan 2023 20:03:17 UTC
The branch main has been updated by jhibbits:
URL: https://cgit.FreeBSD.org/src/commit/?id=c255d1a401c7ed736ba6bb7894deda584356bfaf
commit c255d1a401c7ed736ba6bb7894deda584356bfaf
Author: Justin Hibbits <jhibbits@FreeBSD.org>
AuthorDate: 2023-01-23 15:11:02 +0000
Commit: Justin Hibbits <jhibbits@FreeBSD.org>
CommitDate: 2023-01-31 20:02:16 +0000
IfAPI: Add if_llsoftc member accessors for TOEDEV
Summary:
Keep TOEDEV() macro for backwards compatibility, and add a SETTOEDEV()
macro to complement with the new accessors.
Sponsored by: Juniper Networks, Inc.
Reviewed by: glebius
Differential Revision: https://reviews.freebsd.org/D38199
---
sys/dev/cxgbe/tom/t4_tom.c | 2 +-
sys/net/if.c | 12 ++++++++++++
sys/net/if_var.h | 5 ++++-
sys/net/if_vlan.c | 2 +-
4 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/sys/dev/cxgbe/tom/t4_tom.c b/sys/dev/cxgbe/tom/t4_tom.c
index 869373515a3a..aae78d99abef 100644
--- a/sys/dev/cxgbe/tom/t4_tom.c
+++ b/sys/dev/cxgbe/tom/t4_tom.c
@@ -1901,7 +1901,7 @@ t4_tom_activate(struct adapter *sc)
for_each_port(sc, i) {
for_each_vi(sc->port[i], v, vi) {
- TOEDEV(vi->ifp) = &td->tod;
+ SETTOEDEV(vi->ifp, &td->tod);
}
}
diff --git a/sys/net/if.c b/sys/net/if.c
index a6cf6d050875..1a42b562190d 100644
--- a/sys/net/if.c
+++ b/sys/net/if.c
@@ -4827,6 +4827,18 @@ if_gettype(if_t ifp)
return (ifp->if_type);
}
+void *
+if_getllsoftc(if_t ifp)
+{
+ return (ifp->if_llsoftc);
+}
+
+void
+if_setllsoftc(if_t ifp, void *llsoftc)
+{
+ ifp->if_llsoftc = llsoftc;
+};
+
#ifdef DDB
static void
if_show_ifnet(struct ifnet *ifp)
diff --git a/sys/net/if_var.h b/sys/net/if_var.h
index e9e6086bfa89..3b293cdff26f 100644
--- a/sys/net/if_var.h
+++ b/sys/net/if_var.h
@@ -412,7 +412,8 @@ EVENTHANDLER_DECLARE(group_change_event, group_change_event_handler_t);
#define IF_MINMTU 72
#define IF_MAXMTU 65535
-#define TOEDEV(ifp) ((ifp)->if_llsoftc)
+#define TOEDEV(ifp) if_getllsoftc(ifp)
+#define SETTOEDEV(ifp, sc) if_setllsoftc((ifp), (sc))
/*
* The ifaddr structure contains information about one address
@@ -597,6 +598,8 @@ int if_togglehwassist(if_t ifp, int toggle_bits);
int if_setsoftc(if_t ifp, void *softc);
void *if_getsoftc(if_t ifp);
int if_setflags(if_t ifp, int flags);
+void if_setllsoftc(if_t ifp, void *softc);
+void *if_getllsoftc(if_t ifp);
int if_gethwaddr(const if_t ifp, struct ifreq *);
int if_setmtu(if_t ifp, int mtu);
int if_getmtu(const if_t ifp);
diff --git a/sys/net/if_vlan.c b/sys/net/if_vlan.c
index d908d97b6e6d..d8be44b105f1 100644
--- a/sys/net/if_vlan.c
+++ b/sys/net/if_vlan.c
@@ -1922,7 +1922,7 @@ vlan_capabilities(struct ifvlan *ifv)
if (p->if_capabilities & IFCAP_VLAN_TOE)
cap |= p->if_capabilities & IFCAP_TOE;
if (p->if_capenable & IFCAP_VLAN_TOE) {
- TOEDEV(ifp) = TOEDEV(p);
+ SETTOEDEV(ifp, TOEDEV(p));
ena |= mena & IFCAP_TOE;
}