Re: Link MTU option ignored in IPv6 router advertisements
- From: Lubomir Rintel <lrintel redhat com>
- To: Glen Turner <gdt gdt id au>
- Cc: networkmanager-list gnome org
- Subject: Re: Link MTU option ignored in IPv6 router advertisements
- Date: Wed, 29 Oct 2014 12:30:17 +0100
Hello Glen,
On Tue, 2014-10-28 at 11:26 +1030, Glen Turner wrote:
On 04/10/2014, at 2:31 AM, Dan Williams wrote:
On Fri, 2014-10-03 at 11:36 -0400, Chuck Anderson wrote:
I'm not sure if this is a kernel thing or a NetworkManager thing. Did
something change in how IPv6 router advertisements are handled by
NetworkManager in Fedora 20?
I think it's a NetworkManager thing. We'll fix it.
Hi Dan,
I've had a lot of trouble in IPv4 with DHCP in hotel systems setting the MTU to less than the 576 minimum
(and sometimes less than the size of the IPv4 header). I believe that this was a misguided effort to
implement fair queuing.
It might be worthwhile anticipating such issues for IPv6, roughly:
/* IPv6 minimum link MTU specified on page 24 of RFC 2460. */
#define IPV6_MINIMUM_MTU 1280
unsigned int enforce_link_mtu_bounds(unsigned int offered_link_mtu,
char *interface_name)
{
if (offered_link_mtu < IPV6_MINIMUM_MTU) {
syslog("Offered link MTU for %s is %u, increased to " IPV6_MINIMUM_MTU "\n",
(interface_name) ? interface_name : "an interface",
offered_link_mtu);
return IPV6_MINIMUM_MTU;
}
return offered_link_mtu;
}
We now ignore bad IPv6 MTUs:
src/rdisc/nm-lndp-rdisc.c:
627 if (mtu >= 1280) {
628 rdisc->mtu = mtu;
629 changed |= NM_RDISC_CONFIG_MTU;
630 } else {
631 /* All sorts of bad things would happen if we accepted this.
632 * Kernel would set it, but would flush out all IPv6 addresses away
633 * from the link, even the link-local, and we wouldn't be able to
634 * listen for further RAs that could fix the MTU. */
635 warning ("(%s): MTU too small for IPv6 ignored: %d", rdisc->ifname, mtu);
636 }
-glen
Lubo
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]