ACK: [SRU][PULL][jammy:linux-gcp] gVNIC DQO-QPL feature

Tim Gardner tim.gardner at canonical.com
Mon Jan 22 15:42:23 UTC 2024


On 1/12/24 12:53 PM, 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
>        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
> 
Acked-by: Tim Gardner <tim.gardner at canonical.com>
-- 
-----------
Tim Gardner
Canonical, Inc




More information about the kernel-team mailing list