On 06/20/15 at 07:27am, roopa wrote: > On 6/19/15, 11:39 AM, Robert Shearman wrote: > >On 19/06/15 19:34, roopa wrote: > >>On 6/19/15, 10:25 AM, Robert Shearman wrote: > >>>n 19/06/15 16:14, roopa wrote: > >>> > >>In the netdevice case, this output function is not called atall. It > >>should just follow the existing netdevice the route is pointing to. > > > >Sorry for not being clear, but I meant that there would have to be > >lwtunnel_skb_lwstate functions for ipv4 and ipv6 to match the output > >functions. So in the vxlan use case where it's using a netdevice, how > >would it determine which one to call? > > thanks for that clarification, and good point. I see some areas of the > kernel checking for skb->protocol to do the conversion (something like > below). I am guessing that is acceptable. > if (skb->protocol == htons(ETH_P_IPV6)) > struct rt6_info *rt6 = (struct rt6_info *)skb_dst(skb);
I'm not yet convinced that it makes sense to offer the no-netdevice shortcut for VXLAN. I'm not convinced we need yet another VXLAN data path. In fact, I'm trying to get rid of the OVS one for this specific reason. I have no objection though if somebody comes up with an architecture that can't just pass the required metadata between the namespaces and do the actual encapsulation in a single net_device in the root/host namespace. Either way, I thin it's fair to defer to this to a later point. We don't need to solve this for the first iteration of MPLS and VXLAN implementation. -- To unsubscribe from this list: send the line "unsubscribe netdev" in