net: Merge VXLAN and GENEVE push notifiers into a single notifier
authorAlexander Duyck <aduyck@mirantis.com>
Thu, 16 Jun 2016 19:21:00 +0000 (12:21 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 18 Jun 2016 03:23:29 +0000 (20:23 -0700)
commit7c46a640de6fcc4f35d0702710356a024eadf68f
tree0d19073b6febba8a3256dcd2928262e783f9643d
parente7b3db5e60e8f471c3f5ef93b497bafe5863e56a
net: Merge VXLAN and GENEVE push notifiers into a single notifier

This patch merges the notifiers for VXLAN and GENEVE into a single UDP
tunnel notifier.  The idea is that we will want to only have to make one
notifier call to receive the list of ports for VXLAN and GENEVE tunnels
that need to be offloaded.

In addition we add a new set of ndo functions named ndo_udp_tunnel_add and
ndo_udp_tunnel_del that are meant to allow us to track the tunnel meta-data
such as port and address family as tunnels are added and removed.  The
tunnel meta-data is now transported in a structure named udp_tunnel_info
which for now carries the type, address family, and port number.  In the
future this could be updated so that we can include a tuple of values
including things such as the destination IP address and other fields.

I also ended up going with a naming scheme that consisted of using the
prefix udp_tunnel on function names.  I applied this to the notifier and
ndo ops as well so that it hopefully points to the fact that these are
primarily used in the udp_tunnel functions.

Signed-off-by: Alexander Duyck <aduyck@mirantis.com>
Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/geneve.c
drivers/net/vxlan.c
include/linux/netdevice.h
include/net/geneve.h
include/net/udp_tunnel.h
include/net/vxlan.h
net/ipv4/udp_tunnel.c