]> git.proxmox.com Git - mirror_frr.git/commitdiff
zebra: fixes NDA_DST in netlink_neigh_update() function
authorPhilippe Guibert <philippe.guibert@6wind.com>
Thu, 25 Feb 2021 14:06:23 +0000 (15:06 +0100)
committerPhilippe Guibert <philippe.guibert@6wind.com>
Fri, 9 Apr 2021 16:29:58 +0000 (18:29 +0200)
When netlink_neigh_update() is called, the link registration was
failing, due to bad request length.
Also, the query was failing if NDA_DST was an ipv6 address.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
zebra/rt_netlink.c

index be9c91367ec591160e1e2764dfd5e79aebfb0552..90d809475a03e9ac505616160e3cc54cc2ccb9db 100644 (file)
@@ -1570,7 +1570,8 @@ static int netlink_neigh_update(int cmd, int ifindex, void *addr, char *lla,
        nl_attr_put(&req.n, sizeof(req), NDA_PROTOCOL, &protocol,
                    sizeof(protocol));
        req.ndm.ndm_type = RTN_UNICAST;
-       nl_attr_put32(&req.n, family2addrsize(family), NDA_DST, addr);
+       nl_attr_put(&req.n, sizeof(req), NDA_DST, addr,
+                   family2addrsize(family));
        if (lla)
                nl_attr_put(&req.n, sizeof(req), NDA_LLADDR, lla, llalen);