Skip to content
Permalink
xiangxia-m-yue…
Switch branches/tags

Commits on Dec 8, 2021

  1. net: sched: support hash/classid selecting tx queue

    This patch allows users to select queue_mapping, range
    from A to B. And users can use skb-hash or cgroup classid
    to select Tx queues. Then the packets can load balance from
    A to B queue.
    
    $ tc filter ... action skbedit queue_mapping hash-type normal 0 4
    
    "skbedit queue_mapping QUEUE_MAPPING" [0] is enhanced with two
    flags: SKBEDIT_F_QUEUE_MAPPING_HASH, SKBEDIT_F_QUEUE_MAPPING_CLASSID.
    The range is an unsigned 16bit value in decimal format.
    
    [0]: https://man7.org/linux/man-pages/man8/tc-skbedit.8.html
    
    Cc: Jamal Hadi Salim <jhs@mojatatu.com>
    Cc: Cong Wang <xiyou.wangcong@gmail.com>
    Cc: Jiri Pirko <jiri@resnulli.us>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Jakub Kicinski <kuba@kernel.org>
    Cc: Jonathan Lemon <jonathan.lemon@gmail.com>
    Cc: Eric Dumazet <edumazet@google.com>
    Cc: Alexander Lobakin <alobakin@pm.me>
    Cc: Paolo Abeni <pabeni@redhat.com>
    Cc: Talal Ahmad <talalahmad@google.com>
    Cc: Kevin Hao <haokexin@gmail.com>
    Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
    Cc: Kees Cook <keescook@chromium.org>
    Cc: Kumar Kartikeya Dwivedi <memxor@gmail.com>
    Cc: Antoine Tenart <atenart@kernel.org>
    Cc: Wei Wang <weiwan@google.com>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
    xpu22 authored and intel-lab-lkp committed Dec 8, 2021
  2. net: sched: use queue_mapping to pick tx queue

    This patch fix issue:
    * If we install tc filters with act_skbedit in clsact hook.
      It doesn't work, because netdev_core_pick_tx() overwrites
      queue_mapping.
    
      $ tc filter ... action skbedit queue_mapping 1
    
    And this patch is useful:
    * We can use FQ + EDT to implement efficient policies. Tx queues
      are picked by xps, ndo_select_queue of netdev driver, or skb hash
      in netdev_core_pick_tx(). In fact, the netdev driver, and skb
      hash are _not_ under control. xps uses the CPUs map to select Tx
      queues, but we can't figure out which task_struct of pod/containter
      running on this cpu in most case. We can use clsact filters to classify
      one pod/container traffic to one Tx queue. Why ?
    
      In containter networking environment, there are two kinds of pod/
      containter/net-namespace. One kind (e.g. P1, P2), the high throughput
      is key in these applications. But avoid running out of network resource,
      the outbound traffic of these pods is limited, using or sharing one
      dedicated Tx queues assigned HTB/TBF/FQ Qdisc. Other kind of pods
      (e.g. Pn), the low latency of data access is key. And the traffic is not
      limited. Pods use or share other dedicated Tx queues assigned FIFO Qdisc.
      This choice provides two benefits. First, contention on the HTB/FQ Qdisc
      lock is significantly reduced since fewer CPUs contend for the same queue.
      More importantly, Qdisc contention can be eliminated completely if each
      CPU has its own FIFO Qdisc for the second kind of pods.
    
      There must be a mechanism in place to support classifying traffic based on
      pods/container to different Tx queues. Note that clsact is outside of Qdisc
      while Qdisc can run a classifier to select a sub-queue under the lock.
    
      In general recording the decision in the skb seems a little heavy handed.
      This patch introduces a per-CPU variable, suggested by Eric.
    
      The skip txqueue flag will be cleared to avoid picking Tx queue in
      next netdev, for example (not usual case):
    
      eth0 (macvlan in Pod, skbedit queue_mapping) -> eth0.3 (vlan in Host)
      -> eth0 (ixgbe in Host).
    
      +----+      +----+      +----+
      | P1 |      | P2 |      | Pn |
      +----+      +----+      +----+
        |           |           |
        +-----------+-----------+
                    |
                    | clsact/skbedit
                    |      MQ
                    v
        +-----------+-----------+
        | q0        | q1        | qn
        v           v           v
      HTB/FQ      HTB/FQ  ...  FIFO
    
    Cc: Jamal Hadi Salim <jhs@mojatatu.com>
    Cc: Cong Wang <xiyou.wangcong@gmail.com>
    Cc: Jiri Pirko <jiri@resnulli.us>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Jakub Kicinski <kuba@kernel.org>
    Cc: Jonathan Lemon <jonathan.lemon@gmail.com>
    Cc: Eric Dumazet <edumazet@google.com>
    Cc: Alexander Lobakin <alobakin@pm.me>
    Cc: Paolo Abeni <pabeni@redhat.com>
    Cc: Talal Ahmad <talalahmad@google.com>
    Cc: Kevin Hao <haokexin@gmail.com>
    Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org>
    Cc: Kees Cook <keescook@chromium.org>
    Cc: Kumar Kartikeya Dwivedi <memxor@gmail.com>
    Cc: Antoine Tenart <atenart@kernel.org>
    Cc: Wei Wang <weiwan@google.com>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Suggested-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
    xpu22 authored and intel-lab-lkp committed Dec 8, 2021
  3. Merge branch 's390-net-updates-2021-12-06'

    Alexandra Winter says:
    
    ====================
    s390/net: updates 2021-12-06
    
    This brings some maintenance improvements and removes some
    unnecessary code checks.
    ====================
    
    Link: https://lore.kernel.org/r/20211207090452.1155688-1-wintera@linux.ibm.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Jakub Kicinski committed Dec 8, 2021
  4. s390/qeth: remove check for packing mode in qeth_check_outbound_queue()

    If qeth_check_outbound_queue() finds a partially filled TX buffer on
    the queue and flushes it, then the queue _must_ have been in packing
    mode.
    
    Remove the redundant check when updating the relevant statistics.
    
    Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
    Reviewed-by: Alexandra Winter <wintera@linux.ibm.com>
    Signed-off-by: Alexandra Winter <wintera@linux.ibm.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    julianwiedmann authored and Jakub Kicinski committed Dec 8, 2021
  5. s390/qeth: fine-tune .ndo_select_queue()

    Avoid a conditional branch for L2 devices when selecting the TX queue,
    and have shared logic for OSA devices.
    
    Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
    Signed-off-by: Alexandra Winter <wintera@linux.ibm.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    julianwiedmann authored and Jakub Kicinski committed Dec 8, 2021
  6. s390/qeth: don't offer .ndo_bridge_* ops for OSA devices

    qeth_l2_detect_dev2br_support() will only set brport_hw_features for IQD
    devices. So qeth_l2_bridge_getlink() and qeth_l2_bridge_setlink() will
    always return -EOPNOTSUPP on OSA devices. Just don't offer these
    callbacks instead.
    
    Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
    Signed-off-by: Alexandra Winter <wintera@linux.ibm.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    julianwiedmann authored and Jakub Kicinski committed Dec 8, 2021
  7. s390/qeth: split up L2 netdev_ops

    Splitting up the netdev_ops allows for fine-tuning some of the ndo's
    in subsequent patches.
    
    Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
    Reviewed-by: Wenjia Zhang <wenjia@linux.ibm.com>
    Signed-off-by: Alexandra Winter <wintera@linux.ibm.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    julianwiedmann authored and Jakub Kicinski committed Dec 8, 2021
  8. s390/qeth: simplify qeth_receive_skb()

    Now that the OSN code is gone, we don't need the second switch statement
    in the RX path. And getting rid of its (unreachable) default case is a
    nice simplification.
    
    Also don't pass in the full HW header, all we still need is a flag to
    indicate whether the skb can use CSO. This we can already obtain during
    the first peek at the HW header.
    
    Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com>
    Reviewed-by: Alexandra Winter <wintera@linux.ibm.com>
    Reviewed-by: Wenjia Zhang <wenjia@linux.ibm.com>
    Signed-off-by: Alexandra Winter <wintera@linux.ibm.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    julianwiedmann authored and Jakub Kicinski committed Dec 8, 2021
  9. hv_sock: Extract hvs_send_data() helper that takes only header

    When building under -Warray-bounds, the compiler is especially
    conservative when faced with casts from a smaller object to a larger
    object. While this has found many real bugs, there are some cases that
    are currently false positives (like here). With this as one of the last
    few instances of the warning in the kernel before -Warray-bounds can be
    enabled globally, rearrange the functions so that there is a header-only
    version of hvs_send_data(). Silences this warning:
    
    net/vmw_vsock/hyperv_transport.c: In function 'hvs_shutdown_lock_held.constprop':
    net/vmw_vsock/hyperv_transport.c:231:32: warning: array subscript 'struct hvs_send_buf[0]' is partly outside array bounds of 'struct vmpipe_proto_header[1]' [-Warray-bounds]
      231 |         send_buf->hdr.pkt_type = 1;
          |         ~~~~~~~~~~~~~~~~~~~~~~~^~~
    net/vmw_vsock/hyperv_transport.c:465:36: note: while referencing 'hdr'
      465 |         struct vmpipe_proto_header hdr;
          |                                    ^~~
    
    This change results in no executable instruction differences.
    
    Signed-off-by: Kees Cook <keescook@chromium.org>
    Acked-by: Wei Liu <wei.liu@kernel.org>
    Link: https://lore.kernel.org/r/20211207063217.2591451-1-keescook@chromium.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    kees authored and Jakub Kicinski committed Dec 8, 2021
  10. net: dsa: felix: use kmemdup() to replace kmalloc + memcpy

    Fix following coccicheck warning:
    /drivers/net/dsa/ocelot/felix_vsc9959.c:1627:13-20:
    WARNING opportunity for kmemdup
    /drivers/net/dsa/ocelot/felix_vsc9959.c:1506:16-23:
    WARNING opportunity for kmemdup
    
    Signed-off-by: Yihao Han <hanyihao@vivo.com>
    Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
    Link: https://lore.kernel.org/r/20211207064419.38632-1-hanyihao@vivo.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Yihao Han authored and Jakub Kicinski committed Dec 8, 2021
  11. Merge branch 'prepare-ocelot-for-external-interface-control'

    Colin Foster says:
    
    ====================
    prepare ocelot for external interface control
    
    This patch set is derived from an attempt to include external control
    for a VSC751[1234] chip via SPI. That patch set has grown large and is
    getting unwieldy for reviewers and the developers... me.
    
    I'm breaking out the changes from that patch set. Some are trivial
      net: dsa: ocelot: remove unnecessary pci_bar variables
      net: dsa: ocelot: felix: Remove requirement for PCS in felix devices
    
    some are required for SPI
      net: dsa: ocelot: felix: add interface for custom regmaps
    
    and some are just to expose code to be shared
      net: mscc: ocelot: split register definitions to a separate file
    
    The entirety of this patch set should have essentially no impact on the
    system performance.
    ====================
    
    Link: https://lore.kernel.org/r/20211207170030.1406601-1-colin.foster@in-advantage.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Jakub Kicinski committed Dec 8, 2021
  12. net: mscc: ocelot: split register definitions to a separate file

    Move these to a separate file will allow them to be shared to other
    drivers.
    
    Signed-off-by: Colin Foster <colin.foster@in-advantage.com>
    Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
    Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    colin-foster-in-advantage authored and Jakub Kicinski committed Dec 8, 2021
  13. net: dsa: ocelot: felix: add interface for custom regmaps

    Add an interface so that non-mmio regmaps can be used
    
    Signed-off-by: Colin Foster <colin.foster@in-advantage.com>
    Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
    Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    colin-foster-in-advantage authored and Jakub Kicinski committed Dec 8, 2021
  14. net: dsa: ocelot: felix: Remove requirement for PCS in felix devices

    Existing felix devices all have an initialized pcs array. Future devices
    might not, so running a NULL check on the array before dereferencing it
    will allow those future drivers to not crash at this point
    
    Signed-off-by: Colin Foster <colin.foster@in-advantage.com>
    Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
    Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    colin-foster-in-advantage authored and Jakub Kicinski committed Dec 8, 2021
  15. net: dsa: ocelot: remove unnecessary pci_bar variables

    The pci_bar variables for the switch and imdio don't make sense for the
    generic felix driver. Moving them to felix_vsc9959 to limit scope and
    simplify the felix_info struct.
    
    Signed-off-by: Colin Foster <colin.foster@in-advantage.com>
    Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
    Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    colin-foster-in-advantage authored and Jakub Kicinski committed Dec 8, 2021
  16. net: hns3: Fix spelling mistake "faile" -> "failed"

    There is a spelling mistake in a dev_err message. Fix it.
    
    Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
    Link: https://lore.kernel.org/r/20211206091207.113648-1-colin.i.king@gmail.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    ColinIanKing authored and Jakub Kicinski committed Dec 8, 2021
  17. Merge tag 'wireless-drivers-next-2021-12-07' of git://git.kernel.org/…

    …pub/scm/linux/kernel/git/kvalo/wireless-drivers-next
    
    Kalle Valo says:
    
    ====================
    wireless-drivers-next patches for v5.17
    
    First set of patches for v5.17. The biggest change is the iwlmei
    driver for Intel's AMT devices. Also now WCN6855 support in ath11k
    should be usable.
    
    Major changes:
    
    ath10k
     * fetch (pre-)calibration data via nvmem subsystem
    
    ath11k
     * enable 802.11 power save mode in station mode for qca6390 and wcn6855
     * trace log support
     * proper board file detection for WCN6855 based on PCI ids
     * BSS color change support
    
    rtw88
     * add debugfs file to force lowest basic rate
     * add quirk to disable PCI ASPM on HP 250 G7 Notebook PC
    
    mwifiex
     * add quirk to disable deep sleep with certain hardware revision in
      Surface Book 2 devices
    
    iwlwifi
     * add iwlmei driver for co-operating with Intel's Active Management
       Technology (AMT) devices
    
    * tag 'wireless-drivers-next-2021-12-07' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next: (87 commits)
      iwlwifi: mei: fix linking when tracing is not enabled
      rtlwifi: rtl8192de: Style clean-ups
      mwl8k: Use named struct for memcpy() region
      intersil: Use struct_group() for memcpy() region
      libertas_tf: Use struct_group() for memcpy() region
      libertas: Use struct_group() for memcpy() region
      wlcore: no need to initialise statics to false
      rsi: Fix out-of-bounds read in rsi_read_pkt()
      rsi: Fix use-after-free in rsi_rx_done_handler()
      brcmfmac: Configure keep-alive packet on suspend
      wilc1000: remove '-Wunused-but-set-variable' warning in chip_wakeup()
      iwlwifi: mvm: read the rfkill state and feed it to iwlmei
      iwlwifi: mvm: add vendor commands needed for iwlmei
      iwlwifi: integrate with iwlmei
      iwlwifi: mei: add debugfs hooks
      iwlwifi: mei: add the driver to allow cooperation with CSME
      mei: bus: add client dma interface
      mwifiex: Ignore BTCOEX events from the 88W8897 firmware
      mwifiex: Ensure the version string from the firmware is 0-terminated
      mwifiex: Add quirk to disable deep sleep with certain hardware revision
      ...
    ====================
    
    Link: https://lore.kernel.org/r/20211207144211.A9949C341C1@smtp.kernel.org
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Jakub Kicinski committed Dec 8, 2021
  18. Merge branch 'net-second-round-of-netdevice-refcount-tracking'

    Eric Dumazet says:
    
    ====================
    net: second round of netdevice refcount tracking
    
    The most interesting part of this series is probably
    ("inet: add net device refcount tracker to struct fib_nh_common")
    but only future reports will confirm this guess.
    ====================
    
    Link: https://lore.kernel.org/r/20211207013039.1868645-1-eric.dumazet@gmail.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Jakub Kicinski committed Dec 8, 2021
  19. net: sched: act_mirred: add net device refcount tracker

    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    neebe000 authored and Jakub Kicinski committed Dec 8, 2021
  20. openvswitch: add net device refcount tracker to struct vport

    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    neebe000 authored and Jakub Kicinski committed Dec 8, 2021
  21. netlink: add net device refcount tracker to struct ethnl_req_info

    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    neebe000 authored and Jakub Kicinski committed Dec 8, 2021
  22. net/smc: add net device tracker to struct smc_pnetentry

    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    neebe000 authored and Jakub Kicinski committed Dec 8, 2021
  23. pktgen add net device refcount tracker

    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    neebe000 authored and Jakub Kicinski committed Dec 8, 2021
  24. llc: add net device refcount tracker

    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    neebe000 authored and Jakub Kicinski committed Dec 8, 2021
  25. ax25: add net device refcount tracker

    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    neebe000 authored and Jakub Kicinski committed Dec 8, 2021
  26. inet: add net device refcount tracker to struct fib_nh_common

    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    neebe000 authored and Jakub Kicinski committed Dec 8, 2021
  27. net: switchdev: add net device refcount tracker

    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    neebe000 authored and Jakub Kicinski committed Dec 8, 2021
  28. net: watchdog: add net device refcount tracker

    Add a netdevice_tracker inside struct net_device, to track
    the self reference when a device has an active watchdog timer.
    
    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    neebe000 authored and Jakub Kicinski committed Dec 8, 2021
  29. net: bridge: add net device refcount tracker

    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    neebe000 authored and Jakub Kicinski committed Dec 8, 2021
  30. vlan: add net device refcount tracker

    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    neebe000 authored and Jakub Kicinski committed Dec 8, 2021
  31. net: eql: add net device refcount tracker

    Signed-off-by: Eric Dumazet <edumazet@google.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    neebe000 authored and Jakub Kicinski committed Dec 8, 2021

Commits on Dec 7, 2021

  1. Merge branch 'mptcp-new-features-for-mptcp-sockets-and-netlink-pm'

    Mat Martineau says:
    
    ====================
    mptcp: New features for MPTCP sockets and netlink PM
    
    This collection of patches adds MPTCP socket support for a few socket
    options, ioctls, and one ancillary data type (specifics for each are
    listed below). There's also a patch modifying the netlink MPTCP path
    manager API to allow setting the backup flag on a configured interface
    using the endpoint ID instead of the full IP address.
    
    Patches 1 & 2: TCP_INQ cmsg and selftests.
    
    Patches 2 & 3: SIOCINQ, OUTQ, and OUTQNSD ioctls and selftests.
    
    Patch 5: Change backup flag using endpoint ID.
    
    Patches 6 & 7: IP_TOS socket option and selftests.
    
    Patches 8-10: TCP_CORK and TCP_NODELAY socket options. Includes a tcp
    change to expose __tcp_sock_set_cork() and __tcp_sock_set_nodelay() for
    use by MPTCP.
    ====================
    
    Link: https://lore.kernel.org/r/20211203223541.69364-1-mathew.j.martineau@linux.intel.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    Jakub Kicinski committed Dec 7, 2021
  2. mptcp: support TCP_CORK and TCP_NODELAY

    First, add cork and nodelay fields to the mptcp_sock structure
    so they can be used in sync_socket_options(), and fill them on setsockopt
    while holding the msk socket lock.
    
    Then, on setsockopt set proper tcp_sk(ssk)->nonagle values for subflows
    by calling __tcp_sock_set_cork() or __tcp_sock_set_nodelay() on the ssk
    while holding the ssk socket lock.
    
    tcp_push_pending_frames() will be invoked on the ssk if a cork was cleared
    or nodelay was set. Also set MPTCP_PUSH_PENDING bit by calling
    mptcp_check_and_set_pending(). This will lead to __mptcp_push_pending()
    being called inside mptcp_release_cb() with new tcp_sk(ssk)->nonagle.
    
    Also add getsockopt support for TCP_CORK and TCP_NODELAY.
    
    Acked-by: Paolo Abeni <pabeni@redhat.com>
    Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net>
    Signed-off-by: Maxim Galaganov <max@internet.ru>
    Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    darkwrat authored and Jakub Kicinski committed Dec 7, 2021
  3. mptcp: expose mptcp_check_and_set_pending

    Expose the mptcp_check_and_set_pending() function for use inside MPTCP
    sockopt code. The next patch will call it when TCP_CORK is cleared or
    TCP_NODELAY is set on the MPTCP socket in order to push pending data
    from mptcp_release_cb().
    
    Acked-by: Paolo Abeni <pabeni@redhat.com>
    Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net>
    Signed-off-by: Maxim Galaganov <max@internet.ru>
    Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    darkwrat authored and Jakub Kicinski committed Dec 7, 2021
  4. tcp: expose __tcp_sock_set_cork and __tcp_sock_set_nodelay

    Expose __tcp_sock_set_cork() and __tcp_sock_set_nodelay() for use in
    MPTCP setsockopt code -- namely for syncing MPTCP socket options with
    subflows inside sync_socket_options() while already holding the subflow
    socket lock.
    
    Acked-by: Paolo Abeni <pabeni@redhat.com>
    Acked-by: Matthieu Baerts <matthieu.baerts@tessares.net>
    Signed-off-by: Maxim Galaganov <max@internet.ru>
    Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>
    darkwrat authored and Jakub Kicinski committed Dec 7, 2021
Older