Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bgpd: Ignore RFC8212 for BGP Confederations #16305

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions bgpd/bgp_route.c
Original file line number Diff line number Diff line change
Expand Up @@ -6333,7 +6333,8 @@ void bgp_set_stale_route(struct peer *peer, afi_t afi, safi_t safi)

bool bgp_outbound_policy_exists(struct peer *peer, struct bgp_filter *filter)
{
if (peer->sort == BGP_PEER_IBGP || peer->sub_sort == BGP_PEER_EBGP_OAD)
if (peer->sort == BGP_PEER_CONFED || peer->sort == BGP_PEER_IBGP ||
peer->sub_sort == BGP_PEER_EBGP_OAD)
return true;

if (peer->sort == BGP_PEER_EBGP &&
Expand All @@ -6346,7 +6347,8 @@ bool bgp_outbound_policy_exists(struct peer *peer, struct bgp_filter *filter)

bool bgp_inbound_policy_exists(struct peer *peer, struct bgp_filter *filter)
{
if (peer->sort == BGP_PEER_IBGP || peer->sub_sort == BGP_PEER_EBGP_OAD)
if (peer->sort == BGP_PEER_CONFED || peer->sort == BGP_PEER_IBGP ||
peer->sub_sort == BGP_PEER_EBGP_OAD)
return true;

if (peer->sort == BGP_PEER_EBGP
Expand Down
5 changes: 3 additions & 2 deletions tests/topotests/bgp_confed1/r2/bgpd.conf
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,16 @@
!debug bgp updates out
!
router bgp 200
no bgp ebgp-requires-policy
bgp confederation identifier 300
bgp confederation peers 300
neighbor 192.0.2.1 remote-as 100
neighbor 192.0.2.18 remote-as 300
!
address-family ipv4 unicast
network 203.0.113.16/28
neighbor 192.0.2.1 route-map any in
neighbor 192.0.2.1 route-map any out
neighbor 192.0.2.18 default-originate
exit-address-family
!

route-map any permit 10
Loading