geneve: Unify LWT and netdev handling.
authorpravin shelar <pshelar@ovn.org>
Mon, 21 Nov 2016 19:02:58 +0000 (11:02 -0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 21 Nov 2016 19:05:49 +0000 (14:05 -0500)
commit9b4437a5b870cb3875a63beceae5d1984ee19a22
tree40e7a38c03c9834975ad6d42ed3f8d44f112f104
parent9e36ced6335be42e637a827b64f510f143dbb5a7
geneve: Unify LWT and netdev handling.

Current geneve implementation has two separate cases to handle.
1. netdev xmit
2. LWT xmit.

In case of netdev, geneve configuration is stored in various
struct geneve_dev members. For example geneve_addr, ttl, tos,
label, flags, dst_cache, etc. For LWT ip_tunnel_info is passed
to the device in ip_tunnel_info.

Following patch uses ip_tunnel_info struct to store almost all
of configuration of a geneve netdevice. This allows us to unify
most of geneve driver code around ip_tunnel_info struct.
This dramatically simplify geneve code, since it does not
need to handle two different configuration cases. Removes
duplicate code, single code path can handle either type
of geneve devices.

Signed-off-by: Pravin B Shelar <pshelar@ovn.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/geneve.c