ACK/Cmnt: [SRU][PULL][jammy:linux-gcp] gVNIC DQO-QPL feature
Yuxuan Luo
yuxuan.luo at canonical.com
Thu Jan 25 00:14:17 UTC 2024
On 1/12/24 14:53, John Cabaj wrote:
> BugLink: https://bugs.launchpad.net/bugs/2040522
>
> [Impact]
>
> * Google requested inclusion of gVNIC DQO-QPL feature.
>
> [Fix]
>
> * 22 clean cherry-picks, 8 backports from upstream
>
> [Test Case]
>
> * Compile tested
> * Boot tested
> * Tested by Google
>
> [Where things could go wrong]
>
> * Low chance of regression. Almost all changes isolated to Google Ethernet drivers.
> * All changes upstream as of v6.6.
>
> [Other Info]
>
> * SF #00366697
>
> --------
>
> The following changes since commit 04c19cd6345a4c14df5e64d6a4523d52342321dc:
>
> UBUNTU: Ubuntu-gcp-5.15.0-1048.56 (2023-11-18 14:50:34 -0300)
>
> are available in the Git repository at:
>
> https://git.launchpad.net/~john-cabaj/ubuntu/+source/linux-gcp/+git/jammy-gcp dqo-qpl_feature
>
> for you to fetch changes up to 1c11c5026b48bf6fa999a66e4554300e97d0256b:
>
> gro: add ability to control gro max packet size (2024-01-12 12:43:44 -0600)
>
> ----------------------------------------------------------------
> Coco Li (3):
> gve: Support IPv6 Big TCP on DQ
> IPv6/GRO: generic helper to remove temporary HBH/jumbo header in driver
> gro: add ability to control gro max packet size
>
> Colin Ian King (1):
> gve: Fix spelling mistake "droping" -> "dropping"
>
> Eric Dumazet (4):
> gve: fix frag_list chaining
> net: annotate accesses to dev->gso_max_segs
> ipv6: add struct hop_jumbo_hdr definition
> ipv6/gso: remove temporary HBH/jumbo header
>
> Haiyue Wang (1):
> gve: enhance no queue page list detection
>
> Jakub Kicinski (2):
> eth: add missing xdp.h includes in drivers
Add the entire context of the missing headers might mess with the git
history; imho excluding them is an alternative approach since only gve
is in the scope. But it shouldn't harm.
> net: don't allow user space to lift the device limits
>
> Jeroen de Borst (2):
> gve: Adding a new AdminQ command to verify driver
> gve: Handle alternate miss completions
>
> Jesper Dangaard Brouer (1):
> gve: trivial spell fix Recive to Receive
>
> Jilin Yuan (1):
> google/gve:fix repeated words in comments
>
> Julia Lawall (1):
> gve: use vmalloc_array and vcalloc
>
> Junfeng Guo (1):
> gve: unify driver name usage
>
> Praveen Kaligineedi (6):
> gve: Fix gve interrupt names
> gve: XDP support GQI-QPL: helper function changes
> gve: Changes to add new TX queues
> gve: Add XDP DROP and TX support for GQI-QPL format
> gve: Add XDP REDIRECT support for GQI-QPL format
> gve: Add AF_XDP zero-copy support for GQI-QPL format
>
> Rushil Gupta (4):
> gve: Control path for DQO-QPL
> gve: Tx path for DQO-QPL
> gve: RX path for DQO-QPL
> gve: update gve.rst
>
> Shailend Chand (2):
> gve: Reduce alloc and copy costs in the GQ rx path
> gve: Unify duplicate GQ min pkt desc size constants
>
> Yang Yingliang (1):
> gve: Fix error return code in gve_prefill_rx_pages()
>
> Documentation/networking/device_drivers/ethernet/google/gve.rst | 9 ++
> drivers/net/bonding/bond_main.c | 3 +-
> drivers/net/ethernet/amazon/ena/ena_netdev.h | 1 +
> drivers/net/ethernet/engleder/tsnep.h | 260 ++++++++++++++++++++++++++++++++++++++
> drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.h | 1 +
> drivers/net/ethernet/freescale/enetc/enetc.h | 1 +
> drivers/net/ethernet/freescale/fec.h | 1 +
> drivers/net/ethernet/freescale/fec_main.c | 2 +-
> drivers/net/ethernet/fungible/funeth/funeth_txrx.h | 266 +++++++++++++++++++++++++++++++++++++++
> drivers/net/ethernet/google/gve/gve.h | 247 ++++++++++++++++++++++++++++++++----
> drivers/net/ethernet/google/gve/gve_adminq.c | 118 +++++++++++++++---
> drivers/net/ethernet/google/gve/gve_adminq.h | 65 +++++++++-
> drivers/net/ethernet/google/gve/gve_desc.h | 4 +-
> drivers/net/ethernet/google/gve/gve_desc_dqo.h | 5 +
> drivers/net/ethernet/google/gve/gve_ethtool.c | 95 ++++++++++----
> drivers/net/ethernet/google/gve/gve_main.c | 804 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------
> drivers/net/ethernet/google/gve/gve_rx.c | 685 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------------
> drivers/net/ethernet/google/gve/gve_rx_dqo.c | 133 +++++++++++++++++---
> drivers/net/ethernet/google/gve/gve_tx.c | 300 +++++++++++++++++++++++++++++++++++++++-----
> drivers/net/ethernet/google/gve/gve_tx_dqo.c | 424 +++++++++++++++++++++++++++++++++++++++++++++++++-------------
> drivers/net/ethernet/google/gve/gve_utils.c | 34 ++---
> drivers/net/ethernet/google/gve/gve_utils.h | 3 +-
> drivers/net/ethernet/intel/igc/igc.h | 1 +
> drivers/net/ethernet/marvell/mv643xx_eth.c | 2 +-
> drivers/net/ethernet/marvell/mvneta.c | 2 +-
> drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c | 2 +-
> drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c | 2 +-
> drivers/net/ethernet/marvell/octeontx2/nic/otx2_vf.c | 2 +-
> drivers/net/ethernet/microchip/lan966x/lan966x_main.h | 788 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> drivers/net/ethernet/microsoft/mana/mana.h | 2 +
> drivers/net/ethernet/microsoft/mana/mana_en.c | 1 +
> drivers/net/ethernet/netronome/nfp/nfp_net_common.c | 2 +-
> drivers/net/ethernet/netronome/nfp/nfp_net_repr.c | 6 +-
> drivers/net/ethernet/realtek/r8169_main.c | 8 +-
> drivers/net/ethernet/sfc/ef100_nic.c | 4 +-
> drivers/net/ethernet/sfc/efx.c | 2 +-
> drivers/net/ethernet/sfc/falcon/efx.c | 2 +-
> drivers/net/ethernet/stmicro/stmmac/stmmac.h | 1 +
> drivers/net/ethernet/ti/cpsw_priv.h | 1 +
> drivers/net/hyperv/hyperv_net.h | 1 +
> drivers/net/ipvlan/ipvlan_main.c | 8 +-
> drivers/net/macvlan.c | 8 +-
> drivers/net/tap.c | 1 +
> drivers/net/veth.c | 4 +-
> drivers/net/vxlan/vxlan_core.c | 4 +-
> include/linux/netdevice.h | 28 +++++
> include/net/ipv6.h | 77 ++++++++++++
> include/uapi/linux/if_link.h | 1 +
> net/8021q/vlan.c | 4 +-
> net/8021q/vlan_dev.c | 4 +-
> net/bridge/br_if.c | 4 +-
> net/core/dev.c | 38 +++++-
> net/core/gro.c | 770 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> net/core/rtnetlink.c | 30 ++++-
> net/core/sock.c | 3 +-
> net/ipv6/ip6_offload.c | 5 +-
> tools/include/uapi/linux/if_link.h | 1 +
> 57 files changed, 4699 insertions(+), 581 deletions(-)
> create mode 100644 drivers/net/ethernet/engleder/tsnep.h
> create mode 100644 drivers/net/ethernet/fungible/funeth/funeth_txrx.h
> create mode 100644 drivers/net/ethernet/microchip/lan966x/lan966x_main.h
> create mode 100644 net/core/gro.c
>
Other than that, LGTM.
Acked-by: Yuxuan Luo <yuxuan.luo at canonical.com>
More information about the kernel-team
mailing list