1. 04 Jan, 2022 6 commits
    • David S. Miller's avatar
      Merge branch 'act_tc-offload-originating-device' · dfb55f99
      David S. Miller authored
      Paul Blakey says:
      
      ====================
      net/sched: Pass originating device to drivers offloading ct connection
      
      Currently, drivers register to a ct zone that can be shared by multiple
      devices. This can be inefficient for the driver to offload, as it
      needs to handle all the cases where the tuple can come from,
      instead of where it's most likely will arive from.
      
      For example, consider the following tc rules:
      tc filter add dev dev1 ... flower action ct commit zone 5 \
         action mirred egress redirect dev dev2
      
      tc filter add dev dev2 ... flower action ct zone 5 \
         action goto chain chain 2
      tc filter add dev dev2 ... flower ct_state +trk+est ... \
         action mirred egress redirect dev dev1
      
      Both dev2 and dev1 register to the zone 5 flow table (created
      by act_ct). A tuple originating on dev1, going to dev2, will
      be offloaded to both devices, and both will need to offload
      both directions, resulting in 4 total rules. The traffic
      will only hit originiating tuple on dev1, and reply tuple
      on dev2.
      
      By passing the originating device that created the connection
      with the tuple, dev1 can choose to offload only the originating
      tuple, and dev2 only the reply tuple. Resulting in a more
      efficient offload.
      
      The first patch adds an act_ct nf conntrack extension, to
      temporarily store the originiating device from the skb before
      offloading the connection once the connection is established.
      Once sent to offload, it fills the tuple originating device.
      
      The second patch get this information from tuples
      which pass in openvswitch.
      
      The third patch is Mellanox driver ct offload implementation using
      this information to provide a hint to firmware of where this
      offloaded tuple packets will arrive from (LOCAL or UPLINK port),
      and thus increase insertion rate.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      dfb55f99
    • Paul Blakey's avatar
      net/mlx5: CT: Set flow source hint from provided tuple device · c9c079b4
      Paul Blakey authored
      Get originating device from tuple offload metadata match ingress_ifindex,
      and set flow_source hint to either LOCAL for vf/sf reps, UPLINK for
      uplink/wire/tunnel devices/bond, or ANY (as before this patch)
      for all others.
      
      This allows lower layer (software steering or firmware) to insert the tuple
      rule only in one table (either rx or tx) instead of two (rx and tx).
      Signed-off-by: default avatarPaul Blakey <paulb@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c9c079b4
    • Paul Blakey's avatar
      net: openvswitch: Fill act ct extension · b702436a
      Paul Blakey authored
      To give drivers the originating device information for optimized
      connection tracking offload, fill in act ct extension with
      ifindex from skb.
      Signed-off-by: default avatarPaul Blakey <paulb@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b702436a
    • Paul Blakey's avatar
      net/sched: act_ct: Fill offloading tuple iifidx · 9795ded7
      Paul Blakey authored
      Driver offloading ct tuples can use the information of which devices
      received the packets that created the offloaded connections, to
      more efficiently offload them only to the relevant device.
      
      Add new act_ct nf conntrack extension, which is used to store the skb
      devices before offloading the connection, and then fill in the tuple
      iifindex so drivers can get the device via metadata dissector match.
      Signed-off-by: default avatarOz Shlomo <ozsh@nvidia.com>
      Signed-off-by: default avatarPaul Blakey <paulb@nvidia.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9795ded7
    • Jakub Kicinski's avatar
      Merge tag 'batadv-next-pullrequest-20220103' of git://git.open-mesh.org/linux-merge · 9d2c27aa
      Jakub Kicinski authored
      Simon Wunderlich says:
      
      ====================
      This cleanup patchset includes the following patches:
      
       - bump version strings, by Simon Wunderlich
       - allow netlink usage in unprivileged containers, by Linus Lüssing
       - remove unneeded variable, by Minghao Chi
      
      * tag 'batadv-next-pullrequest-20220103' of git://git.open-mesh.org/linux-merge:
        batman-adv: remove unneeded variable in batadv_nc_init
        batman-adv: allow netlink usage in unprivileged containers
        batman-adv: Start new development cycle
      ====================
      
      Link: https://lore.kernel.org/r/20220103171722.1126109-1-sw@simonwunderlich.deSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      9d2c27aa
    • Florian Fainelli's avatar
      net: mdio: Demote probed message to debug print · 7590fc6f
      Florian Fainelli authored
      On systems with large numbers of MDIO bus/muxes the message indicating
      that a given MDIO bus has been successfully probed is repeated for as
      many buses we have, which can eat up substantial boot time for no
      reason, demote to a debug print.
      Reported-by: default avatarMaxime Bizon <mbizon@freebox.fr>
      Signed-off-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
      Link: https://lore.kernel.org/r/20220103194024.2620-1-f.fainelli@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
      7590fc6f
  2. 03 Jan, 2022 3 commits
  3. 02 Jan, 2022 22 commits
  4. 31 Dec, 2021 9 commits
    • David S. Miller's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next · e63a0234
      David S. Miller authored
      Alexei Starovoitov says:
      
      ====================
      pull-request: bpf-next 2021-12-30
      
      The following pull-request contains BPF updates for your *net-next* tree.
      
      We've added 72 non-merge commits during the last 20 day(s) which contain
      a total of 223 files changed, 3510 insertions(+), 1591 deletions(-).
      
      The main changes are:
      
      1) Automatic setrlimit in libbpf when bpf is memcg's in the kernel, from Andrii.
      
      2) Beautify and de-verbose verifier logs, from Christy.
      
      3) Composable verifier types, from Hao.
      
      4) bpf_strncmp helper, from Hou.
      
      5) bpf.h header dependency cleanup, from Jakub.
      
      6) get_func_[arg|ret|arg_cnt] helpers, from Jiri.
      
      7) Sleepable local storage, from KP.
      
      8) Extend kfunc with PTR_TO_CTX, PTR_TO_MEM argument support, from Kumar.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      e63a0234
    • David S. Miller's avatar
      Merge tag 'mlx5-updates-2021-12-28' of git://git.kernel.org/pub/scm/linux/kernel/git/saeed/linux · ce2b6eb4
      David S. Miller authored
      Saeed Mahameed says:
      
      ====================
      mlx5 Software steering, New features and optimizations
      
      This patch series brings various SW steering features, optimizations and
      debug-ability focused improvements.
      
       1) Expose debugfs for dumping the SW steering resources
       2) Removing unused fields
       3) support for matching on new fields
       4) steering optimization for RX/TX-only rules
       5) Make Software steering the default steering mechanism when
          available, applies only to Switchdev mode FDB
      
      From Yevgeny Kliteynik and Muhammad Sammar:
      
       - Patch 1 fixes an error flow in creating matchers
       - Patch 2 fix lower case macro prefix "mlx5_" to "MLX5_"
       - Patch 3 removes unused struct member in mlx5dr_matcher
       - Patch 4 renames list field in matcher struct to list_node to reflect the
         fact that is field is for list node that is stored on another struct's lists
       - Patch 5 adds checking for valid Flex parser ID value
       - Patch 6 adds the missing reserved fields to dr_match_param and aligns it to
         the format that is defined by HW spec
       - Patch 7 adds support for dumping SW steering (SMFS) resources using debugfs
         in CSV format: domain and its tables, matchers and rules
       - Patch 8 adds support for a new destination type - UPLINK
       - Patch 9 adds WARN_ON_ONCE on refcount checks in SW steering object destructors
       - Patches 10, 11, 12 add misc5 flow table match parameters and add support for
         matching on tunnel headers 0 and 1
       - Patch 13 adds support for matching on geneve_tlv_option_0_exist field
       - Patch 14 implements performance optimization for for empty or RX/TX-only
         matchers by splitting RX and TX matchers handling: matcher connection in the
         matchers chain is split into two separate lists (RX only and TX only), which
         solves a usecase of many RX or TX only rules that create a long chain of
         RX/TX-only paths w/o the actual rules
       - Patch 15 ignores modify TTL if device doesn't support it instead of
         adding and unsupported action
       - Patch 16 sets SMFS as a default steering mode
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ce2b6eb4
    • David S. Miller's avatar
      Merge branch 'hnsd3-next' · 20a9013e
      David S. Miller authored
      Guangbin Huang says:
      
      ====================
      net: hns3: refactor cmdq functions in PF/VF
      
      Currently, hns3 PF and VF module have two sets of cmdq APIs to provide
      cmdq message interaction functions. Most of these APIs are the same. The
      only differences are the function variables and names with pf and vf
      suffixes. These two sets of cmdq APIs are redundent and add extra bug fix
      work.
      
      This series refactor the cmdq APIs in hns3 PF and VF by implementing one
      set of common cmdq APIs for PF and VF reuse and deleting the old APIs.
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      20a9013e
    • Jie Wang's avatar
      net: hns3: delete the hclge_cmd.c and hclgevf_cmd.c · aab8d1c6
      Jie Wang authored
      currently most cmdq APIs are unified in hclge_comm_cmd.c. Newly developed
      cmdq APIs should also be placed in hclge_comm_cmd.c. So there is no need to
      keep hclge_cmd.c and hclgevf_cmd.c.
      
      This patch moves the hclge(vf)_cmd_send to hclge(vf)_main.c and deletes
      the source files and makefile scripts.
      Signed-off-by: default avatarJie Wang <wangjie125@huawei.com>
      Signed-off-by: default avatarGuangbin Huang <huangguangbin2@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      aab8d1c6
    • Jie Wang's avatar
      net: hns3: refactor VF cmdq init and uninit APIs with new common APIs · cb413bfa
      Jie Wang authored
      This patch uses common cmdq init and uninit APIs to replace the old APIs in
      VF cmdq module init and uninit module. Then the old VF init and uninit
      APIs is deleted.
      Signed-off-by: default avatarJie Wang <wangjie125@huawei.com>
      Signed-off-by: default avatarGuangbin Huang <huangguangbin2@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      cb413bfa
    • Jie Wang's avatar
      net: hns3: refactor PF cmdq init and uninit APIs with new common APIs · 8e2288ca
      Jie Wang authored
      This patch uses common cmdq init and uninit APIs to replace the old APIs in
      PF cmdq module init and uninit modules. Then the old PF init and uninit
      APIs is deleted.
      Signed-off-by: default avatarJie Wang <wangjie125@huawei.com>
      Signed-off-by: default avatarGuangbin Huang <huangguangbin2@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8e2288ca
    • Jie Wang's avatar
      net: hns3: create common cmdq init and uninit APIs · 0b04224c
      Jie Wang authored
      The PF and VF cmdq init and uninit APIs are also almost same espect the
      suffixes of API names.
      
      This patch creates common cmdq init and uninit APIs needed by PF and VF
      cmdq modules. The next patch will use the new unified APIs to replace init
      and uninit APIs in PF module.
      Signed-off-by: default avatarJie Wang <wangjie125@huawei.com>
      Signed-off-by: default avatarGuangbin Huang <huangguangbin2@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0b04224c
    • Jie Wang's avatar
      net: hns3: refactor VF cmdq resource APIs with new common APIs · 745f0a19
      Jie Wang authored
      This patch uses common cmdq resource allocate/free/query APIs to replace
      the old APIs in VF cmdq module and deletes the old cmdq resource APIs.
      Still we kept hclgevf_cmd_setup_basic_desc name as a seam API to avoid too
      many meaningless replacement.
      Signed-off-by: default avatarJie Wang <wangjie125@huawei.com>
      Signed-off-by: default avatarGuangbin Huang <huangguangbin2@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      745f0a19
    • Jie Wang's avatar
      net: hns3: refactor PF cmdq resource APIs with new common APIs · d3c69a88
      Jie Wang authored
      This patch uses common cmdq resource allocate/free/query APIs to replace
      the old APIs in PF cmdq module and deletes the old cmdq resource APIs.
      Still we kept hclge_cmd_setup_basic_desc name as a seam API to avoid too
      many meaningless replacement.
      Signed-off-by: default avatarJie Wang <wangjie125@huawei.com>
      Signed-off-by: default avatarGuangbin Huang <huangguangbin2@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d3c69a88