diff options
author | Paolo Abeni <pabeni@redhat.com> | 2022-03-07 12:44:37 -0800 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2022-03-08 22:06:12 -0800 |
commit | 4cf86ae84c718333928fd2d43168a1e359a28329 (patch) | |
tree | 633fa1d8740f30db2cf2032d2c890c08bb915538 /net/switchdev/switchdev.c | |
parent | d045b9eb95a9b611c483897a69e7285aefdc66d7 (diff) |
mptcp: strict local address ID selection
The address ID selection for MPJ subflows created in response
to incoming ADD_ADDR option is currently unreliable: it happens
at MPJ socket creation time, when the local address could be
unknown.
Additionally, if the no local endpoint is available for the local
address, a new dummy endpoint is created, confusing the user-land.
This change refactor the code to move the address ID selection inside
the rebuild_header() helper, when the local address eventually
selected by the route lookup is finally known. If the address used
is not mapped by any endpoint - and thus can't be advertised/removed
pick the id 0 instead of allocate a new endpoint.
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/switchdev/switchdev.c')
0 files changed, 0 insertions, 0 deletions