linux/net/ethtool
Jakub Kicinski c7d759eb7b ethtool: add tunnel info interface
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: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2020-07-10 13:54:00 -07:00
..
bitset.c ethtool: add ethnl_parse_bitset() helper 2020-03-12 15:32:32 -07:00
bitset.h ethtool: add ethnl_parse_bitset() helper 2020-03-12 15:32:32 -07:00
cabletest.c net: ethtool: Remove PHYLIB direct dependency 2020-07-07 15:41:05 -07:00
channels.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2020-05-22 18:30:34 -07:00
coalesce.c ethtool: add COALESCE_NTF notification 2020-03-29 22:32:36 -07:00
common.c ethtool: add tunnel info interface 2020-07-10 13:54:00 -07:00
common.h ethtool: add tunnel info interface 2020-07-10 13:54:00 -07:00
debug.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-03-25 18:58:11 -07:00
eee.c ethtool: add EEE_NTF notification 2020-03-29 22:32:36 -07:00
features.c ethtool: add FEATURES_NTF notification 2020-03-12 15:32:33 -07:00
ioctl.c net: phy: Uninline PHY ethtool statistics operations 2020-07-08 12:39:05 -07:00
linkinfo.c ethtool: linkinfo: remove an unnecessary NULL check 2020-06-05 13:10:02 -07:00
linkmodes.c ethtool: Add support for 100Gbps per lane link modes 2020-07-08 15:30:42 -07:00
linkstate.c ethtool: Add link extended state 2020-06-29 17:45:02 -07:00
Makefile ethtool: add tunnel info interface 2020-07-10 13:54:00 -07:00
netlink.c ethtool: add tunnel info interface 2020-07-10 13:54:00 -07:00
netlink.h ethtool: add tunnel info interface 2020-07-10 13:54:00 -07:00
pause.c ethtool: add PAUSE_NTF notification 2020-03-29 22:32:36 -07:00
privflags.c ethtool: fix reference leak in ethnl_set_privflags() 2020-03-29 22:32:36 -07:00
rings.c ethtool: fix spelling mistake "exceeeds" -> "exceeds" 2020-03-13 11:23:33 -07:00
strset.c ethtool: add tunnel info interface 2020-07-10 13:54:00 -07:00
tsinfo.c ethtool: provide timestamping information with TSINFO_GET request 2020-03-29 22:32:37 -07:00
tunnels.c ethtool: add tunnel info interface 2020-07-10 13:54:00 -07:00
wol.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-03-25 18:58:11 -07:00