On 06/21/17 11:48, Renato Botelho wrote: > I've already sent it to net, but I suspect this is the appropriate place > to discuss this subject. > > 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 on > lagg(4) manpage) is outdated, based on FreeBSD 10.x. > > 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. > > My next attempt was to do the other way round and make lagg to use wlan0 > mac address instead of em0's. but even doing this my wireless interface > ended up not working. > > After further investigation I noted that a simple command: > > # ifconfig wlan0 ether $wlan0_current_mac_address > > is enough to break it on 12-CURRENT. > > 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. Is > it the expected behavior? > > Just as a PoC I've applied the following patch to if_setlladdr(): > > Index: sys/net/if.c > =================================================================== > --- 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) == 0) { > + ifa_free(ifa); > + return (0); > + } > switch (ifp->if_type) { > case IFT_ETHER: > case IFT_FDDI: > > And configured it to use wlan0 mac address on rc.conf: > > ifconfig_em0="ether 60:67:20:c5:2d:48 up" > wlans_iwn0="wlan0" > ifconfig_wlan0="WPA" > cloned_interfaces="lagg0" > ifconfig_lagg0="up laggproto failover laggport em0 laggport wlan0 DHCP" > > and it's now working as expected. > > 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. > > Thoughts? > > [1] > https://www.freebsd.org/doc/handbook/network-aggregation.html#networking-lagg-wired-and-wireless > 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
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:12 UTC