Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 7 Feb 2015 08:30:28 -0800
From:      Navdeep Parhar <np@FreeBSD.org>
To:        "Pokala, Ravi" <rpokala@panasas.com>
Cc:        "freebsd-hackers@freebsd.org" <freebsd-hackers@freebsd.org>, John-Mark Gurney <jmg@funkthat.com>
Subject:   Re: Changing the MTU on a lagg device
Message-ID:  <20150207163028.GA4965@ox>
In-Reply-To: <D0FADE7D.12C6BE%rpokala@panasas.com>
References:  <D0FABB8B.12C626%rpokala@panasas.com> <20150207051012.GH58410@funkthat.com> <D0FADE7D.12C6BE%rpokala@panasas.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Feb 07, 2015 at 05:26:36AM +0000, Pokala, Ravi wrote:
> > So, to do it, you'd need to try to change all the ports mtu, and if
> any of them fail, you need to revert all of them back to the original
> mtu...
> 
> Which is exactly what our code does. :-)

And if reverting it fails then you end up with the old MTU on some
interfaces and the new MTU on others.  Very unlikely, but possible.
if_lagg may have been written the way it is to avoid dealing with
failures to revert the MTU.

Regards,
Navdeep

> 
> Right now, I only have the change against our older base FreeBSD; I'll
> port it to -CURRENT and send out a patch when I have a few minutes
> sometime this weekend.
> 
> -Ravi
> 
> -----Original Message-----
> From: John-Mark Gurney <jmg@funkthat.com>
> Date: 2015-02-06, Friday at 21:10
> To: Ravi Pokala <rpokala@panasas.com>
> Cc: "freebsd-hackers@freebsd.org" <freebsd-hackers@freebsd.org>
> Subject: Re: Changing the MTU on a lagg device
> 
> >Ravi Pokala wrote this message on Sat, Feb 07, 2015 at 02:42 +0000:
> >> Hi folks,
> >> 
> >> Let's say you have lagg0, consisting of if0 and if1. If you want to
> >>change
> >> the MTU, you have to remove if0 and if1 from the lagg, change their
> >>MTUs,
> >> and add them back; that is:
> >> 
> >> 1) ifconfig lagg0 -laggport if0
> >> 2) ifconfig lagg0 -laggport if1
> >> 3) ifconfig if0 mtu 9000
> >> 4) ifconfig if1 mtu 9000
> >> 5) ifconfig lagg0 laggport if0
> >> 6) ifconfig lagg0 laggport if1
> >> 
> >> It would be nice if this could be done with a single command:
> >> 
> >> 1) ifconfig lagg0 mtu 9000
> >> 
> >> Panasas implemented that functionality for our older base FreeBSD, and
> >> we're looking to port it forward and push it upstream. However, it looks
> >> like someone thought about this case and explicitly decided not to do
> >>it;
> >> if_lagg.c has:
> >> 
> >> 	case SIOCSIFMTU:
> >> 		/* Do not allow the MTU to be changed once joined */
> >> 		error = EINVAL;
> >> 		break;
> >> 
> >> 
> >> Does anyone know why that is? Would anyone object to a patch that lets
> >>you
> >> change the MTU on the lagg device, and having the lagg driver change it
> >>on
> >> all the component interfaces for you?
> >
> >If could be trying to deal w/ the issue if you ask for 16000 but one
> >can do it, but the other can only handle 9000, how do you handle it?
> >
> >Just for fun, I just tried something similar.. lagg won't allow you
> >to add a port that has a different (smaller or bigger) MTU than the
> >first one added..
> >
> >So, to do it, you'd need to try to change all the ports mtu, and if
> >any of them fail, you need to revert all of them back to the original
> >mtu...
> >
> >-- 
> >  John-Mark Gurney				Voice: +1 415 225 5579
> >
> >     "All that I will do, has been done, All that I have, has not."
> 
> _______________________________________________
> freebsd-hackers@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org"



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