Skip to content

mptcp: RM_ADDR/ADD_ADDR enhancements

Geliang Tang lkml mptcp netdev 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest16 patches 14 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/16mptcp: rename addr_signal and the related functionsnet/mptcp/options.c net/mptcp/pm.c net/mptcp/protocol.h+18 -181 reply
2/16mptcp: add the outgoing RM_ADDR supportnet/mptcp/options.c net/mptcp/pm.c net/mptcp/protocol.h+63 -01 reply
3/16mptcp: add the incoming RM_ADDR supportnet/mptcp/options.c net/mptcp/pm.c net/mptcp/pm_netlink.c +2 more+66 -41 reply
4/16mptcp: send out ADD_ADDR with echo flagnet/mptcp/options.c net/mptcp/pm.c net/mptcp/pm_netlink.c +1 more+32 -230 replies
5/16mptcp: add ADD_ADDR related mibsnet/mptcp/mib.c net/mptcp/mib.h net/mptcp/options.c+10 -10 replies
6/16selftests: mptcp: add ADD_ADDR mibs check functiontools/testing/selftests/net/mptcp/mptcp_join.sh+44 -00 replies
7/16mptcp: add accept_subflow re-checknet/mptcp/pm.c+6 -40 replies
8/16mptcp: remove addr and subflow in PM netlinknet/mptcp/pm.c net/mptcp/pm_netlink.c net/mptcp/protocol.c +2 more+130 -111 reply
9/16mptcp: implement mptcp_pm_remove_subflownet/mptcp/pm.c net/mptcp/pm_netlink.c net/mptcp/protocol.h+42 -32 replies
10/16mptcp: add RM_ADDR related mibsnet/mptcp/mib.c net/mptcp/mib.h net/mptcp/pm_netlink.c+9 -01 reply
11/16mptcp: add mptcp_destroy_common helpernet/mptcp/protocol.c net/mptcp/protocol.h net/mptcp/subflow.c+10 -61 reply
12/16selftests: mptcp: add remove cfg in mptcp_connecttools/testing/selftests/net/mptcp/mptcp_connect.c+15 -31 reply
13/16selftests: mptcp: add remove addr and subflow test casestools/testing/selftests/net/mptcp/mptcp_join.sh+142 -31 reply
14/16mptcp: add struct mptcp_pm_add_entrynet/mptcp/pm_netlink.c+12 -71 reply
15/16mptcp: add sk_stop_timer_sync helperinclude/net/sock.h net/core/sock.c+9 -01 reply
16/16mptcp: retransmit ADD_ADDR when timeoutnet/mptcp/options.c net/mptcp/pm_netlink.c net/mptcp/protocol.h+96 -171 reply

Reviews trailers per patch

All 16 patches have a Reviewed-by or Acked-by.

PatchMat MartineauPaolo Abeni
1/16R-b
2/16R-b
3/16R-b
4/16R-b
5/16R-b
6/16R-b
7/16R-b
8/16R-b A-b
9/16R-b
10/16R-b A-b
11/16R-b
12/16R-b A-b
13/16R-b A-b
14/16R-b A-b
15/16R-b A-b
16/16R-b A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [MPTCP][PATCH net-next 00/16] mptcp: RM_ADDR/ADD_ADDR enhancements

This series include two enhancements for the MPTCP path management, namely RM_ADDR support and ADD_ADDR echo support, as specified by RFC sections 3.4.1 and 3.4.2.

1 RM_ADDR support include 9 patches (1-3 and 8-13):

Patch 1 is the helper for patch 2, these two patches add the RM_ADDR outgoing functions, which are derived from ADD_ADDR's corresponding functions.

Patch 3 adds the RM_ADDR incoming logic, when RM_ADDR suboption is received, close the subflow matching the rm_id, and update PM counter.

Patch 8 is the main remove routine. When the PM netlink removes an address, we traverse all the existing msk sockets to find the relevant sockets. Then trigger the RM_ADDR signal and remove the subflow which using this local address, this subflow removing functions has been implemented in patch 9.

Finally, patches 10-13 are the self-tests for RM_ADDR.

2 ADD_ADDR echo support include 7 patches (4-7 and 14-16).

Patch 4 adds the ADD_ADDR echo logic, when the ADD_ADDR suboption has been received, send out the same ADD_ADDR suboption with echo-flag, and no HMAC included.

Patches 5 and 6 are the self-tests for ADD_ADDR echo. Patch 7 is a little cleaning up.

Patch 14 and 15 are the helpers for patch 16. These three patches add the ADD_ADDR retransmition when no ADD_ADDR echo is received.

Geliang Tang (16):
mptcp: rename addr_signal and the related functions
mptcp: add the outgoing RM_ADDR support
mptcp: add the incoming RM_ADDR support
mptcp: send out ADD_ADDR with echo flag
mptcp: add ADD_ADDR related mibs
selftests: mptcp: add ADD_ADDR mibs check function
mptcp: add accept_subflow re-check
mptcp: remove addr and subflow in PM netlink
mptcp: implement mptcp_pm_remove_subflow
mptcp: add RM_ADDR related mibs
mptcp: add mptcp_destroy_common helper
selftests: mptcp: add remove cfg in mptcp_connect
selftests: mptcp: add remove addr and subflow test cases
mptcp: add struct mptcp_pm_add_entry
mptcp: add sk_stop_timer_sync helper
mptcp: retransmit ADD_ADDR when timeout

 include/net/sock.h                            |   2 +
 net/core/sock.c                               |   7 +
 net/mptcp/mib.c                               |   4 +
 net/mptcp/mib.h                               |   4 +
 net/mptcp/options.c                           |  81 +++--
 net/mptcp/pm.c                                |  91 ++++--
 net/mptcp/pm_netlink.c                        | 276 +++++++++++++++++-
 net/mptcp/protocol.c                          |  30 +-
 net/mptcp/protocol.h                          |  39 ++-
 net/mptcp/subflow.c                           |   3 +-
 .../selftests/net/mptcp/mptcp_connect.c       |  18 +-
 .../testing/selftests/net/mptcp/mptcp_join.sh | 189 +++++++++++-
 12 files changed, 674 insertions(+), 70 deletions(-)
Signature · 1 line
2.17.1