diff options
author | Tom Jones <thj@FreeBSD.org> | 2023-01-13 15:26:55 +0000 |
---|---|---|
committer | Tom Jones <thj@FreeBSD.org> | 2023-01-13 15:31:58 +0000 |
commit | 110ce09c90dc452fa5669874535e1f3984e166f9 (patch) | |
tree | 557a8a6552a90c46bbf1b6f6c15aeab4d58ceeb8 /sys/dev/netmap/netmap_freebsd.c | |
parent | 8bce8d28abe658f661962a7c9d355c1e232e8371 (diff) | |
download | src-110ce09c90dc452fa5669874535e1f3984e166f9.tar.gz src-110ce09c90dc452fa5669874535e1f3984e166f9.zip |
if_lagg: Allow lagg interfaces to be used with netmap
Reviewed by: zlei
Sponsored by: Zenarmor
Sponsored by: OPNsense
Sponsored by: Klara, Inc.
Differential Revision: https://reviews.freebsd.org/D37436
Diffstat (limited to 'sys/dev/netmap/netmap_freebsd.c')
-rw-r--r-- | sys/dev/netmap/netmap_freebsd.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/dev/netmap/netmap_freebsd.c b/sys/dev/netmap/netmap_freebsd.c index 7a3f2ceacdbb..0f7372e959bb 100644 --- a/sys/dev/netmap/netmap_freebsd.c +++ b/sys/dev/netmap/netmap_freebsd.c @@ -351,6 +351,8 @@ nm_os_catch_rx(struct netmap_generic_adapter *gna, int intercept) ret = EBUSY; /* already set */ goto out; } + + ifp->if_capenable |= IFCAP_NETMAP; gna->save_if_input = ifp->if_input; ifp->if_input = freebsd_generic_rx_handler; } else { @@ -360,6 +362,8 @@ nm_os_catch_rx(struct netmap_generic_adapter *gna, int intercept) ret = EINVAL; /* not saved */ goto out; } + + ifp->if_capenable &= ~IFCAP_NETMAP; ifp->if_input = gna->save_if_input; gna->save_if_input = NULL; } |