[PATCH mptcp-next v5 0/5] BPF path manager, part 3

Geliang Tang posted 5 patches 2 months, 2 weeks ago
Failed in applying to current master (apply log)
net/mptcp/pm.c           | 21 +++++++++++++++++++++
net/mptcp/pm_netlink.c   | 22 ++++------------------
net/mptcp/pm_userspace.c | 29 +++++++----------------------
net/mptcp/protocol.h     |  3 +++
4 files changed, 35 insertions(+), 40 deletions(-)
[PATCH mptcp-next v5 0/5] BPF path manager, part 3
Posted by Geliang Tang 2 months, 2 weeks ago
From: Geliang Tang <tanggeliang@kylinos.cn>

v5:
 - drop "change is_backup interfaces as get_flags"
 - move "add struct mptcp_pm_addr_id_bitmap" and "hold msk lock before
removing id 0 address" out of this set.
 - a new patch "use ipv6_addr_equal in addresses_equal"
 - patch 4, drop inet6_sk() in mptcp_event_add_subflow() and
   mptcp_event_pm_listener() too.

v4:
 - add a new patch, "add a build check for userspace_pm_dump_addr" as
   Matt suggested.
 - patch 4, fix a warning here reported by CI:
   WARNING: line length of 84 exceeds 80 columns
   #27: FILE: net/mptcp/pm_userspace.c:468:

v3:
 - drop "mptcp: update address type of get_local_id".

v2:
 - a new patch "hold msk lock before removing id 0 address"

Drop the patch "mptcp: reuse sending nlmsg code in dump_addr", add a new
helper mptcp_pm_genl_fill_addr() to save the duplicated code.

Define struct mptcp_pm_addr_id_bitmap in protocol.h, instead of defining
mptcp_pm_addr_id_bitmap_t in include/net/mptcp.h, since get_addr() and
dump_addr() interfaces of BPF userspace pm is dropped as Matt suggested.

Geliang Tang (5):
  mptcp: add a build check for userspace_pm_dump_addr
  mptcp: add mptcp_pm_genl_fill_addr helper
  mptcp: drop match in userspace_pm_append_new_local_addr
  mptcp: drop inet6_sk after inet_sk
  mptcp: use ipv6_addr_equal in addresses_equal

 net/mptcp/pm.c           | 21 +++++++++++++++++++++
 net/mptcp/pm_netlink.c   | 22 ++++------------------
 net/mptcp/pm_userspace.c | 29 +++++++----------------------
 net/mptcp/protocol.h     |  3 +++
 4 files changed, 35 insertions(+), 40 deletions(-)

-- 
2.43.0
Re: [PATCH mptcp-next v5 0/5] BPF path manager, part 3
Posted by Matthieu Baerts 2 months, 2 weeks ago
Hi Geliang,

On 24/01/2025 08:10, Geliang Tang wrote:
> From: Geliang Tang <tanggeliang@kylinos.cn>
> 
> v5:
>  - drop "change is_backup interfaces as get_flags"
>  - move "add struct mptcp_pm_addr_id_bitmap" and "hold msk lock before
> removing id 0 address" out of this set.
>  - a new patch "use ipv6_addr_equal in addresses_equal"
>  - patch 4, drop inet6_sk() in mptcp_event_add_subflow() and
>    mptcp_event_pm_listener() too.

Thank you for the new version!

Now in our tree (feat. for net-next):

New patches for t/upstream:
- 8b880bfa4362: mptcp: add a build check for userspace_pm_dump_addr
- 5c44b4a4e41f: mptcp: add mptcp_pm_genl_fill_addr helper
- f0d7ae749373: mptcp: drop match in userspace_pm_append_new_local_addr
- be35f8e33917: mptcp: drop inet6_sk after inet_sk
- 6e78ea4d3c94: mptcp: use ipv6_addr_equal in addresses_equal
- Results: e80a31769cf4..ef015705ac0b (export)

Tests are now in progress:

- export:
https://github.com/multipath-tcp/mptcp_net-next/commit/b36f3b98b02191d9346b78a16e8da775eb3d780f/checks

Cheers,
Matt
-- 
Sponsored by the NGI0 Core fund.
Re: BPF path manager, part 3
Posted by MPTCP CI 2 months, 2 weeks ago
Hi Geliang,

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: Critical: Global Timeout ❌
- KVM Validation: btf-normal (only bpftest_all): Success! ✅
- KVM Validation: btf-debug (only bpftest_all): Unstable: 1 failed test(s): bpftest_test_progs-cpuv4_mptcp 🔴
- Task: https://github.com/multipath-tcp/mptcp_net-next/actions/runs/12945359042

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


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)