MPTCP Archive mirror
 help / color / mirror / Atom feed
From: Matthieu Baerts <matttbe@kernel.org>
To: MPTCP Upstream <mptcp@lists.linux.dev>
Subject: [Weekly meetings] MoM - 8th of May 2024
Date: Fri, 10 May 2024 11:27:21 +0200	[thread overview]
Message-ID: <2e885332-f467-4323-8e69-5b95a4ae3a76@kernel.org> (raw)

Hello everyone,

Last week, we had our new meeting with Mat (Cruise), Christoph (Apple),
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: Jason Xing, Joel Granados via B4
Relay, John Hubbard, Matthieu Baerts (NGI0), Shi-Sheng Yang):

13642818: [net-next,v9,1/7] net: introduce rstreason to detect why the
RST is sent
13642819: [net-next,v9,2/7] rstreason: prepare for passive reset
13642820: [net-next,v9,3/7] rstreason: prepare for active reset
13642821: [net-next,v9,4/7] tcp: support rstreason for passive reset
13642822: [net-next,v9,5/7] mptcp: support rstreason for passive reset
13642823: [net-next,v9,6/7] mptcp: introducing a helper into active
reset logic
13642824: [net-next,v9,7/7] rstreason: make it work in trace world:
      - Series: Implement reset reason mechanism to detect
      - Submitter: Jason Xing
      - URL:
https://patchwork.kernel.org/project/mptcp/list/?series=847691&state=*&archive=both

13647492: [net] mptcp: ensure snd_nxt is properly initialized on connect:
      - Submitter: Matthieu Baerts (NGI0) (Paolo Abeni)
      - URL:
https://patchwork.kernel.org/project/mptcp/patch/20240429-upstream-net-20240429-mptcp-snd_nxt-init-connect-v1-1-59ceac0a7dcb@kernel.org/

13650394: [net-next,v6,0/8] sysctl: Remove sentinel elements from networking
13650393: [net-next,v6,1/8] net: Remove the now superfluous sentinel
elements from ctl_table array
13650395: [net-next,v6,2/8] net: ipv{6,4}: Remove the now superfluous
sentinel elements from ctl_table array
13650397: [net-next,v6,3/8] net: rds: Remove the now superfluous
sentinel elements from ctl_table array
13650401: [net-next,v6,4/8] net: sunrpc: Remove the now superfluous
sentinel elements from ctl_table array
13650400: [net-next,v6,5/8] net: Remove ctl_table sentinel elements from
several networking subsystems
13650396: [net-next,v6,6/8] netfilter: Remove the now superfluous
sentinel elements from ctl_table array
13650399: [net-next,v6,7/8] appletalk: Remove the now superfluous
sentinel elements from ctl_table array
13650398: [net-next,v6,8/8] ax.25: x.25: Remove the now superfluous
sentinel elements from ctl_table array:
      - Series: [net-next,v6,1/8] net: Remove the now superfluous
sentinel elements from ctl_table array
      - Submitter: Joel Granados via B4 Relay
      - URL:
https://patchwork.kernel.org/project/mptcp/list/?series=849602&state=*&archive=both

13651840: [v2,net-next] mptcp: fix typos in comments:
      - Submitter: Shi-Sheng Yang
      - URL:
https://patchwork.kernel.org/project/mptcp/patch/20240502154740.249839-1-fourcolor4c@gmail.com/
      - Such patches not coming from big companies are OK

13655511: mptcp: fix possible NULL dereferences:
      - Submitter: Matthieu Baerts (NGI0) (Eric Dumazet)
      - URL:
https://patchwork.kernel.org/project/mptcp/patch/20240506135129.3528973-2-matttbe@kernel.org/

13655640: [net] mptcp: only allow set existing scheduler for
net.mptcp.scheduler:
      - Submitter: Matthieu Baerts (NGI0) (Gegory Detal)
      - URL:
https://patchwork.kernel.org/project/mptcp/patch/20240506-upstream-net-20240506-mptcp-sched-exist-v1-1-2ed1529e521e@kernel.org/

13655905: [v2] selftests/net: fix uninitialized variables:
      - Submitter: John Hubbard
      - URL:
https://patchwork.kernel.org/project/mptcp/patch/20240506190204.28497-1-jhubbard@nvidia.com/


    our repo (by: Geliang Tang, Gregory Detal, Matthieu Baerts (NGI0)):

13640918: [mptcp-next,v9,1/4] selftests/bpf: Add mptcp subflow example
13640919: [mptcp-next,v9,2/4] selftests/bpf: Add mptcp subflow subtest
13640920: [mptcp-next,v9,3/4] selftests/bpf: Handle SIGINT when creating
netns
13640921: [mptcp-next,v9,4/4] Squash to "selftests/bpf: Add bpf
scheduler test":
13651699: [mptcp-next] Squash to "selftests/bpf: Add bpf scheduler test"
- drop send_data:
      - Series: setsockopt per subflow: BPF
      - Submitter: Geliang Tang
      - URL:
https://patchwork.kernel.org/project/mptcp/list/?series=847234&state=*&archive=both
      - Already sent to BPF maintainers

13648892: [mptcp-next,1/2] mptcp: only allow set existing scheduler for
net.mptcp.scheduler
13648893: [mptcp-next,2/2] mptcp: add net.mptcp.available_schedulers:
      - Series: mptcp: fix net.mptcp.scheduler behavior
      - Submitter: Gregory Detal
      - URL:
https://patchwork.kernel.org/project/mptcp/list/?series=849264&state=*&archive=both
      - Patch 1 already sent to Netdev

13651925: [mptcp-next,1/4] mptcp: prefer strscpy over strcpy
13651926: [mptcp-next,2/4] mptcp: move mptcp_pm_gen.h's include
13651927: [mptcp-next,3/4] mptcp: remove unnecessary else statements
13651928: [mptcp-next,4/4] mptcp: include inet_common in mib.h:
      - Series: mptcp: Spring cleaning
      - Submitter: Matthieu Baerts (NGI0)
      - URL:
https://patchwork.kernel.org/project/mptcp/list/?series=849979&state=*&archive=both
      - Fix CLang / CheckPatch warnings

13653375: [mptcp-next] Squash to "mptcp: add bpf_mptcp_sched_ops" -- fix
bpf access:
      - Submitter: Gregory Detal
      - URL:
https://patchwork.kernel.org/project/mptcp/patch/20240503-bpf_fix_access-v1-1-5a714318ea64@gmail.com/



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


    netdev (if mptcp ML is in cc) (by: Edward Liaw):

13657875: [v2,4/5] selftests: Drop define _GNU_SOURCE

    our repo (by: Geliang Tang, Matthieu Baerts, Matthieu Baerts (NGI0),
Yunsheng Lin):

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

13655427: [mptcp-next,RFC] mptcp: socket option to check for fallback:
      - State: RFC
      - Submitter: Matthieu Baerts (NGI0)
      - URL:
https://patchwork.kernel.org/project/mptcp/patch/20240506-getsockopt-tcp_is_mptcp-v1-1-4f044660f7c3@kernel.org/
      - Send this to netdev: without the RFC tag
      - Add Mat's ACK
      - TODO Matth → Done

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/
      - Matth asked some questions to Geliang: the root cause is not clear
      - It is possible that scaling_ratio is linked to the issue, but it
looks strange to limit it
      - Maybe scaling_ratio is set to the max value by accident?

13656646: [bpf-next,1/4] selftests/bpf: Handle SIGINT when creating netns
13656647: [bpf-next,2/4] selftests/bpf: Add RUN_MPTCP_TEST macro
13656648: [bpf-next,3/4] selftests/bpf: Add mptcp subflow example
13656649: [bpf-next,4/4] selftests/bpf: Add mptcp subflow subtest:
      - State: Changes requested
      - Series: selftests/bpf: new MPTCP subflow subtest & improvements
      - Submitter: Matthieu Baerts (NGI0)
      - URL:
https://patchwork.kernel.org/project/mptcp/list/?series=851127&state=*&archive=both
      - We should drop patch 2
      - Patch 1 should be separated and for all BPF selftests using netns
      - Patch 3 and 4 seem OK, but need to be adapted after having
removed patch 2/4: Matth can do that directly in TopGit.
      - TODO Matth → Done (but not OK for BPF CI using IPRoute 5.5!)

13658316: [mptcp-net,1/2] mptcp: SO_KEEPALIVE: fix getsockopt support
13658317: [mptcp-net,2/2] mptcp: fix full TCP keep-alive support:
      - State: New
      - Series: mptcp: getsockopt(SO_KEEPALIVE) and TCP_KEEP* sockopts
      - Submitter: Matthieu Baerts (NGI0)
      - URL:
https://patchwork.kernel.org/project/mptcp/list/?series=851490&state=*&archive=both
      - Paolo just did a review
      - Matt will send a v2
      - The idea would be to send that this week to netdev, for next,
with a Fixes tag
      - TODO Matth → done

13658789: [net-next,v3,11/13] net: replace page_frag with page_frag_cache:
    - This address one comment from Mat
    - To be reviewed → Done




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

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

/

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

  487  BPF selftests fails with EAGAIN [bug] [selftests] [bpf] @geliangtang
  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
  383  TCP_KEEPIDLE, TCP_KEEPINTVL, TCP_KEEPCNT are not implemented in
mptcp_setsockopt_sol_tcp [enhancement] @matttbe
  343  scheduler: react when subflow-level events pop up (ACK/RTO) [bug]
[sched] @geliangtang


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

  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)

  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)

  479  when using openvpn in tcp with dco, we have a bug [question]
  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)

  481  remove refcount on TCP sockets for the timers [enhancement]
  480  MPTCP and KTLS support [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]:
      - Gregory (Tessares) is working on it
      - RFC patches will come to start discussions
      - Extending the API seems possible, but checking if it would not
be better to break it while we can

  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 20240424)

  488  Does MPTCP support a global proxy in the middle? [question]
  294  Clear way for userspace to know if the connection fell back to
TCP [enhancement] @matttbe
   76  [gs]etsockopt per subflow: BPF [enhancement] [bpf] @geliangtang



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.10):
https://github.com/orgs/multipath-tcp/projects/8
    - For later: https://github.com/orgs/multipath-tcp/projects/1



Patches to send to NetDev:

    - Fixes for other trees: /


    - Fixes for -net:

        - [ad3ad64b961f] selftests: mptcp: simult flows: re-adapt BW
(Matthieu Baerts (NGI0))
        - [42f34e423396] mptcp: only allow set existing scheduler for
net.mptcp.scheduler (Gregory Detal):
            - sent and applied

    - Fixes for net-next: /


    - Features for net-next:

        - [c0282bcde32c] mptcp: sockopt: info: stop early if no buffer
(Matthieu Baerts (NGI0))
        - [c1b52a874e4a] mptcp: add net.mptcp.available_schedulers
(Gregory Detal)
        - [1516d8b4a848] mptcp: prefer strscpy over strcpy (Matthieu
Baerts (NGI0))
        - [082768b8a71b] mptcp: move mptcp_pm_gen.h's include (Matthieu
Baerts (NGI0))
        - [656b77aa8654] mptcp: remove unnecessary else statements
(Matthieu Baerts (NGI0))
        - [4ccf962f8cf3] mptcp: include inet_common in mib.h (Matthieu
Baerts (NGI0)):
            - Can be sent: TODO Matth → In progress
            - Should be sent this week: will likely be closed next week

    - Features for net-next (next): /


    - Features for other trees:

        - [aa0777552cf7] mptcp: add sched_data helpers (Geliang Tang)
        - [11588a1d3a08] bpf: Add bpf_mptcp_sched_ops (Geliang Tang)
        - [b86073ebdee1] bpf: Add bpf_mptcp_sched_kfunc_set (Geliang Tang)

        - [603674bf860f] selftests/bpf: Handle SIGINT when creating
netns (Geliang Tang):
            - To be removed from our tree (Matth: done), adapted (no
longer MPTCP specific) and sent separately to BPF

        - [3cac815b52cb] selftests/bpf: Add RUN_MPTCP_TEST macro
(Geliang Tang)
            - To be removed from our tree (Matth: done)

        - [698cf2058dea] selftests/bpf: Add mptcp subflow example
(Nicolas Rybowski)
        - [a1b677baab0a] selftests/bpf: Add mptcp subflow subtest
(Geliang Tang):
            - To be adapted and resent (Matth) → Done

        - [1622dcfffa65] selftests/bpf: Add mptcp sched structs (Geliang
Tang)
        - [1a8819c70ad2] selftests/bpf: Add bpf scheduler test (Geliang
Tang)
        - [800141f83243] selftests/bpf: Add bpf_first scheduler & test
(Geliang Tang):
            - To be adapted to remove the macro containing the helper
(Matth: done)

        - [0c6e328153ef] selftests/bpf: Add bpf_bkup scheduler & test
(Geliang Tang)
        - [ff0e7a8f3367] selftests/bpf: Add bpf_rr scheduler & test
(Geliang Tang)
        - [7f3c484af108] selftests/bpf: Add bpf_red scheduler & test
(Geliang Tang)
        - [2f49b51c86f2] bpf: Export more bpf_burst related functions
(Geliang Tang)
        - [0be4d21a9b29] selftests/bpf: Add bpf_burst scheduler & test
(Geliang Tang)




Extra tests:
    - news about Syzkaller? (Christoph):
        - Christoph is trying to have it back

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

    - Packetdrill (Davide):
        - Matth opened a PR to have CLang support

    - Patchew (Davide):
        - /

    - CI (Matth):
        - https://ci-results.mptcp.dev/flakes.html
        - quite stable (more than on netdev side)



Other topics:
    - Netdev conference @ Intel Santa Clara (CA, USA), 15-19 July 2024:
        - https://netdevconf.info/0x18/pages/travel.html
        - Christoph and Mat will probably be there



Next meeting:
    - Next one on *Wednesday*, the 15th 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_20240515



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

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


                 reply	other threads:[~2024-05-10  9:27 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2e885332-f467-4323-8e69-5b95a4ae3a76@kernel.org \
    --to=matttbe@kernel.org \
    --cc=mptcp@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).