diff options
| author | Donald Sharp <sharpd@cumulusnetworks.com> | 2015-06-12 07:59:12 -0700 |
|---|---|---|
| committer | Donald Sharp <sharpd@cumulusnetworks.com> | 2015-06-12 07:59:12 -0700 |
| commit | eb4b183040a2dba3c765ebd8a19c303fa48005ff (patch) | |
| tree | eb774abce0a36a262a0f8d7fca1e1d7a40ceeb86 /zebra/interface.c | |
| parent | 433e8b67331f356926e122428c21d1df7eba9ab6 (diff) | |
ipv6_ll_address_to_mac() fails to correctly convert fe80::a8aa:aaff:feaa:aaf8 to AA:AA:AA:AA:AA:F8
Diffstat (limited to 'zebra/interface.c')
| -rw-r--r-- | zebra/interface.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/zebra/interface.c b/zebra/interface.c index cd9c21a61c..3d3ced3ff8 100644 --- a/zebra/interface.c +++ b/zebra/interface.c @@ -533,8 +533,7 @@ if_delete_update (struct interface *ifp) void ipv6_ll_address_to_mac (struct in6_addr *address, u_char *mac) { - mac[0] = address->s6_addr[8]; - mac[0] &= ~0x02; + mac[0] = address->s6_addr[8] ^ 0x02; mac[1] = address->s6_addr[9]; mac[2] = address->s6_addr[10]; mac[3] = address->s6_addr[13]; |
