Failover Mode Between Ethernet and Wireless Interfaces broken on >= 11
M&S - Krasznai András
Krasznai.Andras at mands.hu
Thu Jun 22 06:39:27 UTC 2017
Good morning!
With em0 and iwn I have the same working configuration for failover between wireless interface and ethernet adapter. I run FreeBSD-12.
There was some change introduced with FreeBSD-11 in the syntax how to specify the mac address for the wireless interface (old - FreeBSD-10 working form: ifconfig_iwn0="ether <new mac address>", the new is
create_args_wlan0="wlanaddr <new mac address>". The "new" mac address is identical with the ethernet adapter's mac address.
best regards
András Krasznai
-----Eredeti üzenet-----
Feladó: owner-freebsd-current at freebsd.org [mailto:owner-freebsd-current at freebsd.org] Meghatalmazó Cy Schubert
Küldve: 2017. június 22. 7:40
Címzett: Sean Bruno
Másolatot kap: Renato Botelho; freebsd-current at freebsd.org
Tárgy: Re: Failover Mode Between Ethernet and Wireless Interfaces broken on >= 11
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@, 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)
> > @@ -3519,6 +3519,10 @@
> > 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#network
> >in=
> 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.
_______________________________________________
freebsd-current at freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscribe at freebsd.org"
More information about the freebsd-current
mailing list