summaryrefslogtreecommitdiffstats
path: root/bgpd/bgp_attr.h
diff options
context:
space:
mode:
authorEugene Bogomazov <eb@qrator.net>2022-06-17 12:14:46 +0200
committerEugene Bogomazov <eb@qrator.net>2022-06-17 12:14:46 +0200
commitd864dd9eb182eefaa4d08717bd2837f9182956a6 (patch)
treec60b9a1f8d0d4d8a9630d0a218b265cb743e8869 /bgpd/bgp_attr.h
parentMerge pull request #11422 from opensourcerouting/feature/autoclose_stale_issu... (diff)
downloadfrr-d864dd9eb182eefaa4d08717bd2837f9182956a6.tar.xz
frr-d864dd9eb182eefaa4d08717bd2837f9182956a6.zip
bgpd: Add RFC9234 implementation
RFC9234 is a way to establish correct connection roles (Customer/ Provider, Peer or with RS) between bgp speakers. This patch: - Add a new configuration/terminal option to set the appropriate local role; - Add a mechanism for checking used roles, implemented by exchanging the corresponding capabilities in OPEN messages; - Add strict mode to force other party to use this feature; - Add basic support for a new transitive optional bgp attribute - OTC (Only to Customer); - Add logic for default setting OTC attribute and filtering routes with this attribute by the edge speakers, if the appropriate conditions are met; - Add two test stands to check role negotiation and route filtering during role usage. Signed-off-by: Eugene Bogomazov <eb@qrator.net>
Diffstat (limited to 'bgpd/bgp_attr.h')
-rw-r--r--bgpd/bgp_attr.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/bgpd/bgp_attr.h b/bgpd/bgp_attr.h
index 06f350b36..5007fafc2 100644
--- a/bgpd/bgp_attr.h
+++ b/bgpd/bgp_attr.h
@@ -334,6 +334,9 @@ struct attr {
/* If NEXTHOP_TYPE_BLACKHOLE, then blackhole type */
enum blackhole_type bh_type;
+
+ /* OTC value if set */
+ uint32_t otc;
};
/* rmap_change_flags definition */