• pravin shelar's avatar
    geneve: Unify LWT and netdev handling. · 9b4437a5
    pravin shelar authored
    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: default avatarPravin B Shelar <pshelar@ovn.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    9b4437a5
geneve.c 38.1 KB