Client STA traffic stops when roaming between AP interfaces.
When there is a neighbor change, cmm receives RTM_DELNEIGH/RTM_NEWNEIGH
events triggering an update to the routing table. But because there is
no MAC change, the event is discarded without a routing table update.
This fix eliminates the MAC address check, since there can still be
a port change.
Fixes b/18904094
Change-Id: I6553a66f6b97765e98a85aadff248d07e091e954
diff --git a/cmm/src/neighbor_resolution.c b/cmm/src/neighbor_resolution.c
index d6d57b8..230ea2e 100755
--- a/cmm/src/neighbor_resolution.c
+++ b/cmm/src/neighbor_resolution.c
@@ -797,23 +797,10 @@
{
cmm_print(DEBUG_INFO, "%s: Update ARP/Neighbor entry\n", __func__);
- if (!(old_state & NUD_VALID))
- {
- memcpy(neigh->macAddr, macAddr, macAddrLen);
-
- __cmmNeighborResolved(ctx->fci_handle, neigh);
- }
- else
- {
- if (memcmp(neigh->macAddr, macAddr, macAddrLen))
- {
- memcpy(neigh->macAddr, macAddr, macAddrLen);
-
- list_del(&neigh->list_by_mac);
-
- __cmmNeighborResolved(ctx->fci_handle, neigh);
- }
- }
+ memcpy(neigh->macAddr, macAddr, macAddrLen);
+ if (old_state & NUD_VALID)
+ list_del(&neigh->list_by_mac);
+ __cmmNeighborResolved(ctx->fci_handle, neigh);
}
else
{