• Takeru Hayasaka's avatar
    ethtool: Add GTP RSS hash options to ethtool.h · 0ed3bba1
    Takeru Hayasaka authored
    This is a patch that enables RSS functionality for GTP packets using ethtool.
    
    A user can include TEID and make RSS work for GTP-U over IPv4 by doing the
    following:`ethtool -N ens3 rx-flow-hash gtpu4 sde`
    
    In addition to gtpu(4|6), we now support gtpc(4|6),gtpc(4|6)t,gtpu(4|6)e,
    gtpu(4|6)u, and gtpu(4|6)d.
    
    gtpc(4|6): Used for GTP-C in IPv4 and IPv6, where the GTP header format does
    not include a TEID.
    gtpc(4|6)t: Used for GTP-C in IPv4 and IPv6, with a GTP header format that
    includes a TEID.
    gtpu(4|6): Used for GTP-U in both IPv4 and IPv6 scenarios.
    gtpu(4|6)e: Used for GTP-U with extended headers in both IPv4 and IPv6.
    gtpu(4|6)u: Used when the PSC (PDU session container) in the GTP-U extended
    header includes Uplink, applicable to both IPv4 and IPv6.
    gtpu(4|6)d: Used when the PSC in the GTP-U extended header includes Downlink,
    for both IPv4 and IPv6.
    
    GTP generates a flow that includes an ID called TEID to identify the tunnel.
    This tunnel is created for each UE (User Equipment).By performing RSS based on
    this flow, it is possible to apply RSS for each communication unit from the UE.
    Without this, RSS would only be effective within the range of IP addresses. For
    instance, the PGW can only perform RSS within the IP range of the SGW.
    Problematic from a load distribution perspective, especially if there's a bias
    in the terminals connected to a particular base station.This case can be
    solved by using this patch.
    Signed-off-by: default avatarTakeru Hayasaka <hayatake396@gmail.com>
    Reviewed-by: default avatarMarcin Szycik <marcin.szycik@linux.intel.com>
    Tested-by: Pucha Himasekhar Reddy <himasekharx.reddy.pucha@intel.com> (A Contingent worker at Intel)
    Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
    0ed3bba1
ethtool.h 88.6 KB