diff options
author | Justin Pettit <jpettit@ovn.org> | 2016-07-19 23:01:29 -0700 |
---|---|---|
committer | Justin Pettit <jpettit@ovn.org> | 2016-07-19 23:49:44 -0700 |
commit | bf32e3e2c029da18b5d6fd9210cb0ea12a1d0383 (patch) | |
tree | 47ce72bb741f9353096bd4ac54df72ffb69274ca /lib | |
parent | fbd9b7676f59ac8e3e1a678fc07506cc919df8a5 (diff) | |
download | openvswitch-bf32e3e2c029da18b5d6fd9210cb0ea12a1d0383.tar.gz |
packets: Fix in6_is_lla() on systems without s6_addr32 defined.
Fixes: 6d1a4f16 ("packets: Add in6_is_lla() function.")
Reported-by: Ben Pfaff <blp@ovn.org>
Signed-off-by: Justin Pettit <jpettit@ovn.org>
Acked-by: Ben Pfaff <blp@ovn.org>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/packets.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/packets.h b/lib/packets.h index 8f11e2c05..5fd1e51d4 100644 --- a/lib/packets.h +++ b/lib/packets.h @@ -987,8 +987,9 @@ in6_is_lla(struct in6_addr *addr) #ifdef s6_addr32 return addr->s6_addr32[0] == htonl(0xfe800000) && !(addr->s6_addr32[1]); #else - return addr->s6_addr[0] == htons(0xfe80) && - !(addr->s6_addr[1] | addr->s6_addr[2] | addr->s6_addr[3]); + return addr->s6_addr[0] == 0xfe && addr->s6_addr[1] == 0x80 && + !(addr->s6_addr[2] | addr->s6_addr[3] | addr->s6_addr[4] | + addr->s6_addr[5] | addr->s6_addr[6] | addr->s6_addr[7]); #endif } |