mbox series

[mptcp-next,0/5] mptcp: fix MPJoinAckHMacFailure, add MPJoinRejected

Message ID 20250329-mptcp-mpj-reject-v1-0-2396d5666e8f@kernel.org (mailing list archive)
Headers show
Series mptcp: fix MPJoinAckHMacFailure, add MPJoinRejected | expand

Message

Matthieu Baerts March 29, 2025, 4:26 p.m. UTC
Recently, during a debugging session using local MPTCP connections, I
noticed MPJoinAckHMacFailure was strangely not zero on the server side.

The first patch fixes this issue, and the second one validates it. These
two patches can be applied in mptcp-net.

There is a small refactoring in the 3rd patch.

Patch 4 adds MPJoinRejected to track when the PM rejects patches, and
patch 5 validates it.

Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
Matthieu Baerts (NGI0) (5):
      mptcp: only inc MPJoinAckHMacFailure for HMAC failures
      selftests: mptcp: validate MPJoin HMacFailure counters
      mptcp: pass right struct to subflow_hmac_valid
      mptcp: add MPJoinRejected MIB counter
      selftests: mptcp: validate MPJoinRejected counter

 net/mptcp/mib.c                                 |  1 +
 net/mptcp/mib.h                                 |  1 +
 net/mptcp/protocol.c                            |  4 ++-
 net/mptcp/subflow.c                             | 18 +++++-----
 tools/testing/selftests/net/mptcp/mptcp_join.sh | 44 ++++++++++++++++++++++---
 5 files changed, 54 insertions(+), 14 deletions(-)
---
base-commit: aca18798220853f0d7a8d01c28213e0d3fccfbfc
change-id: 20250328-mptcp-mpj-reject-addd081553f5

Best regards,

Comments

MPTCP CI March 29, 2025, 5:33 p.m. UTC | #1
Hi Matthieu,

Thank you for your modifications, that's great!

Our CI did some validations and here is its report:

- KVM Validation: normal: Success! ✅
- KVM Validation: debug: Success! ✅
- KVM Validation: btf-normal (only bpftest_all): Success! ✅
- KVM Validation: btf-debug (only bpftest_all): Success! ✅
- Task: https://github.com/multipath-tcp/mptcp_net-next/actions/runs/14147512989

Initiator: Patchew Applier
Commits: https://github.com/multipath-tcp/mptcp_net-next/commits/be5c1c846ff1
Patchwork: https://patchwork.kernel.org/project/mptcp/list/?series=948274


If there are some issues, you can reproduce them using the same environment as
the one used by the CI thanks to a docker image, e.g.:

    $ cd [kernel source code]
    $ docker run -v "${PWD}:${PWD}:rw" -w "${PWD}" --privileged --rm -it \
        --pull always mptcp/mptcp-upstream-virtme-docker:latest \
        auto-normal

For more details:

    https://github.com/multipath-tcp/mptcp-upstream-virtme-docker


Please note that despite all the efforts that have been already done to have a
stable tests suite when executed on a public CI like here, it is possible some
reported issues are not due to your modifications. Still, do not hesitate to
help us improve that ;-)

Cheers,
MPTCP GH Action bot
Bot operated by Matthieu Baerts (NGI0 Core)
Geliang Tang March 31, 2025, 2:05 a.m. UTC | #2
Hi Matt,

Thanks for this set.

On Sat, 2025-03-29 at 17:26 +0100, Matthieu Baerts (NGI0) wrote:
> Recently, during a debugging session using local MPTCP connections, I
> noticed MPJoinAckHMacFailure was strangely not zero on the server
> side.
> 
> The first patch fixes this issue, and the second one validates it.
> These
> two patches can be applied in mptcp-net.
> 
> There is a small refactoring in the 3rd patch.
> 
> Patch 4 adds MPJoinRejected to track when the PM rejects patches, and
> patch 5 validates it.
> 
> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>

Except for my two small suggestions in patch 2 and patch 4, the rest of
the code LGTM! No need to send a v2, please update them when merging
this set (if you agree with these two small changes).

    Reviewed-by: Geliang Tang <geliang@kernel.org>

Thanks,
-Geliang

> ---
> Matthieu Baerts (NGI0) (5):
>       mptcp: only inc MPJoinAckHMacFailure for HMAC failures
>       selftests: mptcp: validate MPJoin HMacFailure counters
>       mptcp: pass right struct to subflow_hmac_valid
>       mptcp: add MPJoinRejected MIB counter
>       selftests: mptcp: validate MPJoinRejected counter
> 
>  net/mptcp/mib.c                                 |  1 +
>  net/mptcp/mib.h                                 |  1 +
>  net/mptcp/protocol.c                            |  4 ++-
>  net/mptcp/subflow.c                             | 18 +++++-----
>  tools/testing/selftests/net/mptcp/mptcp_join.sh | 44
> ++++++++++++++++++++++---
>  5 files changed, 54 insertions(+), 14 deletions(-)
> ---
> base-commit: aca18798220853f0d7a8d01c28213e0d3fccfbfc
> change-id: 20250328-mptcp-mpj-reject-addd081553f5
> 
> Best regards,
Matthieu Baerts March 31, 2025, 1:06 p.m. UTC | #3
Hi Geliang,

On 31/03/2025 04:05, Geliang Tang wrote:
> Hi Matt,
> 
> Thanks for this set.
> 
> On Sat, 2025-03-29 at 17:26 +0100, Matthieu Baerts (NGI0) wrote:
>> Recently, during a debugging session using local MPTCP connections, I
>> noticed MPJoinAckHMacFailure was strangely not zero on the server
>> side.
>>
>> The first patch fixes this issue, and the second one validates it.
>> These
>> two patches can be applied in mptcp-net.
>>
>> There is a small refactoring in the 3rd patch.
>>
>> Patch 4 adds MPJoinRejected to track when the PM rejects patches, and
>> patch 5 validates it.
>>
>> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
> 
> Except for my two small suggestions in patch 2 and patch 4, the rest of
> the code LGTM! No need to send a v2, please update them when merging
> this set (if you agree with these two small changes).
> 
>     Reviewed-by: Geliang Tang <geliang@kernel.org>

Thank you for the review!

Now in our tree (with the suggested modification in patch 2):

New patches for t/upstream-net and t/upstream:
- 0331c038b8f1: mptcp: only inc MPJoinAckHMacFailure for HMAC failures
- f80f8ee1b1b7: selftests: mptcp: validate MPJoin HMacFailure counters
- Results: 3804298131e0..c8227c8f8681 (export-net)
- Results: 6ac9a8d5227d..21ef34d86439 (export)

New patches for t/upstream:
- 3f8822824116: mptcp: pass right struct to subflow_hmac_valid
- 7b0845a43565: mptcp: add MPJoinRejected MIB counter
- 49e3c7e5ef6b: selftests: mptcp: validate MPJoinRejected counter
- Results: 21ef34d86439..b291aa1915c1 (export)


Tests are now in progress:

- export-net:
https://github.com/multipath-tcp/mptcp_net-next/commit/cc0ff77a44448f3720df63d496387419c551f415/checks
- export:
https://github.com/multipath-tcp/mptcp_net-next/commit/5110f50c1efb4273b3a28b0ae530b282b05af9ba/checks


Cheers,
Matt