mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-12-31 22:58:54 +00:00
Use the proper field length for the peer's address (netlink_interface_addr)
This commit is contained in:
parent
ed6ef902df
commit
068fd77cff
@ -1,3 +1,8 @@
|
||||
2007-08-10 Emmanuel Vize <emmanuel.vize@6wind.com>
|
||||
|
||||
* rt_netlink.c: (netlink_interface_addr) Use the appropriate field length for the address
|
||||
(acknowledge Andy's comment).
|
||||
|
||||
2007-08-06 Denis Ovsienko
|
||||
|
||||
* zebra_rib.c: (general) Add extra debug logging for RIB and
|
||||
|
||||
@ -647,12 +647,8 @@ netlink_interface_addr (struct sockaddr_nl *snl, struct nlmsghdr *h)
|
||||
addr = (tb[IFA_LOCAL] ? RTA_DATA(tb[IFA_LOCAL]) : NULL);
|
||||
|
||||
/* is there a peer address? */
|
||||
/* N.B. I do not understand why the memcmp compares 4 bytes regardless
|
||||
of address family, but this is exactly how it appears in
|
||||
print_addrinfo. I wonder if it should be RTA_PAYLOAD(tb[IFA_ADDRESS])
|
||||
instead of 4... */
|
||||
if (tb[IFA_ADDRESS] &&
|
||||
memcmp(RTA_DATA(tb[IFA_ADDRESS]), RTA_DATA(tb[IFA_LOCAL]), 4))
|
||||
memcmp(RTA_DATA(tb[IFA_ADDRESS]), RTA_DATA(tb[IFA_LOCAL]), RTA_PAYLOAD(tb[IFA_ADDRESS])))
|
||||
{
|
||||
broad = RTA_DATA(tb[IFA_ADDRESS]);
|
||||
SET_FLAG (flags, ZEBRA_IFA_PEER);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user