nfp: limit the number of TSO segments

Most FWs limit the number of TSO segments a frame can produce
to 64.  This is for fairness and efficiency (of FW datapath)
reasons.  If a frame with larger number of segments is submitted
the FW will drop it.

Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Reviewed-by: Simon Horman <simon.horman@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Jakub Kicinski 2018-02-07 20:55:25 -08:00 committed by David S. Miller
parent d692403e5c
commit 0d592e52fb
2 changed files with 6 additions and 1 deletions

View File

@ -3750,6 +3750,8 @@ static void nfp_net_netdev_init(struct nfp_net *nn)
netdev->min_mtu = ETH_MIN_MTU;
netdev->max_mtu = nn->max_mtu;
netdev->gso_max_segs = NFP_NET_LSO_MAX_SEGS;
netif_carrier_off(netdev);
nfp_net_set_ethtool_ops(netdev);

View File

@ -59,9 +59,12 @@
#define NFP_NET_RX_OFFSET 32
/**
* Maximum header size supported for LSO frames
* LSO parameters
* %NFP_NET_LSO_MAX_HDR_SZ: Maximum header size supported for LSO frames
* %NFP_NET_LSO_MAX_SEGS: Maximum number of segments LSO frame can produce
*/
#define NFP_NET_LSO_MAX_HDR_SZ 255
#define NFP_NET_LSO_MAX_SEGS 64
/**
* Prepend field types