From: tigranmartirosyan Date: Mon, 3 Jul 2017 19:05:58 +0000 (+0400) Subject: fix #752 problem: ARP is not updating if mac address changed on remote side X-Git-Tag: frr-4.0-dev~502^2~4 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=a08b8b0f17cebb5aa2e66163c5098be43d243afe;p=mirror%2Ffrr.git fix #752 problem: ARP is not updating if mac address changed on remote side --- diff --git a/zebra/interface.c b/zebra/interface.c index b8426c6890..e355c88316 100644 --- a/zebra/interface.c +++ b/zebra/interface.c @@ -782,7 +782,20 @@ if_nbr_ipv6ll_to_ipv4ll_neigh_update (struct interface *ifp, inet_pton (AF_INET, buf, &ipv4_ll); ipv6_ll_address_to_mac(address, (u_char *)mac); + + /* + * Remove existed arp record for the interface, + * because netlink protocol does not support message for update. + * supported commands RTM_NEWNEIGH or RTM_DELNEIGH + */ + + kernel_neigh_update (0, ifp->ifindex, ipv4_ll.s_addr, mac, 6); + + /* + * Add arp record + */ kernel_neigh_update (add, ifp->ifindex, ipv4_ll.s_addr, mac, 6); + zvrf->neigh_updates++; }