mirror of https://gitee.com/openkylin/linux.git
net/mlx5e: Use skb_shinfo(skb)->gso_segs rather than counting them
Instead of counting number of gso fragments, we can use skb_shinfo(skb)->gso_segs. Signed-off-by: Saeed Mahameed <saeedm@mellanox.com> Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
03289b88e3
commit
fb6c6f2529
|
@ -143,16 +143,13 @@ static netdev_tx_t mlx5e_sq_xmit(struct mlx5e_sq *sq, struct sk_buff *skb)
|
|||
|
||||
if (skb_is_gso(skb)) {
|
||||
u32 payload_len;
|
||||
int num_pkts;
|
||||
|
||||
eseg->mss = cpu_to_be16(skb_shinfo(skb)->gso_size);
|
||||
opcode = MLX5_OPCODE_LSO;
|
||||
ihs = skb_transport_offset(skb) + tcp_hdrlen(skb);
|
||||
payload_len = skb->len - ihs;
|
||||
num_pkts = (payload_len / skb_shinfo(skb)->gso_size) +
|
||||
!!(payload_len % skb_shinfo(skb)->gso_size);
|
||||
MLX5E_TX_SKB_CB(skb)->num_bytes = skb->len +
|
||||
(num_pkts - 1) * ihs;
|
||||
(skb_shinfo(skb)->gso_segs - 1) * ihs;
|
||||
sq->stats.tso_packets++;
|
||||
sq->stats.tso_bytes += payload_len;
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue