svn commit: r268235 - head/sys/mips/atheros

Luiz Otavio O Souza loos at FreeBSD.org
Thu Jul 3 20:16:49 UTC 2014


Author: loos
Date: Thu Jul  3 20:16:48 2014
New Revision: 268235
URL: http://svnweb.freebsd.org/changeset/base/268235

Log:
  Properly advertise that if_arge can handle long frames (if_arge is set to
  handle packets up to 1536 bytes)
  
  This fixes the need to frag that could happen when using vlans on top of
  if_arge (which is a common case for the use the switch ports as individual
  NICs).
  
  Previously to this commit any vlan setup with if_arge as parent would have
  the MTU of the parent interface reduced by the size of dot1q header
  (4 bytes).
  
  Tested on TP-Link 1043ND (where the WAN port is just a switch port setup to
  tag packets in a different VLAN than the LAN ports).
  
  Reported and tested by:	Harm Weites (harm at weites.com)

Modified:
  head/sys/mips/atheros/if_arge.c

Modified: head/sys/mips/atheros/if_arge.c
==============================================================================
--- head/sys/mips/atheros/if_arge.c	Thu Jul  3 20:10:30 2014	(r268234)
+++ head/sys/mips/atheros/if_arge.c	Thu Jul  3 20:16:48 2014	(r268235)
@@ -703,6 +703,9 @@ arge_attach(device_t dev)
 	ifp->if_snd.ifq_maxlen = ifqmaxlen;
 	IFQ_SET_READY(&ifp->if_snd);
 
+	/* Tell the upper layer(s) we support long frames. */
+	ifp->if_capabilities |= IFCAP_VLAN_MTU;
+
 	ifp->if_capenable = ifp->if_capabilities;
 #ifdef DEVICE_POLLING
 	ifp->if_capabilities |= IFCAP_POLLING;


More information about the svn-src-head mailing list