Skip to content
  1. Jun 08, 2023
  2. Jun 07, 2023
  3. Jun 06, 2023
    • Lukas Bulwahn's avatar
      net/pppoe: fix a typo for the PPPOE_HASH_BITS_1 definition · ae91f7e4
      Lukas Bulwahn authored
      Instead of its intention to define PPPOE_HASH_BITS_1, commit 96ba44c6
      ("net/pppoe: make number of hash bits configurable") actually defined
      config PPPOE_HASH_BITS_2 twice in the ppp's Kconfig file due to a quick
      typo with the numbers.
      
      Fix the typo and define PPPOE_HASH_BITS_1.
      
      Fixes: 96ba44c6
      
       ("net/pppoe: make number of hash bits configurable")
      Signed-off-by: default avatarLukas Bulwahn <lukas.bulwahn@gmail.com>
      Reviewed-by: default avatarSimon Horman <simon.horman@corigine.com>
      Reviewed-by: default avatarJaco Kroon <jaco@uls.co.za>
      Link: https://lore.kernel.org/r/20230605072743.11247-1-lukas.bulwahn@gmail.com
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      ae91f7e4
    • Andy Shevchenko's avatar
      mac_pton: Clean up the header inclusions · 8d2b2281
      Andy Shevchenko authored
      
      
      Since hex_to_bin() is provided by hex.h there is no need to require
      kernel.h. Replace the latter by the former and add missing export.h.
      
      Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
      Link: https://lore.kernel.org/r/20230604132858.6650-1-andriy.shevchenko@linux.intel.com
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      8d2b2281
    • Richard Gobert's avatar
      gro: decrease size of CB · 7b355b76
      Richard Gobert authored
      
      
      The GRO control block (NAPI_GRO_CB) is currently at its maximum size.
      This commit reduces its size by putting two groups of fields that are
      used only at different times into a union.
      
      Specifically, the fields frag0 and frag0_len are the fields that make up
      the frag0 optimisation mechanism, which is used during the initial
      parsing of the SKB.
      
      The fields last and age are used after the initial parsing, while the
      SKB is stored in the GRO list, waiting for other packets to arrive.
      
      There was one location in dev_gro_receive that modified the frag0 fields
      after setting last and age. I changed this accordingly without altering
      the code behaviour.
      
      Signed-off-by: default avatarRichard Gobert <richardbgobert@gmail.com>
      Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
      Link: https://lore.kernel.org/r/20230601161407.GA9253@debian
      Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
      7b355b76
    • Jakub Kicinski's avatar
      Merge branch 'splice-net-handle-msg_splice_pages-in-af_kcm' · ddb8701d
      Jakub Kicinski authored
      David Howells says:
      
      ====================
      splice, net: Handle MSG_SPLICE_PAGES in AF_KCM
      
      Here are patches to make AF_KCM handle the MSG_SPLICE_PAGES internal
      sendmsg flag.  MSG_SPLICE_PAGES is an internal hint that tells the protocol
      that it should splice the pages supplied if it can.  Its sendpage
      implementation is then turned into a wrapper around that.
      
      Does anyone actually use AF_KCM?  Upstream it has some issues.  It doesn't
      seem able to handle a "message" longer than 113920 bytes without jamming
      and doesn't handle the client termination once it is jammed.
      
      Link: https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=51c78a4d
      
       # part 1
      Link: https://lore.kernel.org/r/20230524144923.3623536-1-dhowells@redhat.com/ # v1
      ====================
      
      Link: https://lore.kernel.org/r/20230531110423.643196-1-dhowells@redhat.com
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      ddb8701d
    • David Howells's avatar
      kcm: Convert kcm_sendpage() to use MSG_SPLICE_PAGES · 5bb3a5cb
      David Howells authored
      
      
      Convert kcm_sendpage() to use sendmsg() with MSG_SPLICE_PAGES rather than
      directly splicing in the pages itself.
      
      This allows ->sendpage() to be replaced by something that can handle
      multiple multipage folios in a single transaction.
      
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      cc: Tom Herbert <tom@herbertland.com>
      cc: Tom Herbert <tom@quantonium.net>
      cc: Cong Wang <cong.wang@bytedance.com>
      cc: Jens Axboe <axboe@kernel.dk>
      cc: Matthew Wilcox <willy@infradead.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      5bb3a5cb
    • David Howells's avatar
      kcm: Support MSG_SPLICE_PAGES · 2b03bcae
      David Howells authored
      
      
      Make AF_KCM sendmsg() support MSG_SPLICE_PAGES.  This causes pages to be
      spliced from the source iterator if possible.
      
      This allows ->sendpage() to be replaced by something that can handle
      multiple multipage folios in a single transaction.
      
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      cc: Tom Herbert <tom@herbertland.com>
      cc: Tom Herbert <tom@quantonium.net>
      cc: Cong Wang <cong.wang@bytedance.com>
      cc: Jens Axboe <axboe@kernel.dk>
      cc: Matthew Wilcox <willy@infradead.org>
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      2b03bcae
    • Jakub Kicinski's avatar
      Merge tag 'mlx5-updates-2023-05-31' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux · 28cfea98
      Jakub Kicinski authored
      
      
      Saeed Mahameed says:
      
      ====================
      mlx5-updates-2023-05-31
      
      net/mlx5: Support 4 ports VF LAG, part 1/2
      
      This series continues the series[1] "Support 4 ports HCAs LAG mode"
      by Mark Bloch. This series adds support for 4 ports VF LAG (single FDB
      E-Switch).
      
      This series of patches focuses on refactoring different sections of the
      code that make assumptions about VF LAG supporting only two ports. For
      instance, it assumes that each device can only have one peer.
      
      Patches 1-5:
      - Refactor ETH handling of TC rules of eswitches with peers.
      Patch 6:
      - Refactors peer miss group table.
      Patches 7-9:
      - Refactor single FDB E-Switch creation.
      Patch 10:
      - Refactor the DR layer.
      Patches 11-14:
      - Refactors devcom layer.
      
      Next series will refactor LAG layer and enable 4 ports VF LAG.
      This series specifically allows HCAs with 4 ports to create a VF LAG
      with only 4 ports. It is not possible to create a VF LAG with 2 or 3
      ports using HCAs that have 4 ports.
      
      Currently, the Merged E-Switch feature only supports HCAs with 2 ports.
      However, upcoming patches will introduce support for HCAs with 4 ports.
      
      In order to activate VF LAG a user can execute:
      
      devlink dev eswitch set pci/0000:08:00.0 mode switchdev
      devlink dev eswitch set pci/0000:08:00.1 mode switchdev
      devlink dev eswitch set pci/0000:08:00.2 mode switchdev
      devlink dev eswitch set pci/0000:08:00.3 mode switchdev
      ip link add name bond0 type bond
      ip link set dev bond0 type bond mode 802.3ad
      ip link set dev eth2 master bond0
      ip link set dev eth3 master bond0
      ip link set dev eth4 master bond0
      ip link set dev eth5 master bond0
      
      Where eth2, eth3, eth4 and eth5 are net-interfaces of pci/0000:08:00.0
      pci/0000:08:00.1 pci/0000:08:00.2 pci/0000:08:00.3 respectively.
      
      User can verify LAG state and type via debugfs:
      /sys/kernel/debug/mlx5/0000\:08\:00.0/lag/state
      /sys/kernel/debug/mlx5/0000\:08\:00.0/lag/type
      
      [1]
      https://lore.kernel.org/netdev/20220510055743.118828-1-saeedm@nvidia.com/
      
      * tag 'mlx5-updates-2023-05-31' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux:
        net/mlx5: Devcom, extend mlx5_devcom_send_event to work with more than two devices
        net/mlx5: Devcom, introduce devcom_for_each_peer_entry
        net/mlx5: E-switch, mark devcom as not ready when all eswitches are unpaired
        net/mlx5: Devcom, Rename paired to ready
        net/mlx5: DR, handle more than one peer domain
        net/mlx5: E-switch, generalize shared FDB creation
        net/mlx5: E-switch, Handle multiple master egress rules
        net/mlx5: E-switch, refactor FDB miss rule add/remove
        net/mlx5: E-switch, enlarge peer miss group table
        net/mlx5e: Handle offloads flows per peer
        net/mlx5e: en_tc, re-factor query route port
        net/mlx5e: rep, store send to vport rules per peer
        net/mlx5e: tc, Refactor peer add/del flow
        net/mlx5e: en_tc, Extend peer flows to a list
      ====================
      
      Link: https://lore.kernel.org/r/20230602191301.47004-1-saeed@kernel.org
      Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      28cfea98