1. 25 4月, 2023 4 次提交
    • J
      Merge branch 'add-page_pool-support-for-page-recycling-in-veth-driver' · 8e8e47d9
      Jakub Kicinski 提交于
      Lorenzo Bianconi says:
      
      ====================
      add page_pool support for page recycling in veth driver
      
      Introduce page_pool support in veth driver in order to recycle pages in
      veth_convert_skb_to_xdp_buff routine and avoid reallocating the skb through
      the page allocator when we run a xdp program on the device and we receive
      skbs from the stack.
      ====================
      
      Link: https://lore.kernel.org/r/cover.1682188837.git.lorenzo@kernel.orgSigned-off-by: NJakub Kicinski <kuba@kernel.org>
      8e8e47d9
    • L
      net: veth: add page_pool stats · 4fc41805
      Lorenzo Bianconi 提交于
      Introduce page_pool stats support to report info about local page_pool
      through ethtool
      Tested-by: NMaryam Tahhan <mtahhan@redhat.com>
      Signed-off-by: NLorenzo Bianconi <lorenzo@kernel.org>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      4fc41805
    • L
      net: veth: add page_pool for page recycling · 0ebab78c
      Lorenzo Bianconi 提交于
      Introduce page_pool support in veth driver in order to recycle pages
      in veth_convert_skb_to_xdp_buff routine and avoid reallocating the skb
      through the page allocator.
      The patch has been tested sending tcp traffic to a veth pair where the
      remote peer is running a simple xdp program just returning xdp_pass:
      
      veth upstream codebase:
      MTU 1500B: ~ 8Gbps
      MTU 8000B: ~ 13.9Gbps
      
      veth upstream codebase + pp support:
      MTU 1500B: ~ 9.2Gbps
      MTU 8000B: ~ 16.2Gbps
      Tested-by: NMaryam Tahhan <mtahhan@redhat.com>
      Signed-off-by: NLorenzo Bianconi <lorenzo@kernel.org>
      Signed-off-by: NJakub Kicinski <kuba@kernel.org>
      0ebab78c
    • J
      Merge tag 'nf-next-23-04-22' of git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf-next · ffcddcae
      Jakub Kicinski 提交于
      Pablo Neira Ayuso says:
      
      ====================
      Netfilter/IPVS updates for net-next
      
      1) Reduce jumpstack footprint: Stash chain in last rule marker in blob for
         tracing. Remove last rule and chain from jumpstack. From Florian Westphal.
      
      2) nf_tables validates all tables before committing the new rules.
         Unfortunately, this has two drawbacks:
      
         - Since addition of the transaction mutex pernet state gets written to
           outside of the locked section from the cleanup callback, this is
           wrong so do this cleanup directly after table has passed all checks.
      
         - Revalidate tables that saw no changes. This can be avoided by
           keeping the validation state per table, not per netns.
      
         From Florian Westphal.
      
      3) Get rid of a few redundant pointers in the traceinfo structure.
         The three removed pointers are used in the expression evaluation loop,
         so gcc keeps them in registers. Passing them to the (inlined) helpers
         thus doesn't increase nft_do_chain text size, while stack is reduced
         by another 24 bytes on 64bit arches. From Florian Westphal.
      
      4) IPVS cleanups in several ways without implementing any functional
         changes, aside from removing some debugging output:
      
         - Update width of source for ip_vs_sync_conn_options
           The operation is safe, use an annotation to describe it properly.
      
         - Consistently use array_size() in ip_vs_conn_init()
           It seems better to use helpers consistently.
      
         - Remove {Enter,Leave}Function. These seem to be well past their
           use-by date.
      
         - Correct spelling in comments.
      
         From Simon Horman.
      
      5) Extended netlink error report for netdevice in flowtables and
         netdev/chains. Allow for incrementally add/delete devices to netdev
         basechain. Allow to create netdev chain without device.
      
      * tag 'nf-next-23-04-22' of git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf-next:
        netfilter: nf_tables: allow to create netdev chain without device
        netfilter: nf_tables: support for deleting devices in an existing netdev chain
        netfilter: nf_tables: support for adding new devices to an existing netdev chain
        netfilter: nf_tables: rename function to destroy hook list
        netfilter: nf_tables: do not send complete notification of deletions
        netfilter: nf_tables: extended netlink error reporting for netdevice
        ipvs: Correct spelling in comments
        ipvs: Remove {Enter,Leave}Function
        ipvs: Consistently use array_size() in ip_vs_conn_init()
        ipvs: Update width of source for ip_vs_sync_conn_options
        netfilter: nf_tables: do not store rule in traceinfo structure
        netfilter: nf_tables: do not store verdict in traceinfo structure
        netfilter: nf_tables: do not store pktinfo in traceinfo structure
        netfilter: nf_tables: remove unneeded conditional
        netfilter: nf_tables: make validation state per table
        netfilter: nf_tables: don't write table validation state without mutex
        netfilter: nf_tables: don't store chain address on jump
        netfilter: nf_tables: don't store address of last rule on jump
        netfilter: nf_tables: merge nft_rules_old structure and end of ruleblob marker
      ====================
      
      Link: https://lore.kernel.org/r/20230421235021.216950-1-pablo@netfilter.orgSigned-off-by: NJakub Kicinski <kuba@kernel.org>
      ffcddcae
  2. 24 4月, 2023 36 次提交