svn commit: r323513 - head/sys/net

Matt Joras mjoras at FreeBSD.org
Wed Sep 13 00:25:10 UTC 2017


Author: mjoras
Date: Wed Sep 13 00:25:09 2017
New Revision: 323513
URL: https://svnweb.freebsd.org/changeset/base/323513

Log:
  Allow vlan interfaces to rx through netmap(4).
  
  Normally after receiving a packet, a vlan(4) interface sends the packet
  back through its parent interface's rx routine so that it can be
  processed as an untagged frame. It does this by using the parent's
  ifp->if_input. This is incompatible with netmap(4), which replaces the
  vlan(4) interface's if_input with a netmap(4) hook. Fix this by using
  the vlan(4) interface's ifp instead of the parent's directly.
  
  Reported by:	Harry Schmalzbauer <freebsd at omnilan.de>
  Reviewed by:	rstone
  Approved by:	rstone (mentor)
  MFC after:	3 days
  Sponsored by:	Dell EMC Isilon
  Differential Revision:	https://reviews.freebsd.org/D12191

Modified:
  head/sys/net/if_vlan.c

Modified: head/sys/net/if_vlan.c
==============================================================================
--- head/sys/net/if_vlan.c	Tue Sep 12 23:58:38 2017	(r323512)
+++ head/sys/net/if_vlan.c	Wed Sep 13 00:25:09 2017	(r323513)
@@ -1384,7 +1384,7 @@ vlan_input(struct ifnet *ifp, struct mbuf *m)
 	VLAN_RUNLOCK();
 
 	/* Pass it back through the parent's input routine. */
-	(*ifp->if_input)(ifv->ifv_ifp, m);
+	(*ifv->ifv_ifp->if_input)(ifv->ifv_ifp, m);
 }
 
 static void


More information about the svn-src-all mailing list