WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-users] RE: [Xen-devel] Ethernet MTU

To: "Molle Bestefich" <molle.bestefich@xxxxxxxxx>
Subject: [Xen-users] RE: [Xen-devel] Ethernet MTU
From: "James Harper" <james.harper@xxxxxxxxxxxxxxxx>
Date: Wed, 16 Aug 2006 21:20:15 +1000
Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, xen-users@xxxxxxxxxxxxxxxxxxx, Sylvain Coutant <sco@xxxxxxxxxx>
Delivery-date: Wed, 16 Aug 2006 04:21:05 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <62b0912f0608160336s34f6cc9cu739ede8c45a4ab9f@xxxxxxxxxxxxxx>
List-help: <mailto:xen-users-request@lists.xensource.com?subject=help>
List-id: Xen user discussion <xen-users.lists.xensource.com>
List-post: <mailto:xen-users@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-users>, <mailto:xen-users-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-users-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcbBIDUpE1TwcR29SJmJQlbw1/d7NgAA3BOA
Thread-topic: [Xen-devel] Ethernet MTU
> James Harper wrote:
> > 802.1q lives under IP.
> 
> That's right.
> 
> But the VLAN exposes a virtual interface.
> That virtual interface should automatically have an MTU size of the
> underlying interface minus 4 bytes (for the VLAN tag).
> 
> And then IP fragmentation, working on top of that virtual Ethernet
> interface, should perform fragmentation correctly.
> 
> Sorry if I was unclear.

That only works if all of the participating notes share the same
effective MTU. Consider this broken implementation:

A1----B1:B2-----C1:C2----D1

A and D are hosts
B and C are L2 routers (eg Linux bridges or Ethernet switches)

A1 is a normal Ethernet interface with an mtu of 1500
B1 is a normal Ethernet interface with an mtu of 1500
B2 is an 802.1q tagged interface with an mtu of 1496
C1 is an 802.1q tagged interface with an mtu of 1496
C2 is a normal Ethernet interface with an mtu of 1500
D1 is a normal Ethernet interface with an mtu of 1500

B1 is bridged to B2 vlan 4
C1 vlan 4 is bridged to C2

If A sends a packet with an MTU of 1500 out on the A1 interface, it is
received by B on B1, but then can't be forwarded via B2 because it won't
fit. There is no concept of fragmentation at the layer 2 level, that's a
layer 3 (IP) thing, so the packet is dropped (and presumably B would log
an error of some sort).

For 802.1q, Linux normally does some trickery where the MTU is bumped up
by 4 when a tag is involved, but as far as userspace is concerned the
MTU is always 1500 whether it's a native or tagged packet. I believe
there are still some hardware drivers (or maybe hardware
implementations) that are broken in this respect (1504 byte packets are
dropped), but otherwise it works well.

If you ever have to manually fiddle with MTU's then something is
horribly broken.

And yes, dammit, I've just realised too that i've been doing a reply-all
and crossposting. I guess I'm stuck with it now - I haven't subscribed
to xen-users. Sorry.

James

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users