> If the if-pre-up.d script is changed to use "ifup" I think the following
> configuration in /etc/network/interfaces would make sense :

Well, first I seem to remember that using ifup used to cause problems, but
besides that, it would mean that you have to define all the interfaces
explicity and as inet manual and that doesn't make sense at all to me.

Besides, I've seen people doing things like the one you propose (adding
configs for the bridge ports) and that was causing problems, not solving
anything.

> The proposed configuration is opened to suggestions as maybe that would
> make more sense to support a mtu directive in the bridge configuration
> stanza (which would tentatively set the mtu of all devices part of the
> bridge).

Well. you've opened some interesting discussion here, let's see if we can
get this to a point we all agree on.

There is a long standing bug we have and that still exists because I don't
know how we should deal with all these MTU things...  the bug is #292088
http://bugs.debian.org/292088 and is asking for more doc on MTU stuff, I'm
CCing the old bug to let possible followers find about this discussion but
I'd rather have all discussion on the new bug as the old one was calling for
doc and doc will result of the implementation we need to agree on here,
regarding the kernel problems commented on #292088 they seem to be fixed on
current kernels, at least for the tests I run on my systems. I won't be
merging both bugs as the old is about doc and this one is about implementing
new functionality.

I believe that what is coherent here is that both the bridge interface and
the underlaying interfaces (bridge ports) have the same MTU.

So one could write something that checks to see if there is a MTU set for
the bridge interface and sets this for all the bridge ports, no problem here
as it is the user who is requesting this and he should know what MTU the
interfaces support (we are not doing this yet, but I think we should add
this for the next version if we agree on this).

There is only one thing I'm not sure about this case, and it is what to do
if you have a 1500 port and a 9000 port, should we check if the MTU of the
port is higher than the one we are setting for the bridge and in that case
leave the port with the big MTU?

I believe that in most cases this will be because the MTU of the port that
has a big MTU is set to the default one, not because the user had set it, so
I think that setting it to the bridge one is the wanted thing on this case,
and the user could still set a higher MTU for this port if he wants with a
post-up ifconfig command (Note: document this as an example if we agree to
set this).

Thus I'd say, set the MTU of all the ports to the bridge one on this case
(user specifies the MTU for the bridge).

Ok, the next thing to solve would be the case where the user doesn't specify
a MTU, we could be tempted to do several things here:

We could explore all the ports and choose the bigger MTU among them to set
it to all the ports, but this could force higher than supported MTUs on some
interfaces, thus this option seems like trouble.

We could set them all (including the bridge) to the smaller supported MTU. I
see no problems with this one.

If I had to go with one of these two I'd choose the later, I believe it is
the safest option.  Please note that we would have the option of setting a
big MTU on the bridge and this would propagate down to all the ports, so if
you want a bigger MTU that would be the way to go.

However there is another option, if you are not specifying a MTU it could be
because you want the kernel to decide here, and I've been doing some tests
on this, the bridge will dynamically adapt to set its MTU to be equal to
that of the smaller of it's ports, so if you have a giga with a 9000 MTU and
attach a typical DSL interface with a 1492 MTU the bridge is going to set to
a MTU of 1492, farthermore, it won't allow manually setting an MTU higher
than what it's ports allow, so it is playing safe here, of course.  But if
you only have giga interfaces that are all set to 9000 the resulting bridge
will go with a MTU of 9000.

So... what should we do if the user doesn't specify a MTU?
I'd say... don't do a thing, the less you mess with things the less trouble
you'll get (less interactions with user scripts, bridge kernel driver and
NICs kernel drivers).

I still haven't taken a look at how to implement this, I want to agree on
the good solution and then take a look at the implementation, but I don't
think there should be any problem in implementing what I have exposed as my
sugestions on how to do this, which is to set the MTU of the ports to that
of the bridge when the user specifies this value.

One last thing for the future... if we implement the hotplug addition of
interfaces like we want per #626152, still waiting on #568479 of ifupdown,
we'll net to try to set the MTU of the hotpluged interfaces we try to
attach, to what?  the current bridge MTU?  or the MTU specified on the
interfaces file?  :-????

Regards...
-- 
Manty/BestiaTester -> http://manty.net



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to