On Thu, Jul 18, 2013 at 10:02:52AM -0700, Jesse Gross wrote:
> On Tue, Jul 16, 2013 at 8:20 PM, Isaku Yamahata <[email protected]>
> wrote:
> > diff --git a/datapath/vport-gre.c b/datapath/vport-gre.c
> > index c74f5fc..604fe94 100644
> > --- a/datapath/vport-gre.c
> > +++ b/datapath/vport-gre.c
> > @@ -175,6 +175,7 @@ static int __send(struct vport *vport, struct sk_buff
> > *skb,
> >
> > skb->local_df = 1;
> >
> > + skb->pkt_type = PACKET_OUTGOING;
> > return iptunnel_xmit(net, rt, skb, saddr,
> > OVS_CB(skb)->tun_key->ipv4_dst, IPPROTO_GRE,
> > OVS_CB(skb)->tun_key->ipv4_tos,
>
> This is supposed to be OVS-specific code for GRE encapsulation but I
> don't see a reason that it wouldn't also apply to GRE tunnels that are
> Linux devices. Is there a reason that this doesn't belong in the
> upstream kernel instead?
Like this?
Pravin, do you have any comments? If you're fine with this patch,
I'll prepare it.
thanks,
---
include/net/ip6_tunnel.h | 1 +
net/ipv4/ip_tunnel_core.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/include/net/ip6_tunnel.h b/include/net/ip6_tunnel.h
index 4da5de1..e11e3e7 100644
--- a/include/net/ip6_tunnel.h
+++ b/include/net/ip6_tunnel.h
@@ -75,6 +75,7 @@ static inline void ip6tunnel_xmit(struct sk_buff *skb, struct
net_device *dev)
int pkt_len, err;
nf_reset(skb);
+ skb->pkt_type = PACKET_OUTGOING;
pkt_len = skb->len;
err = ip6_local_out(skb);
diff --git a/net/ipv4/ip_tunnel_core.c b/net/ipv4/ip_tunnel_core.c
index 7167b08..48862e4 100644
--- a/net/ipv4/ip_tunnel_core.c
+++ b/net/ipv4/ip_tunnel_core.c
@@ -80,6 +80,7 @@ int iptunnel_xmit(struct net *net, struct rtable *rt,
(const struct iphdr
*)skb_inner_network_header(skb),
&rt->dst);
+ skb->pkt_type = PACKET_OUTGOING;
err = ip_local_out(skb);
if (unlikely(net_xmit_eval(err)))
pkt_len = 0;
--
1.7.10.4
--
yamahata
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev