bio-routing / bio-rd

bio routing is a project to create a versatile, fast and reliable routing daemon in Golang. bio = BGP + IS-IS + OSPF
Apache License 2.0
283 stars 44 forks source link

Enforce non-empty ASPath on eBGP sessions and set local-pref 100 if none is set #449

Closed BarbarossaTM closed 1 year ago

BarbarossaTM commented 1 year ago

This does two things:

Hide routes received via eBGP when the AS-Path is empty

I was wondering if it would be a good idea to just create an AS-Path with the peer ASN in it, but depending on what the peer did to their policies this may not reflect reality and may actually further support leaking prefixes or something. So I decided to err on the side of caution here and consider prefixes received via eBGP and w/o an AS-Path as invalid/hidden. We may want to ignore this check when learning prefixes via BMP, however I would hope that no BGPd out there would accept it.

Default local-pref for eBGP prefixes to 100

This is a follow-up on a previous PR, which only took effect when running BIO as BGP server and not as library. This fixes the residual places.

codecov-commenter commented 1 year ago

Codecov Report

Merging #449 (3892a5f) into master (2f55bf4) will increase coverage by 0.01%. The diff coverage is 66.66%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the GitHub App Integration for your organization. Read more.

@@            Coverage Diff             @@
##           master     #449      +/-   ##
==========================================
+ Coverage   54.33%   54.34%   +0.01%     
==========================================
  Files         146      146              
  Lines        7894     7901       +7     
==========================================
+ Hits         4289     4294       +5     
- Misses       3400     3401       +1     
- Partials      205      206       +1     
Flag Coverage Δ
unittests 54.34% <66.66%> (+0.01%) :arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Changed Coverage Δ
protocols/bgp/server/fsm_address_family.go 73.41% <ø> (ø)
route/path.go 84.79% <0.00%> (-1.01%) :arrow_down:
routingtable/adjRIBIn/adj_rib_in.go 59.85% <85.71%> (+1.52%) :arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more