• Jakub Kicinski's avatar
    ethtool: add tunnel info interface · c7d759eb
    Jakub Kicinski authored
    Add an interface to report offloaded UDP ports via ethtool netlink.
    
    Now that core takes care of tracking which UDP tunnel ports the NICs
    are aware of we can quite easily export this information out to
    user space.
    
    The responsibility of writing the netlink dumps is split between
    ethtool code and udp_tunnel_nic.c - since udp_tunnel module may
    not always be loaded, yet we should always report the capabilities
    of the NIC.
    
    $ ethtool --show-tunnels eth0
    Tunnel information for eth0:
      UDP port table 0:
        Size: 4
        Types: vxlan
        No entries
      UDP port table 1:
        Size: 4
        Types: geneve, vxlan-gpe
        Entries (1):
            port 1230, vxlan-gpe
    
    v4:
     - back to v2, build fix is now directly in udp_tunnel.h
    v3:
     - don't compile ETHTOOL_MSG_TUNNEL_INFO_GET in if CONFIG_INET
       not set.
    v2:
     - fix string set count,
     - reorder enums in the uAPI,
     - fix type of ETHTOOL_A_TUNNEL_UDP_TABLE_TYPES to bitset
       in docs and comments.
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    c7d759eb
udp_tunnel_nic.c 22.1 KB