mbox series

[mptcp-next,v4,0/7] BPF path manager, part 2

Message ID cover.1736494320.git.tanggeliang@kylinos.cn (mailing list archive)
Headers show
Series BPF path manager, part 2 | expand

Message

Geliang Tang Jan. 10, 2025, 7:36 a.m. UTC
From: Geliang Tang <tanggeliang@kylinos.cn>

v4:
 - move "mptcp: userspace pm set_flags id support" out of this set.
 - only add 'local' parameter for set_flags, no 'remote'.

Based-on: <cover.1736493803.git.tanggeliang@kylinos.cn>

v3:
 - Thanks Matt for the review on dump_addr interfaces. It seems that
it needs more time to be modified. In this version, I removed the
patches for dump_addr interfaces from this set and added the patches
for set_flags interfaces.
 - set_flags interfaces patches address Matt's comments on the set
"mptcp: use GENL_REQ_ATTR_CHECK in userspace pm" v2.

v2:
 - split patch 7 of v1 into two.
 - patches 1-6 have no code changes, only the commit logs have been
updated.
 - more commit log to explain why mptcp_pm_addr_id_bitmap_t needs to
be defined.
 - use mptcp_pm_addr_id_bitmap_t in userspace_pm_append_new_local_addr
too.

In order to implement BPF userspace path manager, it is necessary to
unify the interfaces of the path manager. This set updates get_addr()
and dump_addr() interfaces.

Geliang Tang (7):
  mptcp: make three pm wrappers static
  mptcp: drop skb parameter of get_addr
  mptcp: add id parameter for get_addr
  mptcp: reuse sending nlmsg code in get_addr
  mptcp: drop skb parameter of set_flags
  mptcp: change rem type of set_flags
  mptcp: add local parameter for set_flags

 net/mptcp/pm.c           |  86 +++++++++++++++++++++++++++++---
 net/mptcp/pm_netlink.c   | 104 ++++++++-------------------------------
 net/mptcp/pm_userspace.c |  81 +++++++-----------------------
 net/mptcp/protocol.h     |  14 +++---
 4 files changed, 124 insertions(+), 161 deletions(-)

Comments

MPTCP CI Jan. 10, 2025, 9:12 a.m. UTC | #1
Hi Geliang,

Thank you for your modifications, that's great!

Our CI did some validations and here is its report:

- KVM Validation: normal: Critical: Global Timeout ❌
- 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/12705356024

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


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)
Matthieu Baerts Jan. 10, 2025, 11:53 a.m. UTC | #2
Hi Geliang,

On 10/01/2025 08:36, Geliang Tang wrote:
> From: Geliang Tang <tanggeliang@kylinos.cn>
> 
> v4:
>  - move "mptcp: userspace pm set_flags id support" out of this set.
>  - only add 'local' parameter for set_flags, no 'remote'.

Thank you for the new version! It now looks good to me:

Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>

> Based-on: <cover.1736493803.git.tanggeliang@kylinos.cn>

I have just one question on patch 7/7, linked to the one I had on the
"use GENL_REQ_ATTR_CHECK in userspace pm" series. If you are OK with
that, I can do the modifications while applying these two series.

Cheers,
Matt
Geliang Tang Jan. 10, 2025, 12:40 p.m. UTC | #3
Hi Matt,

Thanks for your review.

On Fri, 2025-01-10 at 12:53 +0100, Matthieu Baerts wrote:
> Hi Geliang,
> 
> On 10/01/2025 08:36, Geliang Tang wrote:
> > From: Geliang Tang <tanggeliang@kylinos.cn>
> > 
> > v4:
> >  - move "mptcp: userspace pm set_flags id support" out of this set.
> >  - only add 'local' parameter for set_flags, no 'remote'.
> 
> Thank you for the new version! It now looks good to me:
> 
> Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
> 
> > Based-on: <cover.1736493803.git.tanggeliang@kylinos.cn>
> 
> I have just one question on patch 7/7, linked to the one I had on the
> "use GENL_REQ_ATTR_CHECK in userspace pm" series. If you are OK with
> that, I can do the modifications while applying these two series.

Sure. Please update these patches for me when applying them.

Thanks,
-Geliang

> 
> Cheers,
> Matt
Matthieu Baerts Jan. 12, 2025, 1:09 p.m. UTC | #4
Hi Geliang,

On 10/01/2025 13:40, Geliang Tang wrote:
> Hi Matt,
> 
> Thanks for your review.
> 
> On Fri, 2025-01-10 at 12:53 +0100, Matthieu Baerts wrote:
>> Hi Geliang,
>>
>> On 10/01/2025 08:36, Geliang Tang wrote:
>>> From: Geliang Tang <tanggeliang@kylinos.cn>
>>>
>>> v4:
>>>  - move "mptcp: userspace pm set_flags id support" out of this set.
>>>  - only add 'local' parameter for set_flags, no 'remote'.
>>
>> Thank you for the new version! It now looks good to me:
>>
>> Reviewed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
>>
>>> Based-on: <cover.1736493803.git.tanggeliang@kylinos.cn>
>>
>> I have just one question on patch 7/7, linked to the one I had on the
>> "use GENL_REQ_ATTR_CHECK in userspace pm" series. If you are OK with
>> that, I can do the modifications while applying these two series.
> 
> Sure. Please update these patches for me when applying them.

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

New patches for t/upstream:
- d3401e36d040: mptcp: make three pm wrappers static
- ebf01bfde1e1: mptcp: drop skb parameter of get_addr
- 7852370411cf: mptcp: add id parameter for get_addr
- 8f55135854d2: mptcp: reuse sending nlmsg code in get_addr
- 8e9d415a217a: mptcp: drop skb parameter of set_flags
- 6a7efe19ce07: mptcp: change rem type of set_flags
- 7551b7b78dd7: mptcp: add local parameter for set_flags
- Results: 472c88326ee3..99ab203e6854 (export)

Tests are now in progress:

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

Cheers,
Matt