diff options
author | Denis Ovsienko <infrastation@yandex.ru> | 2011-09-22 12:48:14 +0400 |
---|---|---|
committer | Denis Ovsienko <infrastation@yandex.ru> | 2011-09-30 01:24:35 +0400 |
commit | bc3443ebf032b5fcc9e0ccb94641e4e899cd17d8 (patch) | |
tree | 06d6c8b912958c989ba59e45349e17a3f8d973ac /lib | |
parent | 0a28130d35bbba47faf47bf9451ba0eb195fcbb7 (diff) |
bgpd: improve NEXT_HOP attribute checks (BZ#680)
* lib/prefix.h
* IPV4_CLASS_DE(): new helper macro
* bgp_attr.c
* bgp_attr_nexthop(): add check for "partial" bit, refresh flag error
reporting, explain meaning of RFC4271 section 6.3 and implement it
Conflicts:
bgpd/bgp_attr.c
Diffstat (limited to 'lib')
-rw-r--r-- | lib/prefix.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/prefix.h b/lib/prefix.h index 5f1ff05c..1cb91b2a 100644 --- a/lib/prefix.h +++ b/lib/prefix.h @@ -112,6 +112,7 @@ struct prefix_rd #define IPV4_NET0(a) ((((u_int32_t) (a)) & 0xff000000) == 0x00000000) #define IPV4_NET127(a) ((((u_int32_t) (a)) & 0xff000000) == 0x7f000000) #define IPV4_LINKLOCAL(a) ((((u_int32_t) (a)) & 0xffff0000) == 0xa9fe0000) +#define IPV4_CLASS_DE(a) ((u_int32_t) (a) >= 0xe0000000) /* Max bit/byte length of IPv6 address. */ #define IPV6_MAX_BYTELEN 16 |