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'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'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 "ping -t 2000 <ip address>":<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 "ping -t 1468 <ip address>": <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 "ping -t 1464 <ip address>":<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 "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 ? <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==--