Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 Aug 2007 15:15:23 -0700
From:      "Jack Vogel" <jfvogel@gmail.com>
To:        "Andre Oppermann" <andre@freebsd.org>,  "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>
Subject:   Re: Odd driver behavior with IPV6
Message-ID:  <2a41acea0708021515v118a6087ge6ddbfe415cb3774@mail.gmail.com>
In-Reply-To: <2a41acea0708021444o7edc4ecetb08601fa18ad43ea@mail.gmail.com>
References:  <2a41acea0708021444o7edc4ecetb08601fa18ad43ea@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 8/2/07, Jack Vogel <jfvogel@gmail.com> wrote:
> I have some behavior I don't understand, perhaps someone can enlighten me.
>
> There is a difference in behavior between the em driver and ixgbe, but I can
> not figure out what it is, here is the behavior.
>
> With em driver, you can give the interface an ipv6 address, and set mtu
> to 9000, then when you 'route get -inet6 ipv6host' it will show the mtu
> to be 9000, this is what you would expect.
>
> OK, the problem is that with ixgbe, when it is built in OR when it is set
> to load immediately on boot it works correctly, BUT, if I just randomly
> load the driver after coming up, and then do the above steps, when you
> do the route get the MTU shows up only as 1500. This works correctly
> for IPv4 which is why this mystifies me, the driver doesnt have any
> code for IP versions.
>
> I hope this explanation is clear. Anyone have a clue?

I have some more data, in setup, after the call to ether_ifattach(), the
ixgbe driver explicitly does ifp->if_mtu = 9000 to change the default.
If I take this out then this all works, but I don't understand why this
should be, especially since if the code is static in the kernel it works.

Very strange :(

Jack

PS. BTW, the mxge does this as well, Drew you might want to check
if this happens for you.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?2a41acea0708021515v118a6087ge6ddbfe415cb3774>