summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDenis Ovsienko <infrastation@yandex.ru>2011-09-22 12:48:14 +0400
committerDenis Ovsienko <infrastation@yandex.ru>2011-09-25 18:18:25 +0400
commit3eca6f099d5a3aac0b66dfbf98fd8be84ea426b7 (patch)
tree40bf575b7d85ba8869f022a07e3313708a8093bf /lib
parentc347846e4f917339fd7b4c122a343f93ef621c40 (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
Diffstat (limited to 'lib')
-rw-r--r--lib/prefix.h1
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