git: 454322c08b8a - main - libifconfig: Skip bridge VLAN config for span members

From: Lexi Winter <ivy_at_FreeBSD.org>
Date: Wed, 29 Apr 2026 03:17:49 UTC
The branch main has been updated by ivy:

URL: https://cgit.FreeBSD.org/src/commit/?id=454322c08b8aa181939c8d920472f03cfd591032

commit 454322c08b8aa181939c8d920472f03cfd591032
Author:     Lexi Winter <ivy@FreeBSD.org>
AuthorDate: 2026-04-29 03:11:20 +0000
Commit:     Lexi Winter <ivy@FreeBSD.org>
CommitDate: 2026-04-29 03:12:20 +0000

    libifconfig: Skip bridge VLAN config for span members
    
    bridge(4) doesn't support BRDGGIFVLANSET for span members, which
    means if a span interface is configured, libifconfig will fail to
    fetch bridge members.  Skip this for IFBIF_SPAN members.
    
    PR:     292634
    MFC after:      3 days
    Reported by:    Emrion <kmachine@free.fr>
    Reviewed by:    pouria, zlei
    Sponsored by:   https://www.patreon.com/bsdivy
    Differential Revision:  https://reviews.freebsd.org/D56694
---
 lib/libifconfig/libifconfig_bridge.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/lib/libifconfig/libifconfig_bridge.c b/lib/libifconfig/libifconfig_bridge.c
index 675bf5dd2ff5..2bb2952aeef2 100644
--- a/lib/libifconfig/libifconfig_bridge.c
+++ b/lib/libifconfig/libifconfig_bridge.c
@@ -139,6 +139,11 @@ ifconfig_bridge_get_bridge_status(ifconfig_handle_t *h,
 	}
 	for (size_t i = 0; i < bridge->inner.members_count; ++i) {
 		struct ifbif_vlan_req vreq;
+
+		/* Skip VLAN config for span members */
+		if (bridge->inner.members[i].ifbr_ifsflags & IFBIF_SPAN)
+			continue;
+
 		memset(&vreq, 0, sizeof(vreq));
 		strlcpy(vreq.bv_ifname, bridge->inner.members[i].ifbr_ifsname,
 		    sizeof(vreq.bv_ifname));