-
Notifications
You must be signed in to change notification settings - Fork 1.4k
pimd: eBGP integration for SA loop detection #17699
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
Conversation
718e421 to
cacc6cf
Compare
2db17c5 to
c2609ce
Compare
|
Is there any particular reason we've added a second slightly different address lookup for pim instead of just modifying the first one? |
|
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Removed the new Zebra API and incremented the existing one (zebra next hop lookup). Now there is just a slight variation on the next hop lookup in PIM: there is a new function that does next hop lookup and also returns the BGP AS number. |
riw777
left a comment
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.
code looks okay to me ... it would be good to have someone with more pom code exposure look at this before pushing ...
what happens here if the AS Path changes once PIM has "read" it?
|
I do not see documentation for the new clear command? It would be nice that it was tested as well. Once that happens I'll get it in. |
Put all parameters inside a single structure to avoid passing them over many different function levels. Signed-off-by: Rafael Zalamena <[email protected]>
When doing a route / next hop lookup include the route type and the opaque data. This will later be used to implement MSDP eBGP integration. Signed-off-by: Rafael Zalamena <[email protected]>
Implement function to do route lookups using eBGP routes. Signed-off-by: Rafael Zalamena <[email protected]>
Implement the 'RFC 4611 Section 2.1. Peering between PIM Border Routers' knob to configure the expected eBGP remote AS number for detecting loops. Signed-off-by: Rafael Zalamena <[email protected]>
Implement the 'RFC 4611 Section 2.1. Peering between PIM Border Routers' recommendation of using the peer AS number to check for loops in the topology when using direct inter-domains connections. Signed-off-by: Rafael Zalamena <[email protected]>
Let users know that they can utilize the BGP AS integration to detect loops in SAs using the network topology. Signed-off-by: Rafael Zalamena <[email protected]>
Allow MSDP peers to hold the following new information: - Amount of RPF look up failures - Amount of incoming SAs filtered - Amount of outgoing SAs filtered Signed-off-by: Rafael Zalamena <[email protected]>
Add new version of `show msdp peer` command with extra details and a new command to clear MSDP peer counters. Signed-off-by: Rafael Zalamena <[email protected]>
|
Rebased and added missing documentation for clear command. I don't think it is necessary to add a test for zeroing statistic counters. |
The previous logic was backwards. Signed-off-by: David Lamparter <[email protected]>
Add topology for testing MSDP eBGP integration. Signed-off-by: Rafael Zalamena <[email protected]>
Signed-off-by: Rafael Zalamena <[email protected]>
riw777
left a comment
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
This PR implements the optional knob to enable eBGP integration to detect loops in SAs. The detection of MSDP SA loops works as follow:
2.a. If the RPF route AS Path number matches the neighbor AS then the SA is accepted
2.b. if the RPF route AS Path number doesn't match the neighbor (or doesn't exist) the SA is rejected (means that the SA is not coming from the shortest path)