Skip site navigation (1)Skip section navigation (2)
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>