All of lore.kernel.org
 help / color / mirror / Atom feed
* [MPTCP] [Weekly meetings] MoM - 26th of November 2020
@ 2020-11-26 17:55 Matthieu Baerts
  0 siblings, 0 replies; only message in thread
From: Matthieu Baerts @ 2020-11-26 17:55 UTC (permalink / raw)
  To: mptcp

[-- Attachment #1: Type: text/plain, Size: 12376 bytes --]

Hello everyone,

Today, we just had our 126th meeting with Davide, Paolo and Florian 
(RedHat) and myself (Tessares).


Christoph, Mat and Ossama were not able to join, still trying to handle 
Maradona's loss... Be brave guys! (and turkeys too!)


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.ozlabs.org/project/mptcp/list/?state=3

     netdev (if mptcp ML is in cc) (Florian Westphal, Mat Martineau, 
Paolo Abeni):

1405745  [net-next,v2] mptcp: be careful on MPTCP-level ack.
1405649  [net-next] mptcp: put reference in mptcp timeout timer
1405488  [net-next] mptcp: be careful on MPTCP-level ack.
1403243  [net-next,10/10] mptcp: refine MPTCP-level ack scheduling
1403242  [net-next,09/10] mptcp: track window announced to peer
1403241  [net-next,08/10] selftests: mptcp: add ADD_ADDR IPv6 test cases
1403240  [net-next,07/10] mptcp: send out dedicated ADD_ADDR packet
1403239  [net-next,06/10] mptcp: change add_addr_signal type
1403238  [net-next,05/10] mptcp: keep unaccepted MPC subflow into join list
1403237  [net-next,04/10] selftests: mptcp: add link failure test case
1403233  [net-next,03/10] mptcp: skip to next candidate if subflow has 
unacked...
1403234  [net-next,02/10] mptcp: fix state tracking for fallback socket
1403236  [net-next,01/10] mptcp: drop WORKER_RUNNING status bit


     our repo (by: Florian Westphal, Geliang Tang, Paolo Abeni):

1406513  [net] mptcp: fix NULL ptr dereference on bad MPJ
1406183  [mptcp-next,3/3] mptcp: parse and act on incoming FASTCLOSE option
1406182  [mptcp-next,2/3] tcp: parse mptcp options contained in reset 
packets
1406180  [mptcp-next,1/3] mptcp: hold mptcp socket before calling tcp_done
1405424  [net-next,v2] mptcp: be careful on MPTCP-level ack.
1404620  [net-next] mptcp: use the variable sk instead of open-coding
1404614  [mptcp-next] Squash to "mptcp: protect the rx path with the msk 
socke...
1403573  [v4,mptcp-next,2/2] mptcp: rename add_addr_signal and 
mptcp_add_addr_...
1403572  [v4,mptcp-next,1/2] mptcp: drop rm_addr_signal flag
1403526  [net-next] Squash-to: "mptcp: use mptcp release_cb for delayed 
tasks"
1403370  squashto: mptcp: protect the rx path with the msk socket spinlock
1403303  [net-next] Squash-to: "mptcp: protect the rx path with the msk 
socket...
1403300  [net-next] Squash-to: "mptcp: open code mptcp variant for 
lock_sock"



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

     netdev (if mptcp ML is in cc) (by: Paolo Abeni):

1406703  [net] mptcp: fix NULL ptr dereference on bad MPJ


     our repo (by: Florian Westphal, Geliang Tang, Paolo Abeni):

1370700: RFC: [RFC,2/4] tcp: move selected mptcp helpers to tcp.h/mptcp.h
1370702: RFC: [RFC,4/4] tcp: parse tcp options contained in reset packets
1375893: RFC: [RFC,mptpcp-next] mptcp: add ooo prune support:
     - Parked

1395128: Changes Requested: [1/5] tcp: make two mptcp helpers available 
to tcp stack
1395131: Changes Requested: [3/5] mptcp: add mptcp reset option support
1395133: Changes Requested: [5/5] mptcp: send fastclose if userspace 
closes socket with unread data:
     - Can be switched to RFC

1403495: Changes Requested: [mptcp-next,1/5] mptcp: add the outgoing 
MP_PRIO support
1403497: Changes Requested: [mptcp-next,2/5] mptcp: add the incoming 
MP_PRIO support
1403498: Changes Requested: [mptcp-next,3/5] mptcp: deal with 
MPTCP_PM_ADDR_FLAG_BACKUP in PM netlink
1403499: Changes Requested: [mptcp-next,4/5] mptcp: add the mibs for MP_PRIO
1403500: Changes Requested: [mptcp-next,5/5] selftests: mptcp: add the 
MP_PRIO testcases:
     - Mat did a review, new version needed (or reply?)

1405799: Changes Requested: [v6,mptcp-next,1/9] mptcp: create the 
listening socket for new port
1405800: Changes Requested: [v6,mptcp-next,2/9] mptcp: set the listening 
socket's subflow
1405801: Changes Requested: [v6,mptcp-next,3/9] mptcp: release the 
listening socket
1405802: Changes Requested: [v6,mptcp-next,4/9] mptcp: add port number 
check for MP_JOIN
1405803: Changes Requested: [v6,mptcp-next,5/9] mptcp: add port number 
announced check
1405804: Changes Requested: [v6,mptcp-next,6/9] mptcp: deal with 
MPTCP_PM_ADDR_ATTR_PORT in PM netlink
1405805: Changes Requested: [v6,mptcp-next,7/9] selftests: mptcp: add 
port argument for pm_nl_ctl
1405806: Changes Requested: [v6,mptcp-next,8/9] mptcp: add the mibs for 
ADD_ADDR with port
1405807: Changes Requested: [v6,mptcp-next,9/9] selftests: mptcp: add 
testcases for ADD_ADDR with port
1405894: Changes Requested: [mptcp-next] Squash to "mptcp: add port 
number announced check":
     - Paolo did a review, new version needed
     - some architectural changes might be needed, see patch 2/9.
     - we can continue the discussion by email

1406217: New: [net-next] mptcp: be careful on subflows shutdown:
     - Applied by Matth just before the meeting

1406751: New: [v3] mptcp: let MPTCP create max size skbs:
     - Paolo was sad nobody did a review for his patch sent 2 minutes 
before the meeting :-/



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

     Recently opened (latest from last week: 113)

   115  [syzkaller] WARNING in sk_stream_kill_queues [bug] [syzkaller]:
       - Maybe a fix from Paolo, see:
           1406217: mptcp: be careful on subflows shutdown
           - now in the export branch
       - @Christoph: may you try this please?

   114  packetdrill: dss tolerance issue to emit the FIN+ACK [bug] 
[packetdrill]:
       - Maybe due to something else done in //?


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

    94  Packetdrill: after a received DATA_FIN, no new packets can be 
treated [bug] [packetdrill] @dcaratti:
        - WIP

    85  Packetdrill: multiple timeout reported by the CI [bug] 
[packetdrill] @matttbe:
        - WIP


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

   115  [syzkaller] WARNING in sk_stream_kill_queues [bug] [syzkaller]
   114  packetdrill: dss tolerance issue to emit the FIN+ACK [bug] 
[packetdrill]
   112  sporadic failure of mptcp_join.sh selftest 13 [bug]

   111  [syzkaller] divide error in __tcp_select_window [bug] [syzkaller]:
       - closed by Paolo

   110  [syzkaller] memory leak in __ip_mc_join_group [bug] [syzkaller]
   108  [syzkaller] memory leak in sk_clone_lock [bug] [syzkaller]
   107  Review use of WARN_ON() / WARN_ON_ONCE() [bug]
   106  [syzkaller] BUG: Bad page state [bug] [syzkaller]

   105  warning in `mptcp_reset_timer()` with `mptcp_connect.sh -m mmap` 
[bug]:
       - we should check if we can closed
       - TODO: Matth

   104  [syzkaller] general protection fault in skb_release_data [bug] 
[syzkaller]
   103  [syzkaller] WARNING in inet_csk_listen_stop [bug] [syzkaller]
    99  simult_flows selftest is unstable: remaining sockets in 
TIME-WAIT state [bug]
    65  clearing properly the status in listen() [bug]
    56  msk connection state set without msk lock [bug]


     In Progress (opened and assigned)

   96  Python: add support for IPPROTO_MPTCP [enhancement] @matttbe
   76  [gs]etsockopt per subflow: BPF [enhancement] @matttbe
   54  ADD_ADDR: ports support [enhancement] @geliangtang
   51  MP_PRIO support [enhancement] @geliangtang
   43  [syzkaller] Change syzkaller to exercise MPTCP inet_diag 
interface [enhancement] [syzkaller] @cpaasch


     Recently closed (since last week)

   116  [syzkaller] WARNING in corrupted [bug] [syzkaller]
   113  selftests: mptcp_connect MPTCP → TCP: file received by client 
does not match [bug]
   109  [syzkaller] memory leak in skb_ext_add [bug] [syzkaller]
    70  [syzkaller] WARNING in mptcp_reset_timer [bug] [syzkaller]



FYI: Current Roadmap:
     - Bugs: https://github.com/multipath-tcp/mptcp_net-next/projects/2
     - Current merge window (5.11): 
https://github.com/multipath-tcp/mptcp_net-next/projects/6
     - For later: https://github.com/multipath-tcp/mptcp_net-next/projects/4



Patch prefix:
     - When looking at patchwork, it is no always clear to distinct if 
the patch is for MPTCP tree ("internal review") or netdev.

     - Proposition of using tags:
         - mptcp-next → for net-next (now or later):
             - If it has a "Fixes" tag, applied at the bottom of the tree
             - If not, new feature, at the end (or add instructions in 
the comments)
         - mptcp-net → for net (ASAP):
             - to be applied at the bottom of the tree
         - net-next → sent to netdev for net-next and mptcp ML is in CC
         - net → sent to netdev for -net and mptcp ML is in CC

     - not mandatory, just to help filtering patches :)



Address ID assignment in netlink PM:
     - linked to Ossama's email
     - idea was to keep the kernel side management simple
     - we could let the userspace setting an ID but we need to be 
careful if it sets a duplicated one, etc.
     - but work needs to be done in the kernel side



Patches to send to netdev:
     - net:
         - Paolo's has some fixes

     - net-next:
         - workqueue removal thing

     mptcp: use mptcp release_cb for delayed tasks
     mptcp: avoid a few atomic ops in the rx path
     mptcp: allocate TX skbs in msk context
     mptcp: protect the rx path with the msk socket spinlock
     mptcp: implement wmem reservation
     mptcp: open code mptcp variant for lock_sock

         - Paolo is going to send them
         - some reports on top of net-next mention issues with some 
selftests → this should be fixed by this rework. Maybe better to apply 
these patches then.



Malformed MP_JOIN:
     - Florian is looking at sending the RST directly instead of SYN+ACK 
then RST later
     - (also looking at the path taken in TCP code)



Extra tests:
     - news about Syzkaller? (Christoph):
         - See Github #115
         - @Christoph: may you try to repro #115 please?

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

     - news about Intel's kbuild? (Mat):
         - /

     - packetdrill (Davide):
         - Davide's daughter is going to review Florian's patches

     - CI (Matth):
         - ↓


Github Action:
     - new IRC notif when a tag is published (e.g. CI has updated the 
export branch)
     - TODO: notif when issues are created or closed but not the comments
     - TODO: notif for the builds
     - TODO: port what is done by Tessares' CI to GH Actions.


Perf:
     - Paolo was looking at removing an extra spinlock but didn't see diff

     - the lack of tput improvement and the wide gap vs TCP is likely a 
test artifact:

         - MPTCP does not acquire the msk socket lock to enter the RX 
path: each sendmsg over loopback ends-up enqueuing data to msk, doing 
most of receiver work inside the sender process context. The sender is 
the bottle-neck, while we have much free CPU time in the receiver 
process, not used.

         - TCP acquires the socket lock to enter the rx path, sendmsg 
may find that held by the receiver and defer the rx processing to the 
backlog. The processing is split among the sender and the receiver 
process. The lookback tput is higher, but also the cumulative CPU 
utilization.

     - using two different VMs - one for the sender and one for the 
receiver - should avoid the above artifact



mptcpd:
     - https://bugzilla.redhat.com/show_bug.cgi?id=1899884
     - Davide did a good job from start, already got some reviews so we 
expect to have it included mid of December



Next meeting:
     - We propose to have the next meeting on Thursday, the 3rd of December.
     - Usual UTC time: 16:00 UTC (8am PST, 5pm CET, Midnight CST)
     - Still open to everyone!
     - https://annuel2.framapad.org/p/mptcp_upstreaming_20201203



Feel free to comment on these points and propose new ones for the next
meeting!

Talk to you on Thursday,
Matt
-- 
Tessares | Belgium | Hybrid Access Solutions
www.tessares.net

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

only message in thread, other threads:[~2020-11-26 17:55 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-26 17:55 [MPTCP] [Weekly meetings] MoM - 26th of November 2020 Matthieu Baerts

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.