zebra: Install bridge FDB entries with correct VTEP IP

Fixes: zebra: adapt and export rmac netlink functions

Signed-off-by: Vivek Venkatraman <vivek@cumulusnetworks.com>
This commit is contained in:
vivek 2020-05-15 14:01:59 -07:00 committed by Stephen Worley
parent 9c0a2e5a29
commit f0b014fdae

View 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 * netlink_update_neigh_ctx_internal() - Common helper api for evpn
* neighbor updates using dataplane context object. * 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 * @ctx: Dataplane context
* @cmd: Netlink command (RTM_NEWNEIGH or RTM_DELNEIGH) * @cmd: Netlink command (RTM_NEWNEIGH or RTM_DELNEIGH)
* @mac: A neighbor cache link layer address * @mac: A neighbor cache link layer address
* @ip: A neighbor cache n/w layer destination 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 * @replace_obj: Whether NEW request should replace existing object or
* add to the end of the list * add to the end of the list
* @family: AF_* netlink family * @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( total = netlink_update_neigh_ctx_internal(
ctx, cmd, dplane_ctx_mac_get_addr(ctx), ctx, cmd, dplane_ctx_mac_get_addr(ctx), &vtep_ip,
dplane_ctx_neigh_get_ipaddr(ctx), true, AF_BRIDGE, 0, true, AF_BRIDGE, 0, flags, state, data, datalen);
flags, state, data, datalen);
return total; return total;
} }