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;
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to