diff mbox

[ovs-dev,v2,2/3] datapath: compat: unset skb encapsulation bit

Message ID 1469571849-116091-3-git-send-email-pshelar@ovn.org
State Accepted
Headers show

Commit Message

Pravin Shelar July 26, 2016, 10:24 p.m. UTC
OVS compat layer can handle tunnel GSO packets. but it does
keep skb encapsulation on for packet handled in GSO. This can
confuse some NIC drivers. I have seen this issue on intel devices:

>>>  i40e 0000:42:00.0: TX driver issue detected, PF reset issued

Following patch resets this bit in case compat layer handles the packet.

VMware-BZ: 1698877
Signed-off-by: Pravin B Shelar <pshelar@ovn.org>
---
 datapath/linux/compat/gso.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Jesse Gross July 26, 2016, 10:55 p.m. UTC | #1
On Tue, Jul 26, 2016 at 3:24 PM, Pravin B Shelar <pshelar@ovn.org> wrote:
> OVS compat layer can handle tunnel GSO packets. but it does
> keep skb encapsulation on for packet handled in GSO. This can
> confuse some NIC drivers. I have seen this issue on intel devices:
>
>>>>  i40e 0000:42:00.0: TX driver issue detected, PF reset issued
>
> Following patch resets this bit in case compat layer handles the packet.
>
> VMware-BZ: 1698877
> Signed-off-by: Pravin B Shelar <pshelar@ovn.org>

Acked-by: Jesse Gross <jesse@kernel.org>
diff mbox

Patch

diff --git a/datapath/linux/compat/gso.c b/datapath/linux/compat/gso.c
index 32790c3..3a73bcd 100644
--- a/datapath/linux/compat/gso.c
+++ b/datapath/linux/compat/gso.c
@@ -186,6 +186,8 @@  static struct sk_buff *tnl_skb_gso_segment(struct sk_buff *skb,
 	 * make copy of it to restore it back. */
 	memcpy(cb, skb->cb, sizeof(cb));
 
+	skb->encapsulation = 0;
+
 	/* We are handling offloads by segmenting l3 packet, so
 	 * no need to call OVS compat segmentation function. */