[Differential] D20824: Fix netmap + vlan panics

Phabricator phabric-noreply at FreeBSD.org
Mon Jul 1 20:38:06 UTC 2019


This revision was automatically updated to reflect the committed changes.
Closed by commit rS349581: netmap: fix two panics with emulated adapter (authored by vmaffione).
Herald added a subscriber: imp.

CHANGED PRIOR TO COMMIT
  https://reviews.freebsd.org/D20824?vs=59258&id=59287#toc

REPOSITORY
  rS FreeBSD src repository

CHANGES SINCE LAST UPDATE
  https://reviews.freebsd.org/D20824?vs=59258&id=59287

CHANGES SINCE LAST ACTION
  https://reviews.freebsd.org/D20824/new/

REVISION DETAIL
  https://reviews.freebsd.org/D20824

AFFECTED FILES
  head/sys/dev/netmap/netmap_freebsd.c

CHANGE DETAILS

diff --git a/head/sys/dev/netmap/netmap_freebsd.c b/head/sys/dev/netmap/netmap_freebsd.c
--- a/head/sys/dev/netmap/netmap_freebsd.c
+++ b/head/sys/dev/netmap/netmap_freebsd.c
@@ -444,6 +444,7 @@
 	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
@@ -452,7 +453,9 @@
 	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;
 }
 



EMAIL PREFERENCES
  https://reviews.freebsd.org/settings/panel/emailpreferences/

To: aleksandr.fedorov_itglobal.com, vmaffione, jhb, bz
Cc: imp, olevole_olevole.ru, krion, evgueni.gavrilov_itglobal.com, freebsd-net-list
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D20824.59287.patch
Type: text/x-patch
Size: 658 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-net/attachments/20190701/c67d5056/attachment.bin>


More information about the freebsd-net mailing list