mbox series

[v7,mptcp-next,0/6] fullmesh path manager support

Message ID cover.1627543032.git.geliangtang@xiaomi.com (mailing list archive)
Headers show
Series fullmesh path manager support | expand

Message

Geliang Tang July 29, 2021, 7:20 a.m. UTC
From: Geliang Tang <geliangtang@xiaomi.com>

v7:
 - add a new patch to drop flags and ifindex arguments of
   __mptcp_subflow_connect().
 - add more comments for the testcase.

v6:
 - drop lookup_subflow_by_addrs()
 - pass three arrays instead of 'entries' in fill_local_adresses_vec()
 - drop the 'remote' argument of fill_local_addresses_vec
 - drop the 'local' argument of fill_remote_addresses_vec
 - fix the pm.subflows.
 - add limit testcase.

v5:
 - patch 1, add a new helper lookup_address_in_vec.
 - patch 2, update pm.subflows in the non-fullmesh case.
 - patch 4, add more tests.
 - tag: export/20210727T054640

v4:
 - add new helpers, fill_local/remote_addresses_vec
 - add max_subflows checks
 - add 'local' into the local addresses array only when no fullmesh
   entry found.
 - add signal,fullmesh check

v3:
 - the in-kernel fullmesh path manager has been dropped from this
   patchset, only keep the fullmesh flag support code.

v2:
 - Implement the fullmesh mode as an extension to the netlink PM, not a
   standalone PM as Paolo suggested.
 - drop duplicate code.
 - add a new per endpoint flag MPTCP_PM_ADDR_FLAG_FULLMESH.

Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/193

Geliang Tang (6):
  mptcp: drop flags and ifindex arguments
  mptcp: remote addresses fullmesh
  mptcp: local addresses fullmesh
  selftests: mptcp: set and print the fullmesh flag
  selftests: mptcp: add fullmesh testcases
  selftests: mptcp: delete uncontinuous removing ids

 include/uapi/linux/mptcp.h                    |   1 +
 net/mptcp/pm_netlink.c                        | 155 ++++++++++++++++--
 net/mptcp/protocol.h                          |   5 +-
 net/mptcp/subflow.c                           |   7 +-
 .../testing/selftests/net/mptcp/mptcp_join.sh |  76 ++++++++-
 tools/testing/selftests/net/mptcp/pm_nl_ctl.c |  16 +-
 6 files changed, 233 insertions(+), 27 deletions(-)

Comments

Mat Martineau July 30, 2021, 6:14 p.m. UTC | #1
On Thu, 29 Jul 2021, Geliang Tang wrote:

> From: Geliang Tang <geliangtang@xiaomi.com>
>
> v7:
> - add a new patch to drop flags and ifindex arguments of
>   __mptcp_subflow_connect().
> - add more comments for the testcase.
>

Ok, in addition to the review I did for v6 I've also looked at the subflow 
topologies generated by the test cases. Those look good to me.

I think this is good for the export branch (with the squash-to patch).
Thanks Geliang.

Reviewed-by: Mat Martineau <mathew.j.martineau@linux.intel.com>


> v6:
> - drop lookup_subflow_by_addrs()
> - pass three arrays instead of 'entries' in fill_local_adresses_vec()
> - drop the 'remote' argument of fill_local_addresses_vec
> - drop the 'local' argument of fill_remote_addresses_vec
> - fix the pm.subflows.
> - add limit testcase.
>
> v5:
> - patch 1, add a new helper lookup_address_in_vec.
> - patch 2, update pm.subflows in the non-fullmesh case.
> - patch 4, add more tests.
> - tag: export/20210727T054640
>
> v4:
> - add new helpers, fill_local/remote_addresses_vec
> - add max_subflows checks
> - add 'local' into the local addresses array only when no fullmesh
>   entry found.
> - add signal,fullmesh check
>
> v3:
> - the in-kernel fullmesh path manager has been dropped from this
>   patchset, only keep the fullmesh flag support code.
>
> v2:
> - Implement the fullmesh mode as an extension to the netlink PM, not a
>   standalone PM as Paolo suggested.
> - drop duplicate code.
> - add a new per endpoint flag MPTCP_PM_ADDR_FLAG_FULLMESH.
>
> Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/193
>
> Geliang Tang (6):
>  mptcp: drop flags and ifindex arguments
>  mptcp: remote addresses fullmesh
>  mptcp: local addresses fullmesh
>  selftests: mptcp: set and print the fullmesh flag
>  selftests: mptcp: add fullmesh testcases
>  selftests: mptcp: delete uncontinuous removing ids
>
> include/uapi/linux/mptcp.h                    |   1 +
> net/mptcp/pm_netlink.c                        | 155 ++++++++++++++++--
> net/mptcp/protocol.h                          |   5 +-
> net/mptcp/subflow.c                           |   7 +-
> .../testing/selftests/net/mptcp/mptcp_join.sh |  76 ++++++++-
> tools/testing/selftests/net/mptcp/pm_nl_ctl.c |  16 +-
> 6 files changed, 233 insertions(+), 27 deletions(-)
>
> -- 
> 2.31.1
>
>
>

--
Mat Martineau
Intel
Matthieu Baerts Aug. 3, 2021, 3:59 p.m. UTC | #2
Hi Geliang, Mat, Paolo,

On 29/07/2021 09:20, Geliang Tang wrote:
> From: Geliang Tang <geliangtang@xiaomi.com>
> 
> v7:
>  - add a new patch to drop flags and ifindex arguments of
>    __mptcp_subflow_connect().
>  - add more comments for the testcase.

(...)

> 
> Closes: https://github.com/multipath-tcp/mptcp_net-next/issues/193
> 
> Geliang Tang (6):
>   mptcp: drop flags and ifindex arguments
>   mptcp: remote addresses fullmesh
>   mptcp: local addresses fullmesh
>   selftests: mptcp: set and print the fullmesh flag
>   selftests: mptcp: add fullmesh testcases
>   selftests: mptcp: delete uncontinuous removing ids

Thank you for the patches and the reviews!

Now in our tree with Mat's RvB tag:

- 8235745392a1: mptcp: drop flags and ifindex arguments
- 31e4fdaf9c0b: mptcp: remote addresses fullmesh
- 6ad65bd12896: mptcp: local addresses fullmesh
- 3faae7f56182: selftests: mptcp: set and print the fullmesh flag
- ee6f6d4a5b48: selftests: mptcp: add fullmesh testcases
- 68e72848611e: selftests: mptcp: delete uncontinuous removing ids
- Results: d5c73e4f859d..dcbca66e0658

And the squash-to patch:

- 22876224b527: "squashed" in "mptcp: drop flags and ifindex arguments"
- Results: dcbca66e0658..b1d5eb590503

Builds and tests are now in progress:

https://cirrus-ci.com/github/multipath-tcp/mptcp_net-next/export/20210803T155939
https://github.com/multipath-tcp/mptcp_net-next/actions/workflows/build-validation.yml?query=branch:export/20210803T155939

Cheers,
Matt