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.