Date: Wed, 21 Jun 2017 13:26:58 -0600 From: Sean Bruno <sbruno@freebsd.org> To: Renato Botelho <garga@FreeBSD.org>, freebsd-current@freebsd.org Subject: Re: Failover Mode Between Ethernet and Wireless Interfaces broken on >= 11 Message-ID: <cbdb0928-1355-0d1e-7f9c-69fb5edde09d@freebsd.org> In-Reply-To: <1c1e5c6f-35e5-ca14-2e23-5e33d86a5266@FreeBSD.org> References: <1c1e5c6f-35e5-ca14-2e23-5e33d86a5266@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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@freebsd.org> To: Renato Botelho <garga@FreeBSD.org>, freebsd-current@freebsd.org Message-ID: <cbdb0928-1355-0d1e-7f9c-69fb5edde09d@freebsd.org> Subject: Re: Failover Mode Between Ethernet and Wireless Interfaces broken on >= 11 References: <1c1e5c6f-35e5-ca14-2e23-5e33d86a5266@FreeBSD.org> In-Reply-To: <1c1e5c6f-35e5-ca14-2e23-5e33d86a5266@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#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? sean --fPqiMVoTg6hr4JdbiP1DBOlOppEsSDgjw-- --XuprkQPPD5E0VHaDeuAKBatHWCR01xNcA Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQGTBAEBCgB9FiEE6MTp+IA1BOHj9Lo0veT1/om1/LYFAllKyIRfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEU4 QzRFOUY4ODAzNTA0RTFFM0Y0QkEzNEJERTRGNUZFODlCNUZDQjYACgkQveT1/om1 /LYwHQf9EOO/pkg0cZB4kIcHJcBnsHNR7XsCIAbR4Wt6ZYW9WnYuORgxkZTWNqIf emfgzaxrDMruHBmmRMYbJPXjgtE1lu/P4vBhVLBHW7+K2MLieXcl1kITCxFpjvix DAyNAUtqbDqPCQGANFwKlq0fJbGMZixqj53JWjwmqclrMfZm3FwojaPjZETCNFSB x+2fodZeBcL5Lu6zGEi8DkzVuSXaeME5Cw8cbG5kSzV6yPg7tKWBIEIeAWy77Zjc qIfQuBRt6tPRAUoy6Slq7uJDR/6szCOKob6gweyBWaNMuwabMns/BmMPjSVzih5z jjo7z7gd/49YE80UTByjcH6Rdv3TLw== =t0bi -----END PGP SIGNATURE----- --XuprkQPPD5E0VHaDeuAKBatHWCR01xNcA--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?cbdb0928-1355-0d1e-7f9c-69fb5edde09d>