SPEED_UNKNOWN was introduced in Linux kernel v3.2. While at it, add some defines for 40G and 100G that were added in more recent kernels.
Fixes: 6240c0b4c80e ("netdev: Add netdev_get_speed() to netdev API.") Signed-off-by: David Marchand <david.march...@redhat.com> --- lib/netdev-linux.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/lib/netdev-linux.c b/lib/netdev-linux.c index c383663dde..2147659485 100644 --- a/lib/netdev-linux.c +++ b/lib/netdev-linux.c @@ -80,6 +80,17 @@ #include "userspace-tso.h" #include "util.h" +/* For older kernels that don't define those macros in linux/ethtool.h. */ +#ifndef SPEED_UNKNOWN +#define SPEED_UNKNOWN -1 +#endif +#ifndef SPEED_40000 +#define SPEED_40000 40000 +#endif +#ifndef SPEED_100000 +#define SPEED_100000 100000 +#endif + VLOG_DEFINE_THIS_MODULE(netdev_linux); COVERAGE_DEFINE(netdev_set_policing); @@ -2673,9 +2684,9 @@ netdev_linux_read_features(struct netdev_linux *netdev) netdev->current = ecmd.duplex ? NETDEV_F_1GB_FD : NETDEV_F_1GB_HD; } else if (netdev->current_speed == SPEED_10000) { netdev->current = NETDEV_F_10GB_FD; - } else if (netdev->current_speed == 40000) { + } else if (netdev->current_speed == SPEED_40000) { netdev->current = NETDEV_F_40GB_FD; - } else if (netdev->current_speed == 100000) { + } else if (netdev->current_speed == SPEED_100000) { netdev->current = NETDEV_F_100GB_FD; } else if (netdev->current_speed == 1000000) { netdev->current = NETDEV_F_1TB_FD; -- 2.50.1 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev