Skip to content

refactor(server): introduce receiver interface and drive filterpath from it#3423

Open
Ivan-Pokhabov wants to merge 1 commit into
osrg:masterfrom
Ivan-Pokhabov:feat/add-receiver-interface
Open

refactor(server): introduce receiver interface and drive filterpath from it#3423
Ivan-Pokhabov wants to merge 1 commit into
osrg:masterfrom
Ivan-Pokhabov:feat/add-receiver-interface

Conversation

@Ivan-Pokhabov
Copy link
Copy Markdown
Contributor

Add peerPathLimiter and receiver interfaces that abstract a BGP peer (or
future peer-group) for the purpose of export-path filtering and policy
application. Refactor filterpath, prePolicyFilterpath, postFilterpath,
getPossibleBest, sendSecondaryRoutes and processOutgoingPaths to accept
receiver instead of *peer. Split the old filterpath into peerFilterpath
(peer-specific RF, RTC and source-peer checks) and a generic filterpath
that works over any receiver. No behaviour change for existing peer-only paths.

Co-Authored-By: Ivan-Pokhabov vanek3372@gmail.com

Part of #3161

…rom it

  Add peerPathLimiter and receiver interfaces that abstract a BGP peer (or
  future peer-group) for the purpose of export-path filtering and policy
  application. Refactor filterpath, prePolicyFilterpath, postFilterpath,
  getPossibleBest, sendSecondaryRoutes and processOutgoingPaths to accept
  receiver instead of *peer. Split the old filterpath into peerFilterpath
  (peer-specific RF, RTC and source-peer checks) and a generic filterpath
  that works over any receiver. No behaviour change for existing peer-only paths.

  Co-Authored-By: Ivan-Pokhabov <vanek3372@gmail.com>
@Ivan-Pokhabov Ivan-Pokhabov force-pushed the feat/add-receiver-interface branch from ca2287e to a809063 Compare May 13, 2026 16:05
@Ivan-Pokhabov
Copy link
Copy Markdown
Contributor Author

Ivan-Pokhabov commented May 26, 2026

@fujita, can you check this also, please? It would help to add perfomance feature for route-reflector #3161. Thanks in advance.

@fujita
Copy link
Copy Markdown
Member

fujita commented May 26, 2026

I'm not sure about the approach of #3161.

Policy sharing should be automatic rather than an explicit flag — peers with identical effective policies should be grouped automatically, and any peer with a per-peer-sensitive condition (such as a NeighborSet matching on destination address) should fall back to per-peer evaluation transparently.

@Ivan-Pokhabov
Copy link
Copy Markdown
Contributor Author

I'm not sure about the approach of #3161.

Policy sharing should be automatic rather than an explicit flag — peers with identical effective policies should be grouped automatically, and any peer with a per-peer-sensitive condition (such as a NeighborSet matching on destination address) should fall back to per-peer evaluation transparently.

Ok, I will think about design, but this PR doesn't interfere this optimization in my opinion

@fujita
Copy link
Copy Markdown
Member

fujita commented May 26, 2026

I'm not sure about the approach of #3161.
Policy sharing should be automatic rather than an explicit flag — peers with identical effective policies should be grouped automatically, and any peer with a per-peer-sensitive condition (such as a NeighborSet matching on destination address) should fall back to per-peer evaluation transparently.

Ok, I will think about design, but this PR doesn't interfere this optimization in my opinion

I don't that this abstraction is necessary if that pull request isn't merged.

@Ivan-Pokhabov
Copy link
Copy Markdown
Contributor Author

I don't that this abstraction is necessary if that pull request isn't merged.

Ok, thank you, I will come back with new design

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants