-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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: fix arg order in bgp_redistribute_add() call #14378
Conversation
Fixes a call to bgp_redistribute_add() that mixed up the position of args bhtype (blackhole type, enum) and api.distance (RIB admin distance, uint8_t). Signed-off-by: Trey Aspelund <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice!
Continuous Integration Result: FAILEDSee below for issues. This is a comment from an automated CI system. Get source / Pull Request: SuccessfulBuilding Stage: SuccessfulBasic Tests: FailedTopotests debian 10 amd64 part 9: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-PULLREQ2-TOPO9DEB10AMD64-14056/test Topology Tests failed for Topotests debian 10 amd64 part 9 Topotests Ubuntu 18.04 i386 part 1: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-PULLREQ2-TOPO1U18I386-14056/test Topology Tests failed for Topotests Ubuntu 18.04 i386 part 1 Topotests Ubuntu 18.04 arm8 part 9: Failed (click for details)Topotests Ubuntu 18.04 arm8 part 9: Unknown Log URL: https://ci1.netdef.org/browse/FRR-PULLREQ2-14056/artifact/TOPO9U18ARM8/TopotestDetails/ Topotests Ubuntu 18.04 arm8 part 9: No useful log foundTopotests Ubuntu 18.04 i386 part 8: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-PULLREQ2-TOPO8U18I386-14056/test Topology Tests failed for Topotests Ubuntu 18.04 i386 part 8 Topotests Ubuntu 18.04 amd64 part 9: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-PULLREQ2-TOPO9U18AMD64-14056/test Topology Tests failed for Topotests Ubuntu 18.04 amd64 part 9 Topotests Ubuntu 18.04 i386 part 9: Failed (click for details)Topology Test Results are at https://ci1.netdef.org/browse/FRR-PULLREQ2-TOPO9U18I386-14056/test Topology Tests failed for Topotests Ubuntu 18.04 i386 part 9 Successful on other platforms/tests
|
Looks like a few failures are test_ospf_multi_vrf_bgp_route_leak / test_ospf_kernel_route because the output has a different AD than the test expected (20/ebgp vs 110/ospf):
I suspect that prior to this commit we were copying the AD from the original (redistributed) route blindly, even though it belonged to a different protocol, and the test just matched the old RIB output without paying attention to the AD. |
Oh yeah, good catch :) |
Seems like the test is expecting the same thing I would expect to see (BGP-installed entry in RIB should have AD of 20):
I'll look closer at the Unless other people have differing opinions (@riw777? @donaldsharp? @mjstapp? @ton31337?), I would think that a redistributed route in VRF A that's leaked via BGP into VRF B should be installed into VRF B's RIB with the distance configured for VRF B's BGP rather than the AD from VRF A's RIB entry. e.g.
is then redistributed into BGP (VRF neno) and leaked into VRF Default. Would we expect 10.0.3.0/24 in VRF Default to have an AD of 20 (BGP) or 110 (OSPF)? I would think 20 (test is correct, need to ID additional needed changes in code), but I'd like to hear what you guys think |
I'd expect it to be 20 (as configured), not as it comes from VRF A. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good
I would as well |
@taspelund would like to continue on this? |
is anyone still looking at this? |
@frrbot autoclose in 1 month |
Fixes a call to bgp_redistribute_add() that mixed up the position of args bhtype (blackhole type, enum) and api.distance (RIB admin distance, uint8_t).