Date: Mon, 16 Apr 2007 14:41:48 -0700 From: John-Mark Gurney <gurney_j@resnet.uoregon.edu> To: Tom Judge <tom@tomjudge.com> Cc: freebsd-net@freebsd.org, FreeBSD Stable List <freebsd-stable@freebsd.org> Subject: Re: Possible mtu bug in vlan or bce Message-ID: <20070416214148.GX73385@funkthat.com> In-Reply-To: <4623B0A2.5020006@tomjudge.com> References: <4623B0A2.5020006@tomjudge.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Tom Judge wrote this message on Mon, Apr 16, 2007 at 18:21 +0100: > I have seen some strange behaviour today with VLAN interfaces on bce > interfaces. I am running 6.2 Release on i386. > > I have a bce interface setup on a gig-e network with an MTU of 8192 i > attach a vlan interface to this and chnage the vlan if mtu to 1500 as it > has 100Mbit devices on it. This does not seem to affect the MTU of the > bce interface, the VLAN mtu is reported as changed by if config but the > bce is not reported as changed. However I then start to get error > messages saying that the NFS server is not responding as it is sending > packets larger than 1500 bytes. > > > If I try to raise the mtu of the vlan interface (to 8192 which is the > value that ifconfig reports for bce0) at this stage ifconfig thows an > error saying that the value is incorrect. If I then 'raise' (it already > appears to be set to 8192 according to ifconfig) the mtu of bce0 to 8192 > and then set the vlan interface mtu to 8192 the nfs server starts to > work again. Make sure that you change the host route's mtu down to the new MTU... I changed the MTU behavior a while back so that you could have a mixed network and support both large and regular sized MTU's on the same nextwork... # ifconfig em0 em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 9000 options=18b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWCSUM,TSO4> inet6 fe80::207:e9ff:fe0d:ad06%em0 prefixlen 64 scopeid 0x2 inet 192.168.0.21 netmask 0xffffff00 broadcast 192.168.0.255 ether 00:07:e9:0d:ad:06 media: Ethernet autoselect (1000baseTX <full-duplex>) status: active # netstat -rnWfinet Routing tables Internet: Destination Gateway Flags Refs Use Mtu Netif Expire default 192.168.0.14 UGS 0 8024 1500 em0 [...] 192.168.0.18 00:c0:f0:42:23:87 UHLW 1 2 1500 em0 1193 # route change 192.168.0.18 -mtu 9000 change host 192.168.0.18 # netstat -rnWfinet Routing tables Internet: Destination Gateway Flags Refs Use Mtu Netif Expire [...] 192.168.0.18 00:c0:f0:42:23:87 UHLW 1 2 9000 em0 1172 # ifconfig em0 mtu 1500 # ifconfig em0 em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 options=18b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWCSUM,TSO4> inet6 fe80::207:e9ff:fe0d:ad06%em0 prefixlen 64 scopeid 0x2 inet 192.168.0.21 netmask 0xffffff00 broadcast 192.168.0.255 ether 00:07:e9:0d:ad:06 media: Ethernet autoselect (1000baseTX <full-duplex>) status: active # netstat -rnWfinet Routing tables Internet: Destination Gateway Flags Refs Use Mtu Netif Expire [..] 192.168.0.18 00:c0:f0:42:23:87 UHLW 1 2 9000 em0 1128 Hmmm... We may want to add code that detects when the host route's MTU is larger than the interface, and prevent that from happening. Though if an mtu daemon ever gets written, then that should take care of it. -- John-Mark Gurney Voice: +1 415 225 5579 "All that I will do, has been done, All that I have, has not."
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070416214148.GX73385>