diff options
author | Eugene Bogomazov <eb@qrator.net> | 2022-06-17 12:14:46 +0200 |
---|---|---|
committer | Eugene Bogomazov <eb@qrator.net> | 2022-06-17 12:14:46 +0200 |
commit | d864dd9eb182eefaa4d08717bd2837f9182956a6 (patch) | |
tree | c60b9a1f8d0d4d8a9630d0a218b265cb743e8869 /bgpd/bgp_open.h | |
parent | Merge pull request #11422 from opensourcerouting/feature/autoclose_stale_issu... (diff) | |
download | frr-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_open.h')
-rw-r--r-- | bgpd/bgp_open.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/bgpd/bgp_open.h b/bgpd/bgp_open.h index 1727b6604..19ddd9bd2 100644 --- a/bgpd/bgp_open.h +++ b/bgpd/bgp_open.h @@ -56,6 +56,7 @@ struct graceful_restart_af { #define CAPABILITY_CODE_REFRESH_OLD 128 /* Route Refresh Capability(cisco) */ #define CAPABILITY_CODE_ORF_OLD 130 /* Cooperative Route Filtering Capability(cisco) */ #define CAPABILITY_CODE_EXT_MESSAGE 6 /* Extended Message Support */ +#define CAPABILITY_CODE_ROLE 9 /* Role Capability */ /* Capability Length */ #define CAPABILITY_CODE_MP_LEN 4 @@ -70,6 +71,7 @@ struct graceful_restart_af { #define CAPABILITY_CODE_LLGR_LEN 0 #define CAPABILITY_CODE_ORF_LEN 5 #define CAPABILITY_CODE_EXT_MESSAGE_LEN 0 /* Extended Message Support */ +#define CAPABILITY_CODE_ROLE_LEN 1 /* Cooperative Route Filtering Capability. */ |