]> git.puffer.fish Git - matthieu/frr.git/commitdiff
zebra: fix installing an evpn neighbor update
authorJakub Urbańczyk <xthaid@gmail.com>
Thu, 16 Jul 2020 13:49:05 +0000 (15:49 +0200)
committerJakub Urbańczyk <xthaid@gmail.com>
Thu, 16 Jul 2020 13:49:05 +0000 (15:49 +0200)
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 <xthaid@gmail.com>
zebra/rt_netlink.c

index 40a7eeba8e616a6e823a22c670da672a4e5ebf8b..07e8e37b8232beeb39cfe9861c5ce676649a7a44 100644 (file)
@@ -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;