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 <pshe...@ovn.org>
---
 datapath/linux/compat/gso.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/datapath/linux/compat/gso.c b/datapath/linux/compat/gso.c
index 92f5441..8368c6a 100644
--- a/datapath/linux/compat/gso.c
+++ b/datapath/linux/compat/gso.c
@@ -271,6 +271,7 @@ int rpl_ip_local_out(struct net *net, struct sock *sk, 
struct sk_buff *skb)
        if (!OVS_GSO_CB(skb)->fix_segment)
                return output_ip(skb);
 
+       skb->encapsulation = false;
        if (skb_is_gso(skb)) {
                struct iphdr *iph;
 
@@ -325,6 +326,7 @@ int rpl_ip6_local_out(struct net *net, struct sock *sk, 
struct sk_buff *skb)
        if (!OVS_GSO_CB(skb)->fix_segment)
                return output_ipv6(skb);
 
+       skb->encapsulation = false;
        if (skb_is_gso(skb)) {
                skb = tnl_skb_gso_segment(skb, 0, false, AF_INET6);
                if (!skb || IS_ERR(skb))
-- 
1.9.1

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to