Do not treat router MAC changes as failures, except after roam.
The original intent of the code that detects MAC address changes
was to ensure that when mcast_resolicit is enabled, a NUD
failure would be reported when roaming to a network with a
different default gateway.
If the code did not look for MAC address changes, then falling
back to broadcast ARP (or multicast ND) after roam would never
detect if the device had moved to a different network: the reply
to the broadcast/multicast resolicit would just update the ND
cache entry and no NUD failure would occur.
Unfortunately the code does not only run after roam, but runs on
all state changes to NUD_REACHABLE. This causes it to disconnect
any time the default gateway changes MAC address.
Fix: 315076572
Test: new test coverage
Change-Id: I59564c2e93875ce742f390093fd082b41ec1340d
5 files changed