msh0 and haldaemon.

Dan Williams dcbw at redhat.com
Wed Aug 27 07:02:56 EDT 2008


On Tue, 2008-08-26 at 22:11 -0700, Javier Cardona wrote:
> Dan,
> 
> On Tue, Aug 26, 2008 at 8:41 PM, Dan Williams <dcbw at redhat.com> wrote:
> > On Tue, 2008-08-26 at 19:45 -0700, Javier Cardona wrote:
> >> On Thu, Aug 21, 2008 at 6:39 PM, Dan Williams <dcbw at redhat.com> wrote:
> >> > On Thu, 2008-08-21 at 19:22 -0400, Chris Ball wrote:
> >> >> Dear libertas-dev people,
> >> >>
> >> >> We're seeing an OLPC bug with the following characteristics:
> >> >>
> >> >> When haldaemon and NM start up, they notice and manage eth0 and msh0.
> >> >> When the 8388 device goes away (due to purposefully powering it down
> >> >> and then up again) haldaemon only notices eth0 returning, and so NM
> >> >> claims msh0 doesn't exist at that point and won't manage it.
> >>
> >> In case anyone from libertas-dev started looking into this, this seems
> >> to be related to improper udev configuration and not the driver.  For
> >> details, see http://dev.laptop.org/ticket/7690#comment:19 .
> >
> > I noticed this too on current kernels, sometimes you'd get msh0_rename,
> > and sometimes ethX and mshX would get mixed up.  This is precisely
> > because both the mesh and eth interfaces use the same MAC address and
> > the same capabilities, and thus udev doesn't really have any way of
> > doing persistent device names correctly here because there's no good way
> > to teach it that ethX and mshX aren't the same network interface.
> 
> I believe that this is only an issue with mac80211 drivers, where
> interfaces can be given any name, but not with libertas.
> In libertas it is the driver that creates the interface and the mesh
> device is always called msh%.  The kernel will notify udev of the
> creation of either a msh% or an eth% interface, and that name can be
> used to unambiguously identify each device.
> In fact, when I removed the 10-olpc-netif rule,
> 75-persistent-net-generator.rules generated two different, valid rules
> based on the interface name given by the kernel:
> 
> # USB device 0x1286:0x2001 (usb)
> SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
> ATTR{address}=="00:17:c4:14:68:7a", ATTR{type}=="1", KERNEL=="eth*",
> NAME="eth0"
> 
> # USB device 0x1286:0x2001 (usb)
> SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
> ATTR{address}=="00:17:c4:14:68:7a", ATTR{type}=="1", KERNEL=="msh*",
> NAME="msh0"
> 
> Are you suggesting that the 10-olpc-netif rule was introduced to deal
> with the mac80211 ambiguity for virtual devices with the same MAC?

I have absolutely no idea when/why it was introduced :)  What package
does it belong to (rpm -qf /etc/udev/rules.d/10-olpc-netif.rules) and
does the changelog (rpm -q --changelog <package>) give any info about
when it was added and by whom?

Dan




More information about the libertas-dev mailing list