diff options
Diffstat (limited to 'nest')
-rw-r--r-- | nest/attrs.h | 18 | ||||
-rw-r--r-- | nest/route.h | 1 |
2 files changed, 19 insertions, 0 deletions
diff --git a/nest/attrs.h b/nest/attrs.h index 102f378a..8f76695d 100644 --- a/nest/attrs.h +++ b/nest/attrs.h @@ -199,4 +199,22 @@ struct adata *lc_set_sort(struct linpool *pool, struct adata *src); void ec_set_sort_x(struct adata *set); /* Sort in place */ +/* Tunnel Encapsulation TLV types */ +#define TLV_WIREGUARD 0xffff +#define TLV_REMOTE_ENDPOINT 0x06 +#define TLV_UDP_DEST_PORT 0x08 + +/* Tunnel Encapsulation TLV */ +struct tlv { + union { + const char *peer; + struct { + u32 asn; + ip_addr ip; + } remote_endpoint; + u16 udp_dest_port; + u32 color; + } u; +}; + #endif diff --git a/nest/route.h b/nest/route.h index 8dfbb376..5b7085bf 100644 --- a/nest/route.h +++ b/nest/route.h @@ -504,6 +504,7 @@ const char *ea_custom_name(uint ea); #define EAF_TYPE_INT_SET 0x0a /* Set of u32's (e.g., a community list) */ #define EAF_TYPE_EC_SET 0x0e /* Set of pairs of u32's - ext. community list */ #define EAF_TYPE_LC_SET 0x12 /* Set of triplets of u32's - large community list */ +#define EAF_TYPE_TUNNEL_ENCAP 0x13 /* Tunnel Encapsulation (encoding per draft-ietf-idr-tunnel-encaps-10) */ #define EAF_TYPE_UNDEF 0x1f /* `force undefined' entry */ #define EAF_EMBEDDED 0x01 /* Data stored in eattr.u.data (part of type spec) */ #define EAF_VAR_LENGTH 0x02 /* Attribute length is variable (part of type spec) */ |