datapath: compat: clear skb IPCB block.
authorPravin B Shelar <pshelar@ovn.org>
Sun, 17 Jul 2016 16:52:01 +0000 (09:52 -0700)
committerPravin B Shelar <pshelar@ovn.org>
Sun, 17 Jul 2016 17:25:08 +0000 (10:25 -0700)
OVS compat ip_local_out/ip6_local_out clear out skb IPCB, we also
need to do it for non compat version.

Signed-off-by: Pravin B Shelar <pshelar@ovn.org>
Acked-by: Jesse Gross <jesse@kernel.org>
datapath/linux/compat/gso.h

index 0969d4d..280fc96 100644 (file)
@@ -96,6 +96,22 @@ static inline int skb_inner_mac_offset(const struct sk_buff *skb)
 
 #define ip6_local_out rpl_ip6_local_out
 int rpl_ip6_local_out(struct sk_buff *skb);
+#else
+
+static inline int rpl_ip_local_out(struct sk_buff *skb)
+{
+       memset(IPCB(skb), 0, sizeof(*IPCB(skb)));
+       return ip_local_out(skb);
+}
+#define ip_local_out rpl_ip_local_out
+
+static inline int rpl_ip6_local_out(struct sk_buff *skb)
+{
+       memset(IP6CB(skb), 0, sizeof (*IP6CB(skb)));
+       return ip6_local_out(skb);
+}
+#define ip6_local_out rpl_ip6_local_out
+
 #endif /* 3.18 */
 
 #ifndef USE_UPSTREAM_TUNNEL