From: Jakub Urbańczyk Date: Thu, 16 Jul 2020 13:49:05 +0000 (+0200) Subject: zebra: fix installing an evpn neighbor update X-Git-Tag: base_7.5~182^2 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=45c80fbd085d743db0856ee1f8f7c8ef272f171b;p=matthieu%2Ffrr.git zebra: fix installing an evpn neighbor update Fix the function encoding evpn neighbor. The size of the buffer for the netlink message wasn't correct and because of that we thought that the message didn't fit entirely in the buffer and thus we were not sending the update to the kernel. Signed-off-by: Jakub Urbańczyk --- diff --git a/zebra/rt_netlink.c b/zebra/rt_netlink.c index 40a7eeba8e..07e8e37b82 100644 --- a/zebra/rt_netlink.c +++ b/zebra/rt_netlink.c @@ -2686,7 +2686,7 @@ static ssize_t netlink_neigh_update_msg_encode( if (datalen < sizeof(*req)) return 0; - memset(req, 0, datalen); + memset(req, 0, sizeof(*req)); op = dplane_ctx_get_op(ctx); @@ -2703,7 +2703,7 @@ static ssize_t netlink_neigh_update_msg_encode( req->ndm.ndm_flags = flags; req->ndm.ndm_ifindex = dplane_ctx_get_ifindex(ctx); - if (!nl_attr_put(&req->n, sizeof(req), NDA_PROTOCOL, &protocol, + if (!nl_attr_put(&req->n, datalen, NDA_PROTOCOL, &protocol, sizeof(protocol))) return 0;