summaryrefslogtreecommitdiff
path: root/src/print_eth_info.c
diff options
context:
space:
mode:
authorMichael Stapelberg <michael@stapelberg.de>2019-01-27 22:32:47 +0100
committerMichael Stapelberg <michael@stapelberg.de>2019-01-27 22:32:47 +0100
commit0e4fd9ad4a4cc7d6c770134a077e91b02f6cd2f0 (patch)
tree64bf26a4131db0333b87b695c60014812aee0d6e /src/print_eth_info.c
parente36966d49cb2db0be24baf845aedcde109841ff8 (diff)
fix ethernet speed display for 100 Gbit/s cards
Before this fix, i3status would display 34464 Mbit/s instead of 100000 Mbit/s, because it was only looking at ecmd.speed, ignoring ecmd.speed_hi.
Diffstat (limited to 'src/print_eth_info.c')
-rw-r--r--src/print_eth_info.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/print_eth_info.c b/src/print_eth_info.c
index f9e63da..81e74a7 100644
--- a/src/print_eth_info.c
+++ b/src/print_eth_info.c
@@ -43,7 +43,7 @@ static int print_eth_speed(char *outwalk, const char *interface) {
ifr.ifr_data = (caddr_t)&ecmd;
(void)strcpy(ifr.ifr_name, interface);
if (ioctl(general_socket, SIOCETHTOOL, &ifr) == 0) {
- ethspeed = (ecmd.speed == USHRT_MAX ? 0 : ecmd.speed);
+ ethspeed = (ecmd.speed == USHRT_MAX ? 0 : ethtool_cmd_speed(&ecmd));
return sprintf(outwalk, "%d Mbit/s", ethspeed);
} else
return sprintf(outwalk, "?");