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

pimd: eBGP integration for SA loop detection #17699

Draft
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

rzalamena
Copy link
Member

This PR implements the optional knob to enable eBGP integration to detect loops in SAs. The detection of MSDP SA loops works as follow:

  1. eBGP AS number is configured in the MSDP peer
  2. When SA is received the RP value is used in RPF check
    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)

Implement a new zebra API to request route lookup results. This is
similar to what `ZEBRA_IPV4_NEXTHOP_LOOKUP_MRIB` does, but it gets route
information and all next hop information (uses dynamically allocated
memory instead of expecting static array).

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]>
Add topology for testing MSDP eBGP integration.

Signed-off-by: Rafael Zalamena <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant