git: 0ec220df526d - main - tap(4): allow full-duplex and non-zero speed

From: Warner Losh <imp_at_FreeBSD.org>
Date: Wed, 31 May 2023 15:54:36 UTC
The branch main has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=0ec220df526d38c73650301c1300a6fe3124698a

commit 0ec220df526d38c73650301c1300a6fe3124698a
Author:     Alexandre Snarskii <snar@snar.spb.ru>
AuthorDate: 2023-05-31 15:50:00 +0000
Commit:     Warner Losh <imp@FreeBSD.org>
CommitDate: 2023-05-31 15:53:48 +0000

    tap(4): allow full-duplex and non-zero speed
    
    tap(4) devices advertise themselves as just 'ethernet autoselect',
    without duplex or speed capabilities.
    This advertisement makes them unable to be aggregated into lacp-based
    lagg(4):
    - lacp code requires underlying interfaces to be full-duplex, else
      interface will not participate in lacp at all
    - lacp code requires underlying interface to have non-zero speed, else
      this interface can not be selected as active aggregator
    
    PR: 217374
    Reported-by: Alexandre Snarskii <snar@snar.spb.ru>
    Co-authored-by: Mina Galić <freebsd@igalic.co>
    Reviewed-by: imp,karles
    Pull-request: https://github.com/freebsd/freebsd-src/pull/745
---
 sys/net/if_tuntap.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sys/net/if_tuntap.c b/sys/net/if_tuntap.c
index 86921675c58f..28d5e97935cb 100644
--- a/sys/net/if_tuntap.c
+++ b/sys/net/if_tuntap.c
@@ -1341,7 +1341,7 @@ tunifioctl(struct ifnet *ifp, u_long cmd, caddr_t data)
 		dummy = ifmr->ifm_count;
 		ifmr->ifm_count = 1;
 		ifmr->ifm_status = IFM_AVALID;
-		ifmr->ifm_active = IFM_ETHER;
+		ifmr->ifm_active = IFM_ETHER | IFM_FDX | IFM_1000_T;
 		if (tp->tun_flags & TUN_OPEN)
 			ifmr->ifm_status |= IFM_ACTIVE;
 		ifmr->ifm_current = ifmr->ifm_active;