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

Recast route caching as an LPM, make multipath decisions locally #539

Open
FelixMcFelix opened this issue May 22, 2024 · 0 comments
Open
Labels
customer For any bug reports or feature requests tied to customer requests perf

Comments

@FelixMcFelix
Copy link
Collaborator

As of #499, we have a fairly simple cache in front of calls to next_hop. However, this includes the L4 Hash as part of the lookup key to maintain path diversity between flows, as we route via a chosen underlay device each time. As a result, this is going to have fairly poor scaling characteristics.

See the discussion on that PR: we can vastly reduce the number of entries we need, and cast the lookup as an LPM query. However, to do so we need to:

  • Walk and refresh the entire set of route entries linked in an IRE, which will reimplement some logic from illumos,
  • Locally decide between multiple routes.

Doing so will allow us to maintain a shared route cache of O(sleds), and/or make use of per-packet multipath if we choose to.

@twinfees twinfees added the customer For any bug reports or feature requests tied to customer requests label Aug 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
customer For any bug reports or feature requests tied to customer requests perf
Projects
None yet
Development

No branches or pull requests

2 participants