Default QinQ behaviour for MTU and REORDER flag

"Jean-GrĂ©goire Foulon" <[email protected]> Tue, 9 Oct 2007 09:25:45 +0100
Newsgroups gmane.linux.drivers.vlan
Message-ID <[email protected]>
--===============0427270886==
Content-Type: multipart/alternative; 
	boundary="----=_Part_3873_25648138.1191918345140"

------=_Part_3873_25648138.1191918345140
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hello,

I am currently working with multiple Vlan stacking and the behaviour of QinQ
in the kernel is not always consistent. On some hardware I have to use set
the reorder flag to 0 for the QinQ to be working, while on other, it just
work whether this flag is 1 or 0.
I tested with the Fedora core 7 (kernel 2.6.21) on the following machines
Dell PC with Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02)
Compaq laptop with Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+
(rev 10)

On the Dell, I don't need to set the reorder flag to 0 but on the Compaq I
need to do it.
Another even stranger thing is that on kernel 2.6.9 I need to set the
reorder flag to 0 if I want to stack 3 VLAN but I don't need to do it when I
stack only 2 VLAN...
What is the default behaviour ? Is there a bug for the support of one of
those network adapter ?
is QinQ officially supported by the Linux kernel ? Someone posted a patch
for 2.6.11, is it needed for 2.6.21 ?

The other problem I have is the fragmentation and MTU behaviour: the MTU of
a vlan device is the same as the MTU of its ethernet device (1500 in my
case), I think it should be less to reflect the size use by the vlan header,
no ?


When I use the command  "ping -t 2000 <ip address>":
-on a network interface : it works
-on a level 1 vlan: it works
-on a level 2 or higher vlan: it fails

When I use the command  "ping -t 1468 <ip address>":
-on a network interface : it works
-on a level 1 vlan: it works
-on a level 2 vlan: it works
-on a level 3 vlan: it fails

When I use the command  "ping -t 1464 <ip address>":
-on a network interface : it works
-on a level 1 vlan: it works
-on a level 2 vlan: it works
-on a level 3 vlan: it works

A level 3 vlan has a maximum packet size 4 bytes smaller than a level 2
vlan.
When I change the MTU manually the "ping -t 2000 <ip address>" command works
on level 3 vlan, so it should make sense to reduce it when a VLAN device is
created, no ?
I am trying to modify a 2.4 kernel to do so, and it seems to work, may I by
breaking something else ?

Regards,

Jean-Gregoire

------=_Part_3873_25648138.1191918345140
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

Hello,<br><br>I am currently working with multiple Vlan stacking and
the behaviour of QinQ in the kernel is not always consistent. On some
hardware I have to use set the reorder flag to 0 for the QinQ to be
working, while on other, it just work whether this flag is 1 or 0.
<br>I tested with the Fedora core 7 (kernel 2.6.21) on the following machines<br>Dell PC with Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02)<br>Compaq laptop with Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
<br><br>On the Dell, I don&#39;t need to set the reorder flag to 0 but on the Compaq I need to do it.<br>Another even stranger thing is that on kernel 2.6.9 I need to set the
reorder flag to 0 if I want to stack 3 VLAN but I don&#39;t need to do it when I
stack only 2 VLAN...<br>What is the default behaviour ? Is there a bug for the support of one of those network adapter ?<br>is QinQ officially supported by the Linux kernel ? Someone posted a patch for 2.6.11, is it needed for 
2.6.21 ?<br><br>The
other problem I have is the fragmentation and MTU behaviour: the MTU of
a vlan device is the same as the MTU of its ethernet device (1500 in my
case), I think it should be less to reflect the size use by the vlan
header, no ?
<br><br><br>When I use the command&nbsp; &quot;ping -t 2000 &lt;ip address&gt;&quot;:<br>-on a network interface : it works<br>-on a level 1 vlan: it works<br>-on a level 2 or higher vlan: it fails<br><br>When I use the command&nbsp; &quot;ping -t 1468 &lt;ip address&gt;&quot;:
<br>
-on a network interface : it works<br>
-on a level 1 vlan: it works<br>
-on a level 2 vlan: it works<br>
-on a level 3 vlan: it fails<br>
<br>When I use the command&nbsp; &quot;ping -t 1464 &lt;ip address&gt;&quot;:<br>

-on a network interface : it works<br>

-on a level 1 vlan: it works<br>

-on a level 2 vlan: it works<br>

-on a level 3 vlan: it works<br><br>A level 3 vlan has a maximum packet size 4 bytes smaller than a level 2 vlan.<br>When
I change the MTU manually the &quot;ping -t 2000 &lt;ip address&gt;&quot; command
works on level 3 vlan, so it should make sense to reduce it when a VLAN
device is created, no ?
<br>I am trying to modify a 2.4 kernel to do so, and it seems to work, may I by breaking something else ? <br><br>Regards,<br><br>Jean-Gregoire

------=_Part_3873_25648138.1191918345140--

--===============0427270886==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Vlan mailing list
[email protected]
http://www.candelatech.com/mailman/listinfo/vlan

--===============0427270886==--