On 13/06/2017 17:07, Mason wrote: > I did note something that seems important. > > If I toggle the link state in software, then connectivity breaks. > > If I unplug the ethernet cable, and replug, connectivity remains. > > The difference is that plugging/unplugging doesn't call the > .ndo_stop callback. But 'ip link set eth0 down' does call it. > > Should the .ndo_stop callback be symmetric to the .ndo_open callback? > In other words, should .ndo_open(); .ndo_stop(); be a NOP?
I changed the ndo_open callback to a wrapper that calls: nb8800_open(dev); nb8800_stop(dev); nb8800_open(dev); With this change, connectivity is broken from the start. Valid ARP requests are correctly *sent* but the corresponding ARP replies are not received. I'm hoping this limits the scope of what needs to be investigated. Regards.