]> git.proxmox.com Git - mirror_frr.git/commitdiff
zebra: Install bridge FDB entries with correct VTEP IP
authorvivek <vivek@cumulusnetworks.com>
Fri, 15 May 2020 21:01:59 +0000 (14:01 -0700)
committervivek <vivek@cumulusnetworks.com>
Fri, 15 May 2020 21:01:59 +0000 (14:01 -0700)
Fixes: zebra: adapt and export rmac netlink functions
Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
zebra/rt_netlink.c

index 5d0026ccbbe1cfe64df572b6dcaabd5c6621ae77..89d9f4c9732f4f33840adfb4b243f443decddd8f 100644 (file)
@@ -2552,10 +2552,15 @@ int kernel_neigh_update(int add, int ifindex, uint32_t addr, char *lla,
 /**
  * netlink_update_neigh_ctx_internal() - Common helper api for evpn
  * neighbor updates using dataplane context object.
+ * Here, a neighbor refers to a bridge forwarding database entry for
+ * either unicast forwarding or head-end replication or an IP neighbor
+ * entry.
  * @ctx:               Dataplane context
  * @cmd:               Netlink command (RTM_NEWNEIGH or RTM_DELNEIGH)
  * @mac:               A neighbor cache link layer address
  * @ip:                A neighbor cache n/w layer destination address
+ *                     In the case of bridge FDB, this represnts the remote
+ *                     VTEP IP.
  * @replace_obj:       Whether NEW request should replace existing object or
  *                     add to the end of the list
  * @family:            AF_* netlink family
@@ -3013,9 +3018,8 @@ netlink_macfdb_update_ctx(struct zebra_dplane_ctx *ctx, uint8_t *data,
        }
 
        total = netlink_update_neigh_ctx_internal(
-                       ctx, cmd, dplane_ctx_mac_get_addr(ctx),
-                       dplane_ctx_neigh_get_ipaddr(ctx), true, AF_BRIDGE, 0,
-                       flags, state, data, datalen);
+                       ctx, cmd, dplane_ctx_mac_get_addr(ctx), &vtep_ip,
+                       true, AF_BRIDGE, 0, flags, state, data, datalen);
 
        return total;
 }