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

PM: new subflow: avoid selecting initial endpoint upon ADD_ADDR reception if servers deny MPJ to initial address #536

Open
matttbe opened this issue Dec 13, 2024 · 0 comments
Labels
enhancement pm path-manager

Comments

@matttbe
Copy link
Member

matttbe commented Dec 13, 2024

Description

If servers set the C flag (deny MPJ to the initial address+port) in their MP_CAPABLE, clients will likely not use their other endpoints.

This supposes clients are using the in-kernel PM, endpoints are not flagged as fullmesh, and the limit is high enough. There are two cases that involve the creation of new subflows:

  • Endpoints flagged as subflow will be used to create new subflows, one at a time, to the address of the server used in the initial subflow → because of the C flag, clients will not do anything here.
  • Upon the reception of an ADD_ADDR, a new subflow will be created using the local address the routing configuration will pick → very likely the one of the initial subflow, not from a new endpoint.

Solution

If the C flag has been set, upon ADD_ADDR reception, the PM should probably first look at unused endpoint, before picking IPADDRANY.

Also, by default the limits are add_addr_accepted 0 subflows 2. Should we do something about that if the server set the C flag? (We don't want the server to react to ADD_ADDR if the client set the C flag)

Considered alternatives

#503 could be a possibility, but something should be done for the default use-case: when only the subflow flag is set on the endpoint.

Additional context

Thanks to @majek for pointing out this issue to me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement pm path-manager
Projects
Status: Needs triage
Development

No branches or pull requests

1 participant