summaryrefslogtreecommitdiffstats
path: root/ldpd/ldp.h
diff options
context:
space:
mode:
authorRenato Westphal <renato@opensourcerouting.org>2017-03-03 21:50:22 +0100
committerRenato Westphal <renato@opensourcerouting.org>2017-03-03 21:50:22 +0100
commitd4afb81972d9666d730445fa81090d711fc0d54f (patch)
tree50eb9c287f7cb1ff7b2b0c87f03c58b29c3cb8a8 /ldpd/ldp.h
parentldpd: implement RFC 5561 (LDP Capabilities) (diff)
downloadfrr-d4afb81972d9666d730445fa81090d711fc0d54f.tar.xz
frr-d4afb81972d9666d730445fa81090d711fc0d54f.zip
ldpd: implement RFC 5918 (Typed Wildcard FEC)
Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
Diffstat (limited to 'ldpd/ldp.h')
-rw-r--r--ldpd/ldp.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/ldpd/ldp.h b/ldpd/ldp.h
index 75cc2cc15..2edf0475c 100644
--- a/ldpd/ldp.h
+++ b/ldpd/ldp.h
@@ -99,6 +99,8 @@
/* RFC 5561 */
#define TLV_TYPE_RETURNED_TLVS 0x8304
#define TLV_TYPE_DYNAMIC_CAP 0x8506
+/* RFC 5918 */
+#define TLV_TYPE_TWCARD_CAP 0x850B
/* RFC 7552 */
#define TLV_TYPE_DUALSTACK 0x8701
@@ -241,10 +243,14 @@ struct capability_tlv {
#define STATE_BIT 0x80
#define F_CAP_TLV_RCVD_DYNAMIC 0x01
+#define F_CAP_TLV_RCVD_TWCARD 0x02
#define CAP_TLV_DYNAMIC_SIZE 5
#define CAP_TLV_DYNAMIC_LEN 1
+#define CAP_TLV_TWCARD_SIZE 5
+#define CAP_TLV_TWCARD_LEN 1
+
#define AF_IPV4 0x1
#define AF_IPV6 0x2
@@ -261,9 +267,11 @@ struct address_list_tlv {
#define FEC_ELM_PREFIX_MIN_LEN 4
#define FEC_PWID_ELM_MIN_LEN 8
#define FEC_PWID_SIZE 4
+#define FEC_ELM_TWCARD_MIN_LEN 3
#define MAP_TYPE_WILDCARD 0x01
#define MAP_TYPE_PREFIX 0x02
+#define MAP_TYPE_TYPED_WCARD 0x05
#define MAP_TYPE_PWID 0x80
#define MAP_TYPE_GENPWID 0x81