aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/netmap/netmap_freebsd.c
diff options
context:
space:
mode:
authorVincenzo Maffione <vmaffione@FreeBSD.org>2019-07-15 20:25:49 +0000
committerVincenzo Maffione <vmaffione@FreeBSD.org>2019-07-15 20:25:49 +0000
commita44270bd4b688d35e80b9106ffa6fc37c62f5301 (patch)
treeea631b3da1bf12d62ded81b10a344eb45a74deaf /sys/dev/netmap/netmap_freebsd.c
parentb507f690f7dc00df042d0406516649a9f5693c1f (diff)
Notes
Diffstat (limited to 'sys/dev/netmap/netmap_freebsd.c')
-rw-r--r--sys/dev/netmap/netmap_freebsd.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/dev/netmap/netmap_freebsd.c b/sys/dev/netmap/netmap_freebsd.c
index c6cd24461b6b..ea9f4252a562 100644
--- a/sys/dev/netmap/netmap_freebsd.c
+++ b/sys/dev/netmap/netmap_freebsd.c
@@ -443,6 +443,7 @@ nm_os_generic_xmit_frame(struct nm_os_gen_arg *a)
m->m_ext.ext_size = len;
#endif /* __FreeBSD_version >= 1100000 */
+ m->m_flags |= M_PKTHDR;
m->m_len = m->m_pkthdr.len = len;
/* mbuf refcnt is not contended, no need to use atomic
@@ -451,7 +452,9 @@ nm_os_generic_xmit_frame(struct nm_os_gen_arg *a)
M_HASHTYPE_SET(m, M_HASHTYPE_OPAQUE);
m->m_pkthdr.flowid = a->ring_nr;
m->m_pkthdr.rcvif = ifp; /* used for tx notification */
+ CURVNET_SET(ifp->if_vnet);
ret = NA(ifp)->if_transmit(ifp, m);
+ CURVNET_RESTORE();
return ret ? -1 : 0;
}