Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 10 Feb 2011 23:28:13 +0300
From:      Sergey Kandaurov <pluknet@gmail.com>
To:        Jay Borkenhagen <jayb@braeburn.org>
Cc:        freebsd-net@freebsd.org
Subject:   Re: cannot set mtu > 1500 on em0 optical Gig-E
Message-ID:  <AANLkTi=VfFbwWhEA-398fSzCQOFqbFg4enNqAt7zPeOP@mail.gmail.com>
In-Reply-To: <19796.13124.805432.342309@oz.mt.att.com>
References:  <19796.13124.805432.342309@oz.mt.att.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 10 February 2011 21:49, Jay Borkenhagen <jayb@braeburn.org> wrote:
> Hi,
>
> For quite a while now it appears that mtu on my gigabit ethernet fiber
> em0 cards cannot be configured higher than the default 1500 bytes.
>
> Here's what I get when I attempt to set it lower and higher on a brand
> new 8.2-RC3 box:
>
> =3D=3D=3D
> sandbox# uname -v
> FreeBSD 8.2-RC3 #0: Sun Jan 30 06:52:51 UTC 2011 =A0 =A0 root@almeida.cse=
.buffalo.edu:/usr/obj/usr/src/sys/GENERIC
> sandbox#
>
> sandbox# ifconfig em0
> em0: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 15=
00
> =A0 =A0 options=3D18<VLAN_MTU,VLAN_HWTAGGING>
> =A0 =A0 ether 00:d0:b7:7c:f8:01
> =A0 =A0 inet 10.1.2.3 netmask 0xffffff00 broadcast 10.1.2.255
> =A0 =A0 media: Ethernet autoselect
> =A0 =A0 status: no carrier
> sandbox# ifconfig em0 mtu 1499
> sandbox# ifconfig em0 | grep mtu
> em0: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 14=
99
> sandbox# ifconfig em0 mtu 1501
> ifconfig: ioctl (set mtu): Invalid argument
> sandbox# ifconfig em0 | grep mtu
> em0: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 14=
99
> sandbox# ifconfig em0 mtu 1500
> sandbox# ifconfig em0 | grep mtu
> em0: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 15=
00
> sandbox#
>
> sandbox# pciconf -lv | sed -n '/em0@/,/em1/p'
> em0@pci0:0:2:0: =A0class=3D0x020000 card=3D0x10008086 chip=3D0x10008086 r=
ev=3D0x03 hdr=3D0x00
> =A0 =A0vendor =A0 =A0 =3D 'Intel Corporation'
> =A0 =A0device =A0 =A0 =3D '82542 Gigabit Ethernet Controller'
> =A0 =A0class =A0 =A0 =A0=3D network
> =A0 =A0subclass =A0 =3D ethernet
> em1@pci0:0:4:0: =A0class=3D0x020000 card=3D0x10008086 chip=3D0x10008086 r=
ev=3D0x03 hdr=3D0x00
> sandbox#
>
> =3D=3D=3D
>
> However, back in the 6.2 days it allowed it:
>
> =3D=3D=3D
>
> [jayb@cactus ~]$ uname -v
> FreeBSD 6.2-PRERELEASE #0: Tue Dec 26 16:53:18 EST 2006 =A0 =A0 root@cact=
us.iplabs.att.com:/usr/obj/usr/src/sys/CACTUS
> [jayb@cactus ~]$
>
> [jayb@cactus ~]$ ifconfig em0
> em0: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
> =A0 =A0 options=3D8<VLAN_MTU>
> =A0 =A0 inet 10.0.1.152 netmask 0xfffffffc broadcast 10.0.1.155
> =A0 =A0 ether 00:90:27:e3:0a:67
> =A0 =A0 media: Ethernet autoselect
> =A0 =A0 status: no carrier
> [jayb@cactus ~]$
>
> [jayb@cactus ~]$ sudo ifconfig em0 mtu 9000
> [jayb@cactus ~]$ ifconfig em0 | grep mtu
> em0: flags=3D8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 9000
> [jayb@cactus ~]$
>
> [jayb@cactus ~]$ pciconf -lv | sed -n '/em0@/,/none0@/p'
> em0@pci0:2:0: =A0 =A0class=3D0x020000 card=3D0x10008086 chip=3D0x10008086=
 rev=3D0x02 hdr=3D0x00
> =A0 =A0vendor =A0 =3D 'Intel Corporation'
> =A0 =A0device =A0 =3D '82542 Gigabit Ethernet Controller'
> =A0 =A0class =A0 =A0=3D network
> =A0 =A0subclass =3D ethernet
> none0@pci0:4:0: class=3D0x088000 card=3D0x0767101e chip=3D0x9063101e rev=
=3D0x04 hdr=3D0x00
> [jayb@cactus ~]$
>

Hmm.. Did jumbo frames really work on these cards for you? Intel claims:
"Adapters based on the Intel=AE 82542 and 82573V/E controller do not
support Jumbo Frames. These correspond to the following product names:

    * Intel=AE PRO/1000 Gigabit Server Adapter
    * Intel=AE PRO/1000 PM Network Connection "

As seen from code, the behavior was changed to match the description ("keep
old 82542 from using jumbo frames") and merged to 6-STABLE before 6.3.

--=20
wbr,
pluknet



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTi=VfFbwWhEA-398fSzCQOFqbFg4enNqAt7zPeOP>