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 - 27th of March 2024
Date: Thu, 28 Mar 2024 19:31:39 +0100	[thread overview]
Message-ID: <149da177-014a-4c4b-984b-d2aff74edf19@kernel.org> (raw)

Hello everyone,

This week, we had our new meeting with Mat (Cruise), Paolo and Davide
(Red Hat), 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: Geliang Tang):

13601195: selftests/bpf: Use start_server in bpf_tcp_ca:
      - Submitter: Geliang Tang
      - URL:
https://patchwork.kernel.org/project/mptcp/patch/9926a79118db27dd6d91c4854db011c599cabd0e.1711331517.git.tanggeliang@kylinos.cn/
      - For the BPF tree


    our repo (by: Davide Caratti):

13597481: [mptcp-net,v4] mptcp: don't account accept() of non-MPC client
as fallback to TCP:
      - Submitter: Davide Caratti
      - URL:
https://patchwork.kernel.org/project/mptcp/patch/054bcffde84b87f588f788b30dce2b702a532f64.1710923679.git.dcaratti@redhat.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: Geliang Tang):

13603810: [bpf-next,v4,1/2] selftests/bpf: Use connect_fd_to_fd in
bpf_tcp_ca
13603811: [bpf-next,v4,2/2] selftests/bpf: Drop settimeo in do_test:
      - Series: Use start_server and connect_fd_to_fd
      - Submitter: Geliang Tang
      - URL:
https://patchwork.kernel.org/project/mptcp/list/?series=838305&state=*&archive=both
      - For the BPF tree


    our repo (by: Geliang Tang, Matthieu Baerts):

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
      - status is the same

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
      - status is the same

13566825: [mptcp-next,v2,6/7] mptcp: add check_id for
lookup_anno_list_by_saddr
13566826: [mptcp-next,v2,7/7] selftests: mptcp: flush userspace addrs list:
      - State: Changes requested
      - Series: some cleanups
      - Submitter: Geliang Tang
      - URL:
https://patchwork.kernel.org/project/mptcp/list/?series=828557&state=*&archive=both
      - 7/7: we can probably drop it
      - TODO: Matth: ask Geliang what to do with them? → Done

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/
      - status is the same
      - would be good to have a plan, no need to go into the details (or
not too much)
      - we can organise a meeting at a different time to discuss it, it
will be easier for Geliang

13595081: [mptcp-next,1/3] mptcp: add last time fields in mptcp_sock
13595082: [mptcp-next,2/3] mptcp: add last time fields in mptcp_info
13595083: [mptcp-next,3/3] selftests: mptcp: add last time actions tests:
      - State: Changes requested
      - Series: display "last time" actions info
      - Submitter: Geliang Tang
      - URL:
https://patchwork.kernel.org/project/mptcp/list/?series=836000&state=*&archive=both
      - Mat did a review, a few things to change

13605983: [mptcp-next,v4,01/11] Squash to "selftests/bpf: Add bpf
scheduler test" fix
13605984: [mptcp-next,v4,02/11] selftests/bpf: Add RUN_MPTCP_TEST macro
13605985: [mptcp-next,v4,03/11] selftests/bpf: Add mptcp subflow example
13605986: [mptcp-next,v4,04/11] selftests/bpf: Add mptcp subflow subtest
13605987: [mptcp-next,v4,05/11] Squash to "selftests/bpf: Add bpf
scheduler test" - cleanups
13605988: [mptcp-next,v4,06/11] Squash to "selftests/bpf: Add bpf
scheduler test" - add send_data_and_verify
13605989: [mptcp-next,v4,07/11] Squash to "selftests/bpf: Add bpf_first
test"
13605990: [mptcp-next,v4,08/11] Squash to "selftests/bpf: Add bpf_bkup test"
13605991: [mptcp-next,v4,09/11] Squash to "selftests/bpf: Add bpf_rr test"
13605992: [mptcp-next,v4,10/11] Squash to "selftests/bpf: Add bpf_red test"
13605993: [mptcp-next,v4,11/11] Squash to "selftests/bpf: Add bpf_burst
test":
      - State: New
      - Series: setsockopt per subflow: BPF
      - Submitter: Geliang Tang
      - URL:
https://patchwork.kernel.org/project/mptcp/list/?series=838784&state=*&archive=both
      - Matth can look at it: TODO




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

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

/


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

  477  Client: fallback to TCP after X MPC [bug] @matttbe:
      - that seems important if MPTCP is used by default on the client side
      - but probably hard to have it backported
      - important to have a sysctl to control the blackhole + an easy
way to check if this feature is available
      - fallback cannot be too "optimised"/smart because the userspace
can already interract with the MPTCP socket at that point
          - we can change the ULP ops
          - to do something smart, the MPTCP socket should inherit from
the TCP one: waste of memory, etc. just for the client side and to
support fallbacks, probably not worth it.
      - Matth will look at that

  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)

  476  packetdrill: coalescing feature doesn't take into account MPTCP
options [bug] [packetdrill]
  475  `simult_flows`: unbalanced bwidth tests are unstable [bug]
[selftests]
  463  syzkaller: INFO: task hung in `lock_sock_nested` [bug] [syzkaller]
  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]
  318  selftests: `mptcp_connect.sh` sometimes fails when validating SYN
cookies [bug] [selftests]
  315  Issues with backup flow [bug]


    In Progress (opened, new feature and assigned)

  446  MPTCP Info counters: display "last time" actions info
[enhancement] @geliangtang
  383  TCP_KEEPIDLE, TCP_KEEPINTVL, TCP_KEEPCNT are not implemented in
mptcp_setsockopt_sol_tcp [enhancement] @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
   76  [gs]etsockopt per subflow: BPF [enhancement] [bpf] @geliangtang
   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 assigned)

  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]
  394  selftests: ability to track subtests [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]
  133  PM: Closing the MPTCP connection when last subflow is not the
initial one and its IP address is removed [enhancement]
  128  When the last subflow is closed without DATA_FIN and msk
Established, close msk (after a timeout) [enhancement]
   78  notify the application (userspace) when a subflow is
added/removed [enhancement]
   77  [gs]etsockopt: forward to new/existing SF [enhancement]
   57  After a few attempts of failed MPTCP, directly fallback to TCP
for new connections [enhancement]
   43  [syzkaller] Change syzkaller to exercise MPTCP inet_diag
interface [enhancement] [syzkaller]
   41  reduce indirect call usage [enhancement]
   24  Revisit layout of struct mptcp_subflow_context [enhancement]


    Recently closed (since 2024-03-20)

  478  A hypothesis [question] @geliangtang
  473  CI: tracking: publish tests results to Kernel CI [enhancement] [CI]
  449  `MPTcpExtMPCapableFallbackACK` - looks surprising [bug] @dcaratti



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:

        - [d77e1fabd2a3] selftests: mptcp: simult flows: re-adapt BW
(Matthieu Baerts (NGI0)):
            - wait? see ticket #475

        - [bf549689f799] selftests: mptcp: join: fix dev in
check_endpoint (Geliang Tang)
        - [ef2cf0903681] mptcp: don't account accept() of non-MPC client
as fallback to TCP (Davide Caratti):
            - can be sent: Matthieu: TODO

    - Fixes for net-next: /

    - Features for net-next:

        - [357aafce6700] selftests: mptcp: add tc check for check_tools
(Geliang Tang)
        - [fafd042ca65d] selftests: mptcp: add ms units for tc-netem
delay (Geliang Tang)
        - [1acf0b96bfc6] selftests: mptcp: export ip_mptcp to mptcp_lib
(Geliang Tang)
        - [fe2ca44df599] selftests: mptcp: netlink: add 'limits' helpers
(Geliang Tang)
        - [943b718a98b6] selftests: mptcp: add {get,format}_endpoint(s)
helpers (Geliang Tang)
        - [a3a3980be5b0] selftests: mptcp: netlink: add change_address
helper (Geliang Tang)
        - [9ff15866aee4] selftests: mptcp: join: update endpoint ops
(Geliang Tang)
        - [c571d08983eb] selftests: mptcp: export pm_nl endpoint ops
(Geliang Tang)
        - [87454fc58146] selftests: mptcp: use pm_nl endpoint ops
(Geliang Tang)
        - [59e438967a6e] selftests: mptcp: ip_mptcp option for more
scripts (Geliang Tang)
        - [fb4885b9d787] selftests: mptcp: netlink: drop disable=SC2086
(Geliang Tang):
            - can be sent, but depends on 'selftests: mptcp: join: fix
dev in check_endpoint' → wait one more week

    - Features for net-next (next): /

    - Features for other trees:

        - [1e7d4453a1b8] mptcp: add sched_data helpers (Geliang Tang)
        - [6355bc241440] bpf: Add bpf_mptcp_sched_ops (Geliang Tang)
        - [c99425a72fc2] bpf: Add bpf_mptcp_sched_kfunc_set (Geliang Tang)
        - [2c0f62f2513d] selftests/bpf: Add mptcp sched structs (Geliang
Tang)
        - [9f4027bfffa8] selftests/bpf: Add bpf scheduler test (Geliang
Tang)
        - [caa604b19b49] selftests/bpf: Add bpf_first scheduler (Geliang
Tang)
        - [494a5ac68bfd] selftests/bpf: Add bpf_first test (Geliang Tang)
        - [4d475fbbcaae] selftests/bpf: Add bpf_bkup scheduler (Geliang
Tang)
        - [87e4bb8394c5] selftests/bpf: Add bpf_bkup test (Geliang Tang)
        - [56a41da85c63] selftests/bpf: Add bpf_rr scheduler (Geliang Tang)
        - [1d558e623fee] selftests/bpf: Add bpf_rr test (Geliang Tang)
        - [5c9488418a02] selftests/bpf: Add bpf_red scheduler (Geliang Tang)
        - [a765a991a016] selftests/bpf: Add bpf_red test (Geliang Tang)
        - [44ecbd95a992] bpf: Export more bpf_burst related functions
(Geliang Tang)
        - [cadaaf9019c8] selftests/bpf: Add bpf_burst scheduler (Geliang
Tang)
        - [74200af950de] selftests/bpf: Add bpf_burst test (Geliang Tang):
            - wait for new sched API


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

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

    - packetdrill (Davide):
        - We are now tracking all individual tests with TAP, not just
per directory
        https://github.com/multipath-tcp/packetdrill/pull/135/

    - Patchew (Davide):
        - /

    - CI (Matth):
        - https://ci-results.mptcp.dev/flakes.html
        - quite stable for the moment



Next meeting:
    - Next one on *Wednesday*, the 3rd of April.
    - /!\ at a different UTC time!
    - 1*7*:30 UTC (*8*.30am PDT, 5.30pm CE*S*T, 1*1*.30pm CST)
    - Still open to everyone!
    - https://annuel2.framapad.org/p/mptcp_upstreaming_20240403



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-03-28 18:31 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=149da177-014a-4c4b-984b-d2aff74edf19@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).