Roy Marples | 25 May 2012 10:23
Favicon
Gravatar

Controlling IPv6 MTU

Hi List

Currently, userland can only set the interface MTU SIOCSIFMTU.
IPv6 has it's own idea of what the MTU should be according to Router 
Adverts,
but there is no way of setting this outside of the RA itself.

I'm currently debugging dhcpcd with it's own RA implementation of 
handling
addresses and routes and this is one wall I'm hitting as my local setup
requires a lower MTU than 1500 and forcing a lower MTU for IPv4 isn't 
desirable.

Attached is a patch which adds SIOCSIFMTU_IN6 which I have not tested a 
lot
as I only just got home to a workable IPv6 network from a nice holiday 
but
I'd like eyes on it to spot anything wrong as I've never had to extend 
a kernel
struct or add a new ioctl before.

Thanks

Roy
Attachment (ipv6-mtu.diff): application/octet-stream, 3772 bytes
Matt Thomas | 25 May 2012 14:03

Re: Controlling IPv6 MTU


On May 25, 2012, at 1:23 AM, Roy Marples wrote:

> Hi List
> 
> Currently, userland can only set the interface MTU SIOCSIFMTU.
> IPv6 has it's own idea of what the MTU should be according to Router Adverts,
> but there is no way of setting this outside of the RA itself.
> 
> I'm currently debugging dhcpcd with it's own RA implementation of handling
> addresses and routes and this is one wall I'm hitting as my local setup
> requires a lower MTU than 1500 and forcing a lower MTU for IPv4 isn't desirable.
> 
> Attached is a patch which adds SIOCSIFMTU_IN6 which I have not tested a lot
> as I only just got home to a workable IPv6 network from a nice holiday but
> I'd like eyes on it to spot anything wrong as I've never had to extend a kernel
> struct or add a new ioctl before.
> 
> Thanks
> 
> Roy<ipv6-mtu.diff>

I'd prefer to see the mtu be unsigned in the ioctl.
You should also make sure the mtu for ipv6 is not greater than the interface's mtu.

I'd personally add a inline to get do if_to_in6_extra(ifp) instead of having that ugly cast everywhere.
David Young | 30 May 2012 17:34
Picon
Favicon

Re: Controlling IPv6 MTU

On Fri, May 25, 2012 at 09:23:08AM +0100, Roy Marples wrote:
> Hi List
> 
> Currently, userland can only set the interface MTU SIOCSIFMTU.
> IPv6 has it's own idea of what the MTU should be according to Router
> Adverts,
> but there is no way of setting this outside of the RA itself.
> 
> I'm currently debugging dhcpcd with it's own RA implementation of
> handling
> addresses and routes and this is one wall I'm hitting as my local setup
> requires a lower MTU than 1500 and forcing a lower MTU for IPv4
> isn't desirable.
> 
> Attached is a patch which adds SIOCSIFMTU_IN6 which I have not
> tested a lot
> as I only just got home to a workable IPv6 network from a nice
> holiday but
> I'd like eyes on it to spot anything wrong as I've never had to
> extend a kernel
> struct or add a new ioctl before.

It sounds to me like you may intend to set an MTU on a per-interface
basis that is actually applicable (or not) on a per-destination basis.

Why don't you use the MTU in the RA to set the initial MTU on the routes
that dhcpcd installs?

Dave

(Continue reading)

Ignatios Souvatzis | 31 May 2012 06:59
Picon

Re: Controlling IPv6 MTU

On Wed, May 30, 2012 at 10:34:40AM -0500, David Young wrote:
> On Fri, May 25, 2012 at 09:23:08AM +0100, Roy Marples wrote:
...
> > I'm currently debugging dhcpcd with it's own RA implementation of
> > handling
> > addresses and routes and this is one wall I'm hitting as my local setup
> > requires a lower MTU than 1500 and forcing a lower MTU for IPv4
> > isn't desirable.
...
> It sounds to me like you may intend to set an MTU on a per-interface
> basis that is actually applicable (or not) on a per-destination basis.
> 
> Why don't you use the MTU in the RA to set the initial MTU on the routes
> that dhcpcd installs?

Seconded. If you want to have it v6-specific, the route is the place
to do it...

	-is
--

-- 
seal your e-mail: http://www.gnupg.org/

Roy Marples | 1 Jun 2012 11:52
Favicon
Gravatar

Re: Controlling IPv6 MTU

On 30/05/2012 16:34, David Young wrote:
> It sounds to me like you may intend to set an MTU on a per-interface
> basis that is actually applicable (or not) on a per-destination 
> basis.
>
> Why don't you use the MTU in the RA to set the initial MTU on the 
> routes
> that dhcpcd installs?

Now that's a good idea! I didn't even know you could set MTU on a per 
route basis.

Thanks

Roy


Gmane