On Fri, 28 Aug 2015 10:32:15 -0700, Pravin Shelar wrote: > > --- a/drivers/net/geneve.c > > +++ b/drivers/net/geneve.c > > @@ -644,6 +644,9 @@ static netdev_tx_t geneve_xmit(struct sk_buff *skb, > > struct net_device *dev) > > u8 *opts = NULL; > > u8 vni[3]; > > > > + if (ip_tunnel_info_af(info) != AF_INET) > > + goto err; > > + > geneve_get_rt() already interpreted the info as ipv4 tunnel info.
Hmm, okay. I'll move the check. The geneve module changed more than I thought. Thanks for noticing this. > We can avoid such bugs by introducing separate API to retrieve ipv4 > and ipv6 tunnel info. Something like > skb_tunnel_info_v4()/skb_tunnel_info_v6() for ipv4 and ipv6. I don't think we want that. Ideally, the xmit function should work with both and use the protocol information to choose the correct output path. I intend to try this with the metadata based vxlan which would use the correct socket (IPv4 or IPv6) appropriately. That way, we won't need a separate vxlan interface for IPv4 and IPv6 traffic. Will be much more user friendly and most likely easier to use from ovs, too. Jiri -- Jiri Benc -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
