MPTCP Linux Development
 help / color / mirror / Atom feed
* [Weekly meetings] MoM - 22nd of May 2024
@ 2024-05-24 15:55 Matthieu Baerts
  0 siblings, 0 replies; only message in thread
From: Matthieu Baerts @ 2024-05-24 15:55 UTC (permalink / raw)
  To: MPTCP Upstream

Hello everyone,

This week, we had our new meeting with Mat (Cruise), Paolo (Redhat), and
myself (NGI0 Core).


Thanks again for this new good meeting!

Here are the minutes of the meeting:



Accepted patches:
    - The list of accepted patches can be seen on PatchWork:
      https://patchwork.kernel.org/project/mptcp/list/?state=3


    netdev (if mptcp ML is in cc) (by: /):

/


    our repo (by: Davide Caratti, Geliang Tang, Matthieu Baerts (NGI0)):

13662294: [mptcp-next,1/2] mptcp: use mptcp_win_from_space helper
13662295: [mptcp-next,2/2] mptcp: add mptcp_space_from_win helper:
      - Series: convert helpers for win and space
      - Submitter: Geliang Tang
      - URL:
https://patchwork.kernel.org/project/mptcp/list/?series=852503&state=*&archive=both

13665066: [mptcp-next,v6,1/2] selftests/bpf: Add mptcp pm_nl_ctl link
13665067: [mptcp-next,v6,2/2] Squash to "selftests/bpf: Add mptcp
subflow subtest":
      - Series: patches for new MPTCP subflow subtest
      - Submitter: Geliang Tang
      - URL:
https://patchwork.kernel.org/project/mptcp/list/?series=853374&state=*&archive=both

13665430: [mptcp-next] mptcp: refer to 'MPTCP' socket in comments:
      - Submitter: Davide Caratti
      - URL:
https://patchwork.kernel.org/project/mptcp/patch/829272fc031f542c7a3d8e446eba19ee0f78dffb.1715794371.git.dcaratti@redhat.com/

13667673: [mptcp-next,v2,1/3] doc: mptcp: add missing
'available_schedulers' entry
13667674: [mptcp-next,v2,2/3] doc: mptcp: alphabetical order
13667675: [mptcp-next,v2,3/3] doc: new 'mptcp' page in 'networking':
      - Series: doc: introduce MPTCP global doc
      - Submitter: Matthieu Baerts (NGI0)
      - URL:
https://patchwork.kernel.org/project/mptcp/list/?series=854193&state=*&archive=both



Pending patches:
    - The list of pending patches can be seen on PatchWork:
      https://patchwork.kernel.org/project/mptcp/list/?state=*1


    netdev (if mptcp ML is in cc) (by: Edward Liaw, Geliang Tang,
Matthieu Baerts (NGI0), Yunsheng Lin):

13659842: [bpf-next,v2,1/2] selftests/bpf: Add mptcp subflow example
13659843: [bpf-next,v2,2/2] selftests/bpf: Add mptcp subflow subtest:
      - Series: selftests/bpf: new MPTCP subflow subtest
      - Submitter: Matthieu Baerts (NGI0)
      - URL:
https://patchwork.kernel.org/project/mptcp/list/?series=851945&state=*&archive=both
      - waiting for the "add netns helpers" to be applied first

13670122: [v5,36/68] selftests/net: Drop define _GNU_SOURCE:
    - replaced by a simpler fix (modifying one line, not 66 patches
everywhere) → Done

13663515: [5.10.y] mptcp: ensure snd_nxt is properly initialized on connect:
      - Submitter: Matthieu Baerts (NGI0)
      - URL:
https://patchwork.kernel.org/project/mptcp/patch/20240513151717.2733290-2-matttbe@kernel.org/

13665243: [RFC,v4,11/13] net: replace page_frag with page_frag_cache:
    - Reviewed by Mat

13665604: [v2] checkpatch: skip warnings for symbol links:
      - Submitter: Geliang Tang
      - URL:
https://patchwork.kernel.org/project/mptcp/patch/8e5cdb8e4eb6d964ec3ffe961ab8e65b8788584f.1715815795.git.tanggeliang@kylinos.cn/
      - waiting for checkpatch maintainers' feedback

13665648: [bpf-next,v2,1/8] selftests/bpf: Add unshare_netns helper
13665649: [bpf-next,v2,2/8] selftests/bpf: Use unshare_netns helper
13665650: [bpf-next,v2,3/8] selftests/bpf: Drop duplicate create_netns
13665651: [bpf-next,v2,4/8] selftests/bpf: Export create_netns helper
13665652: [bpf-next,v2,5/8] selftests/bpf: Use create_netns helper
13665653: [bpf-next,v2,6/8] selftests/bpf: Export cleanup_netns helper
13665654: [bpf-next,v2,7/8] selftests/bpf: Use cleanup_netns helper
13665655: [bpf-next,v2,8/8] selftests/bpf: Use netns helpers in lwt tests:
      - Series: add netns helpers
      - Submitter: Geliang Tang
      - URL:
https://patchwork.kernel.org/project/mptcp/list/?series=853539&state=*&archive=both
      - waiting for BPF maintainers' feedback

13668121: [net,1/3] doc: mptcp: add missing 'available_schedulers' entry
13668122: [net,2/3] doc: mptcp: alphabetical order
13668123: [net,3/3] doc: new 'mptcp' page in 'networking':
      - Series: doc: mptcp: new general doc and fixes
      - Submitter: Matthieu Baerts (NGI0)
      - URL:
https://patchwork.kernel.org/project/mptcp/list/?series=854348&state=*&archive=both
      - cannot go to net (no exception for the doc about existing
features as Matth thought), will need to be resent to net-next


    our repo (by: Edward Liaw, Geliang Tang, Matthieu Baerts, Matthieu
Baerts (NGI0)):

12282219: [RESEND,RFC,2/4] tcp: move selected mptcp helpers to tcp.h/mptcp.h
12282221: [RESEND,RFC,4/4] tcp: parse tcp options contained in reset
packets:
12282223: [RESEND,RFC,mptpcp-next] mptcp: add ooo prune support:
12282225: [RESEND,1/5] tcp: make two mptcp helpers available to tcp stack
12282227: [RESEND,5/5] mptcp: send fastclose if userspace closes socket
with unread data:
13070467: [mptcp-next,v4,1/2] mptcp: update mptcp_push_release
13070468: [mptcp-next,v4,2/2] mptcp: retrans for redundant sends:
      - State: Changes requested
      - Series: BPF redundant scheduler, part 3
      - Submitter: Geliang Tang
      - URL:
https://patchwork.kernel.org/project/mptcp/list/?series=703615&state=*&archive=both
      - Skip: same status

13305089: [mptcp-next,1/6] mptcp: sockopt: move tcp_inq code to a
dedicated function
13305091: [mptcp-next,2/6] mptcp: sockopt: update supported list
13305093: [mptcp-next,3/6] mptcp: sockopt: get val in a generic way
13305090: [mptcp-next,4/6] mptcp: sockopt: add missing getsockopt() options
13305094: [mptcp-next,5/6] mptcp: sockopt: set val in a generic way
13305092: [mptcp-next,6/6] mptcp: sockopt: support IP_TTL &
IPV6_UNICAST_HOPS:
      - State: Changes requested
      - Series: mptcp: sockopt: uniform code to get/set values
      - Submitter: Matthieu Baerts
      - URL:
https://patchwork.kernel.org/project/mptcp/list/?series=763505&state=*&archive=both
      - Skip: same status

13583230: [RFC] mptcp: react scheduler when subflow events pop up:
      - State: Changes requested
      - Submitter: Geliang Tang
      - URL:
https://patchwork.kernel.org/project/mptcp/patch/433320c3a9db77bea53a34fc9c43a3c7e3320399.1709693691.git.tanggeliang@kylinos.cn/
      - Skip: same status

13656189: [mptcp-net,v2] mptcp: fix the default value of scaling_ratio:
      - State: Changes requested
      - Submitter: Geliang Tang
      - URL:
https://patchwork.kernel.org/project/mptcp/patch/0ccc1c26d27d6ee7be22806a97983d37c6ca548c.1715053270.git.tanggeliang@kylinos.cn/
      - Skip: same status

13665855: [mptcp-next,v3,1/2] Squash to "selftests/bpf: Add mptcp
subflow subtest"
13665856: [mptcp-next,v3,2/2] Squash to "selftests/bpf: Add bpf
scheduler test":
      - State: Awaiting upstream
      - Series: fixes for create_netns
      - Submitter: Geliang Tang
      - URL:
https://patchwork.kernel.org/project/mptcp/list/?series=853620&state=*&archive=both
      - waiting for the "add netns helpers" series to be applied first

13669245: [mptcp-next,1/4] selftests: mptcp: rename ns to ns1 in diag.sh
13669246: [mptcp-next,2/4] selftests: mptcp: use setup_ns helper in lib.sh
13669247: [mptcp-next,3/4] selftests: mptcp: use cleanup_all_ns helper
in lib.sh
13669248: [mptcp-next,4/4] selftests: mptcp: use wait_local_port_listen
helper:
      - State: New
      - Series: use helpers in lib.sh and net_helpers.sh
      - Submitter: Geliang Tang
      - URL:
https://patchwork.kernel.org/project/mptcp/list/?series=854683&state=*&archive=both
      - Matth is reviewing them → Done

13670735: [mptcp-net,v3,1/4] selftests: mptcp: lib: support flaky subtests
13670736: [mptcp-net,v3,2/4] selftests: mptcp: simult flows: mark
'unbalanced' tests as flaky
13670737: [mptcp-net,v3,3/4] selftests: mptcp: join: mark 'fastclose'
tests as flaky
13670738: [mptcp-net,v3,4/4] selftests: mptcp: join: mark 'fail' tests
as flaky:
      - State: Queued
      - Series: selftests: mptcp: mark unstable subtests as flaky
      - Submitter: Matthieu Baerts (NGI0)
      - URL:
https://patchwork.kernel.org/project/mptcp/list/?series=855015&state=*&archive=both
      - TODO: Matth: applied them → Done
      - It might be good to find a solution for the packetdrill tests:
          - restart them and check if they are failing twice in a row?
          - Usually not good to do that, but maybe an exception here for
packetdrill?
          - TODO: Matth → fixes have been sent instead:
            https://github.com/multipath-tcp/packetdrill/pull/140 and +



Issues on GitHub:
    https://github.com/multipath-tcp/mptcp_net-next/issues/

    Recently opened (latest from the last meeting: 488):

  491  selftests: `mptcp_join`: tests `Infinite map` & `MP_FAIL MP_RST`
are unstable [bug] [selftests]

  490  syzkaller: WARNING in `__inet_accept` [bug] [syzkaller]
[reproducer] [bisected] @pabeni:
      - Paolo already sent a patch to netdev (for -net), modifying TCP.
      - not MPTCP specific
      - the warning conditions have been relaxed

  489  IPv6 Rejoin Subflow:
      - we might need the 'ip mptcp' sequence
      - TODO: check that


    Bugs (opened, flagged as "bug" and assigned)

  490  syzkaller: WARNING in `__inet_accept` [bug] [syzkaller]
[reproducer] [bisected] @pabeni

  487  BPF selftests fails with EAGAIN [bug] [selftests] [bpf] @geliangtang:
      - Geliang bisected the issue and found that it is linked to
'scale_ratio' again:

https://github.com/multipath-tcp/mptcp_net-next/commit/dfa2f0483360d4d6f2324405464c9f281156bd87
       - to be investigated
       - we had to do some adaptations on MPTCP side after thisi patch,
maybe we missed something?
       - It is important to note that in the reproducer that Geliang is
using, no BPF code is used (default scheduler), in a blocking mode, and
EAGAIN is received.
       - TODO check

  477  Client: fallback to TCP after X MPC [bug] @matttbe
  445  MPTCP Info counters: start seq numbers ones from 0 [bug] @geliangtang
  403  userspace pm: only remove entry from `local_addr_list` when
sending a `REMOVE_ADDR` [bug] [pm] @geliangtang
  343  scheduler: react when subflow-level events pop up (ACK/RTO) [bug]
[sched] @geliangtang


    Bugs (opened and flagged as "bug" and not assigned)

  491  selftests: `mptcp_join`: tests `Infinite map` & `MP_FAIL MP_RST`
are unstable [bug] [selftests]
  484  BPF: `setsockopt` on an MPTCP socket: check support [bug] [bpf]
  483  [6.1] selftests: `mptcp_connect.sh` failures with
`copyfd_io_poll: poll timed out` errors [bug] [selftests]
  476  packetdrill: coalescing feature doesn't take into account MPTCP
options [bug] [packetdrill]
  475  `simult_flows`: unbalanced bwidth tests are unstable [bug]
[selftests]
  439  mptcp vs net.ipv4.tcp_shrink_window [bug]
  416  No new subflow when removing an endpoint and adding a new one [bug]
  336  Issues with BPF packet scheduler [bug] [sched] [bpf]
  325  selftests: `mptcp_join`: test 18 `signal addresses race test` is
sometimes failing [bug] [selftests]
  324  selftests: `mptcp_join`: tests `fastclose test` & `fastclose
server test` are sometimes failing [bug] [selftests]
  315  Issues with backup flow [bug]


    In Progress (opened, new feature and assigned)

  480  MPTCP and KTLS support [enhancement] @geliangtang
  434  in-kernel PM: increase subflows limit [enhancement] [pm] @matttbe
  353  sockopt: uniform code to get/set values [enhancement] @matttbe
  349  scheduler: (un)mark a subflow as "stale" [enhancement] [sched]
@geliangtang
  296  Support IP_TTL & IPV6_UNICAST_HOPS [enhancement] @matttbe
  234  Packetdrill: Support MPC+DATA+checksum error [enhancement]
[packetdrill] @spoorva
  167  packetdrill: add coverage for RM_ADDR [enhancement] [packetdrill]
@dcaratti
   75  BPF: packet scheduler [enhancement] [sched] [bpf] @geliangtang
   74  BPF: path manager [enhancement] [pm] [bpf] @geliangtang


    Assigned Questions (opened, questions and assigned)

None.


    Open questions (opened, questions and not assigned)

  459  Are the endpoint flags `signal` and `subflow` meant to be
exclusive? or how to get MPTCP to work for both directions? [question]
  452  mptcp causes the network to become very slow [question]
  412  shadowsocks-libev not working, need guidance for PM configuration
[question]
  411  Problem with IPROTO [question]


    For later (opened and not assigned)

  489  IPv6 Rejoin Subflow
  481  remove refcount on TCP sockets for the timers [enhancement]
  469  CI: add code coverage support [enhancement] [CI]
  467  Scheduler: add redundant scheduler support in BPF [enhancement]
[sched]
  462  selftests: print (and set?) random seed [enhancement] [selftests]
  461  Protocol: extend Data-Level Length field [enhancement] [protocol]
  448  Allow sending ADD_ADDR IPv6 with port-number if TCP-timestamps
are enabled [enhancement]
  441  optimize established options generation [enhancement]
  440  in-kernel PM: re-establish subflows after "network" errors
[enhancement] [pm]
  426  selftests: validate listener sockets with multiple accepts
[enhancement] [selftests]
  397  Doc and guidance for users [enhancement] [documentation]
  396  ci: periodically run selftests from the export branch on stable
kernels [enhancement] [selftests]
  389  packetdrill: increase coverage for "early `close()`" cases
[enhancement] [packetdrill]
  350  scheduler: API changes (tasks) [enhancement] [sched]
  348  scheduler: frequently probe "stale" subflow with reinjected data
[enhancement] [sched]
  345  scheduler: "penalise" some subflows by sending less than their
cwnd [enhancement] [sched]
  344  scheduler: new callback to initiate optimisations [enhancement]
[sched]
  337  in-kernel PM: listen socket: support "behind a NAT" use case
[enhancement] [pm]
  335  Server to Client subflows: option to allow joining the initial
address and port [enhancement] [pm]
  334  PM: in-kernel: send >1 ADD_ADDR before the establishment of a new
subflow [enhancement] [pm]
  333  New MIBs to help understanding issues when PM cannot create new
subflows [enhancement] [pm]
  332  scheduler: implement a "opportunistic retransmission"
[enhancement] [sched]
  298  CG Memory accounting for passive MPTCP socket [enhancement]
  289  mptcp: audit comments for non inclusive language [enhancement]
  273  Packetdrill: test outgoing MP_FASTCLOSE [enhancement] [packetdrill]
  266  Packetdrill: add MP_FAIL coverage [packetdrill]
  236  Review supported sockopts list [enhancement]
  222  Netlink event API: add SUBFLOW_CREATED event [enhancement]
  215  TCP Urgent pointer and MPTCP [enhancement]
  213  add MPTCP man page [enhancement]
  208  better handing of ssk memory pressure in the TX path [enhancement]
  202  Add sendmsg support for ancillary data [enhancement]
  197  more mibs needed [enhancement]
  180  Get an update when MPTCP fall back to TCP [enhancement]
  177  improve retransmit subflow selection [enhancement]
  169  packetdrill: add coverage for ADD_ADDR and MP_JOIN on a different
port [enhancement] [packetdrill]
  150  remove completely workqueue usage [enhancement]
  141  avoid acquiring mptcp_data_lock() twice in the receive path
[enhancement]
   78  notify the application (userspace) when a subflow is
added/removed [enhancement]
   57  After a few attempts of failed MPTCP, directly fallback to TCP
for new connections [enhancement]
   41  reduce indirect call usage [enhancement]
   24  Revisit layout of struct mptcp_subflow_context [enhancement]


    Recently closed (since 2024-05-15)

  479  when using openvpn in tcp with dco, we have a bug [question]




FYI: Current Roadmap:
    - Bugs:
https://github.com/multipath-tcp/mptcp_net-next/issues?q=is%3Aissue+is%3Aopen+label%3Abug
    - Current/Coming merge window (6.11):
https://github.com/orgs/multipath-tcp/projects/9
    - For later: https://github.com/orgs/multipath-tcp/projects/1
    - Changelog has been updated for v6.10:
https://github.com/multipath-tcp/mptcp_net-next/wiki#changelog



Patches to send to NetDev:

    - Fixes for other trees:


    - Fixes for -net:

        - [ea10e32d1bdf] selftests: mptcp: simult flows: re-adapt BW
(Matthieu Baerts (NGI0)):
            - TODO: drop it, not having it revealed an issue: Matth:
                - Done:
                    - 788dba6bf7a3: Revert "selftests: mptcp: simult
flows: re-adapt BW"
                    - d16364b20d29: conflict in
t/selftests-mptcp-simult-flows-mark-unbalanced-tests-as-flaky
                    - Results: 47bd276d110b..762c908d20c6 (export-net)
                    - Results: 958cd2318648..552e0e0ec982 (export)

            - TODO: Matth: send them at the end of the week → in progress

        - [92a0551c6ed8] doc: mptcp: add missing 'available_schedulers'
entry (Matthieu Baerts (NGI0))
        - [b01fa14e4472] doc: mptcp: alphabetical order (Matthieu Baerts
(NGI0))
        - [b34759db004a] doc: new 'mptcp' page in 'networking' (Matthieu
Baerts (NGI0)):
            - should be sent to net-next instead

    - Fixes for net-next:


    - Features for net-next:

        - [e1c43ba52943] mptcp: use mptcp_win_from_space helper (Geliang
Tang)
        - [3d93d74c7b88] mptcp: add mptcp_space_from_win helper (Geliang
Tang)
        - [ef05adc5d6b0] mptcp: refer to 'MPTCP' socket in comments
(Davide Caratti):
            - net-next is closed

    - Features for net-next (next):


    - Features for other trees:

        - [454054ff2c78] mptcp: add sched_data helpers (Geliang Tang)
        - [37b58524e7c4] bpf: Add bpf_mptcp_sched_ops (Geliang Tang)
        - [4940b339ff2d] bpf: Add bpf_mptcp_sched_kfunc_set (Geliang Tang)
        - [8e5d8e427858] selftests/bpf: Add mptcp subflow example
(Nicolas Rybowski)
        - [3944441e17e0] selftests/bpf: Add mptcp pm_nl_ctl link
(Geliang Tang)
        - [be3f6d7bca1b] selftests/bpf: Add mptcp subflow subtest
(Geliang Tang)
        - [20a955f76624] selftests/bpf: Add bpf scheduler test (Geliang
Tang)
        - [ebe4a4095f49] selftests/bpf: Add bpf_first scheduler & test
(Geliang Tang)
        - [c344c84fc7bf] selftests/bpf: Add bpf_bkup scheduler & test
(Geliang Tang)
        - [b358b3548f3b] selftests/bpf: Add bpf_rr scheduler & test
(Geliang Tang)
        - [01f1c73049ed] selftests/bpf: Add bpf_red scheduler & test
(Geliang Tang)
        - [9d4ad28f14b0] bpf: Export more bpf_burst related functions
(Geliang Tang)
        - [2a9ab73cf99e] selftests/bpf: Add bpf_burst scheduler & test
(Geliang Tang):
            - net-next is closed



Extra tests:
    - news about Syzkaller? (Christoph):
        - /

    - news about interop with mptcp.org/other stacks? (?):
        - /

    - Packetdrill (Davide):
        - /

    - Patchew (Davide):
        - /

    - CI (Matth):
        - https://ci-results.mptcp.dev/flakes.html
        - /



simult flows:
    - the unstable test helped Paolo (with the version from net)
    - patches from a few months ago to avoid EOL blocking don't seem to
be enough (related to Bless algorithm)
    - it looks like we send too much on one subflow, impacting the whole
connection



Next meeting:
    - /!\ Next one on *Tuesday* (*not* Wednesday), the 28th of May.
    - 17:30 UTC (8.30am PDT, 5.30pm CEST, 11.30pm CST)
    - Still open to everyone!
    - https://annuel2.framapad.org/p/mptcp_upstreaming_20240528



Feel free to comment on these topics and suggest new ones for the next
meeting!

Talk to you on *Tuesday*,
Matt
-- 
Sponsored by the NGI0 Core fund.


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-05-24 15:55 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-24 15:55 [Weekly meetings] MoM - 22nd of May 2024 Matthieu Baerts

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox