> diff --git a/include/net/udp_tunnel.h b/include/net/udp_tunnel.h > index cb2f89f..72415aa 100644 > --- a/include/net/udp_tunnel.h > +++ b/include/net/udp_tunnel.h > @@ -9,6 +9,12 @@ > #include <net/addrconf.h> > #endif > > +enum udp_tunnel_type { > + UDP_TUNNEL_UNSPEC, > + UDP_TUNNEL_VXLAN, > + UDP_TUNNEL_GENEVE, > +}; > +
Sorry, I still don't like this. Grant it least it gets rid of of VXLAN specific ops, but the problem is there no such things as a common set of encapsulations in the kernel (e.g. foo-over-udp adds a bunch of encapsulations not represented here), no defined common set of device functionality that needs this, and this precludes the use of the RX accelerations to be available from a userpsace implementation. The bad effect of this model is that it is encourages HW vendors to continue implement HW protocol specific support for encapsulations, we get so much more benefit if they implement protocol generic mechanisms. For instance, it is much better that they return CHECKSUM_COMPLETE rather than giving us checksum unnecessary indication for a TCP checksum within VXLAN. If the devices needs to be configured for some protocol specific actions then ntuple filters on the port seems like the right interface. Really the only common NIC offload that might need this at all is LRO. RSS, the checksum offloads, and LSO (for UDP tunnels) can all be implemented generically without regard to the specific encapsulation being used. Tom -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html