From a3dc96a3a26a6091d295add33daf865fd6281232 Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Sat, 23 Nov 2019 16:28:40 -0500 Subject: [PATCH] freebsd_network: Use ifmedia_baudrate to compute the link speed. This is much more accurate than testing only 2 IFM_* types. --- src/libs/compat/freebsd_network/device_hooks.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/src/libs/compat/freebsd_network/device_hooks.c b/src/libs/compat/freebsd_network/device_hooks.c index 6fa8789e0d..565f2db2b1 100644 --- a/src/libs/compat/freebsd_network/device_hooks.c +++ b/src/libs/compat/freebsd_network/device_hooks.c @@ -272,12 +272,7 @@ compat_control(void *cookie, uint32 op, void *arg, size_t length) state.media = mediareq.ifm_active; if ((mediareq.ifm_status & IFM_ACTIVE) != 0) state.media |= IFM_ACTIVE; - if ((mediareq.ifm_active & IFM_10_T) != 0) - state.speed = 10000000; - else if ((mediareq.ifm_active & IFM_100_TX) != 0) - state.speed = 100000000; - else - state.speed = 1000000000; + state.speed = ifmedia_baudrate(mediareq.ifm_active); state.quality = 1000; return user_memcpy(arg, &state, sizeof(ether_link_state_t));