Message ID | 20200810165555.12523-1-doshir@vmware.com |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
Series | [v2,net-next] vmxnet3: use correct tcp hdr length when packet is encapsulated | expand |
From: Ronak Doshi <doshir@vmware.com> Date: Mon, 10 Aug 2020 09:55:55 -0700 > Commit dacce2be3312 ("vmxnet3: add geneve and vxlan tunnel offload > support") added support for encapsulation offload. However, while > calculating tcp hdr length, it does not take into account if the > packet is encapsulated or not. > > This patch fixes this issue by using correct reference for inner > tcp header. > > Fixes: dacce2be3312 ("vmxnet3: add geneve and vxlan tunnel offload support") > Signed-off-by: Ronak Doshi <doshir@vmware.com> > Acked-by: Guolin Yang <gyang@vmware.com> Applied, thanks.
diff --git a/drivers/net/vmxnet3/vmxnet3_drv.c b/drivers/net/vmxnet3/vmxnet3_drv.c index ca395f9679d0..2818015324b8 100644 --- a/drivers/net/vmxnet3/vmxnet3_drv.c +++ b/drivers/net/vmxnet3/vmxnet3_drv.c @@ -886,7 +886,8 @@ vmxnet3_parse_hdr(struct sk_buff *skb, struct vmxnet3_tx_queue *tq, switch (protocol) { case IPPROTO_TCP: - ctx->l4_hdr_size = tcp_hdrlen(skb); + ctx->l4_hdr_size = skb->encapsulation ? inner_tcp_hdrlen(skb) : + tcp_hdrlen(skb); break; case IPPROTO_UDP: ctx->l4_hdr_size = sizeof(struct udphdr);