summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorglebius <glebius@FreeBSD.org>2014-08-31 11:33:19 +0000
committerglebius <glebius@FreeBSD.org>2014-08-31 11:33:19 +0000
commit3b5ede57e944576392dbde8e9ef322c6bd7f146a (patch)
treea7ddb255332dbe01675eb6a68e20bed87f5e25bb /sys
parentd5f758fb1506ec33434d0f540d320ef0a61d4c57 (diff)
downloadFreeBSD-src-3b5ede57e944576392dbde8e9ef322c6bd7f146a.zip
FreeBSD-src-3b5ede57e944576392dbde8e9ef322c6bd7f146a.tar.gz
Provide pointer from struct ifnet to struct netmap_adapter,
instead of abusing spare field.
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/netmap/netmap_kern.h2
-rw-r--r--sys/net/if_var.h2
2 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/netmap/netmap_kern.h b/sys/dev/netmap/netmap_kern.h
index 26df8ed..e97d5b5 100644
--- a/sys/dev/netmap/netmap_kern.h
+++ b/sys/dev/netmap/netmap_kern.h
@@ -1187,7 +1187,7 @@ extern int netmap_generic_rings;
* WNA is used to write it.
*/
#ifndef WNA
-#define WNA(_ifp) (_ifp)->if_pspare[0]
+#define WNA(_ifp) (_ifp)->if_netmap
#endif
#define NA(_ifp) ((struct netmap_adapter *)WNA(_ifp))
diff --git a/sys/net/if_var.h b/sys/net/if_var.h
index 82f33b3..8844892 100644
--- a/sys/net/if_var.h
+++ b/sys/net/if_var.h
@@ -67,6 +67,7 @@ struct ifvlantrunk;
struct route; /* if_output */
struct vnet;
struct ifmedia;
+struct netmap_adapter;
#ifdef _KERNEL
#include <sys/mbuf.h> /* ifqueue only? */
@@ -202,6 +203,7 @@ struct ifnet {
void *if_pf_kif; /* pf glue */
struct carp_if *if_carp; /* carp interface structure */
struct label *if_label; /* interface MAC label */
+ struct netmap_adapter *if_netmap; /* netmap(4) softc */
/* Various procedures of the layer2 encapsulation and drivers. */
int (*if_output) /* output routine (enqueue) */
OpenPOWER on IntegriCloud