Re: Failover Mode Between Ethernet and Wireless Interfaces broken on >= 11

From: Cy Schubert <Cy.Schubert_at_komquats.com>
Date: Wed, 21 Jun 2017 22:40:04 -0700
In message <cbdb0928-1355-0d1e-7f9c-69fb5edde09d_at_freebsd.org>, Sean Bruno 
write
s:
> This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
> --XuprkQPPD5E0VHaDeuAKBatHWCR01xNcA
> Content-Type: multipart/mixed; boundary="fPqiMVoTg6hr4JdbiP1DBOlOppEsSDgjw";
>  protected-headers="v1"
> From: Sean Bruno <sbruno_at_freebsd.org>
> To: Renato Botelho <garga_at_FreeBSD.org>, freebsd-current_at_freebsd.org
> Message-ID: <cbdb0928-1355-0d1e-7f9c-69fb5edde09d_at_freebsd.org>
> Subject: Re: Failover Mode Between Ethernet and Wireless Interfaces broken on
>  >= 11
> References: <1c1e5c6f-35e5-ca14-2e23-5e33d86a5266_at_FreeBSD.org>
> In-Reply-To: <1c1e5c6f-35e5-ca14-2e23-5e33d86a5266_at_FreeBSD.org>
> 
> --fPqiMVoTg6hr4JdbiP1DBOlOppEsSDgjw
> Content-Type: text/plain; charset=utf-8
> Content-Language: en-US
> Content-Transfer-Encoding: quoted-printable
> 
> 
> 
> On 06/21/17 11:48, Renato Botelho wrote:
> > I've already sent it to net, but I suspect this is the appropriate plac=
> e
> > to discuss this subject.
> >=20
> > Last night I was configuring a new laptop and decided to give it [1] a
> > try. I figured out this section of handbook (similar instructions are o=
> n
> > lagg(4) manpage) is outdated, based on FreeBSD 10.x.
> >=20
> > Then I modified a bit the commands and tried to get it configured on
> > 12-CURRENT, without success. I spoke with adrian_at_, who told me this
> > setup doesn't work on FreeBSD > 10, because on newer versions Wireless
> > interfaces mac address cannot be changed.
> >=20
> > My next attempt was to do the other way round and make lagg to use wlan=
> 0
> > mac address instead of em0's. but even doing this my wireless interface=
> 
> > ended up not working.
> >=20
> > After further investigation I noted that a simple command:
> >=20
> > # ifconfig wlan0 ether $wlan0_current_mac_address
> >=20
> > is enough to break it on 12-CURRENT.
> >=20
> > I've checked if_setlladdr() source code and noted it always replace the=
> 
> > mac address, even if the same is already configured on the interface. I=
> s
> > it the expected behavior?
> >=20
> > Just as a PoC I've applied the following patch to if_setlladdr():
> >=20
> > Index: sys/net/if.c
> > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> > --- sys/net/if.c	(revision 320097)
> > +++ sys/net/if.c	(working copy)
> > _at__at_ -3519,6 +3519,10 _at__at_
> >  		ifa_free(ifa);
> >  		return (EINVAL);
> >  	}
> > +	if (memcmp(lladdr, LLADDR(sdl), len) =3D=3D 0) {
> > +		ifa_free(ifa);
> > +		return (0);
> > +	}
> >  	switch (ifp->if_type) {
> >  	case IFT_ETHER:
> >  	case IFT_FDDI:
> >=20
> > And configured it to use wlan0 mac address on rc.conf:
> >=20
> > ifconfig_em0=3D"ether 60:67:20:c5:2d:48 up"
> > wlans_iwn0=3D"wlan0"
> > ifconfig_wlan0=3D"WPA"
> > cloned_interfaces=3D"lagg0"
> > ifconfig_lagg0=3D"up laggproto failover laggport em0 laggport wlan0 DHC=
> P"
> >=20
> > and it's now working as expected.
> >=20
> > Other than that, I believe if wlan interfaces cannot have their mac
> > address changed, ifconfig should return an error when user attempts to
> > do it, and if_setlladdr() should do the same.
> >=20
> > Thoughts?
> >=20
> > [1]
> > https://www.freebsd.org/doc/handbook/network-aggregation.html#networkin=
> g-lagg-wired-and-wireless
> >=20
> 
> 
> Maybe this is a "iflib" problem.  em(4) and igb(4) are pretty different
> now in head.  Can you shove it into bugzilla with a test case
> (copy/paste your email) and tag me on it?

As a late comer to this thread, I don't have any issues either. I too have 
a bge interface and iwn set up as follows:

ifconfig_lagg0="laggproto failover laggport bge0 laggport wlan0 DHCP"


-- 
Cheers,
Cy Schubert <Cy.Schubert_at_cschubert.com>
FreeBSD UNIX:  <cy_at_FreeBSD.org>   Web:  http://www.FreeBSD.org

	The need of the many outweighs the greed of the few.
Received on Thu Jun 22 2017 - 03:41:23 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:12 UTC