Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 3 Jul 2014 20:16:48 +0000 (UTC)
From:      Luiz Otavio O Souza <loos@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r268235 - head/sys/mips/atheros
Message-ID:  <201407032016.s63KGmlu059017@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201407032016.s63KGmlu059017>