git: 5c6fae9d27da - stable/14 - tests: bridge: Add regression test for gif(4) interface as bridge member

From: Zhenlei Huang <zlei_at_FreeBSD.org>
Date: Sat, 27 Sep 2025 15:13:52 UTC
The branch stable/14 has been updated by zlei:

URL: https://cgit.FreeBSD.org/src/commit/?id=5c6fae9d27dacf77c900e9b982d35a6095b22ec6

commit 5c6fae9d27dacf77c900e9b982d35a6095b22ec6
Author:     Zhenlei Huang <zlei@FreeBSD.org>
AuthorDate: 2025-09-01 10:14:22 +0000
Commit:     Zhenlei Huang <zlei@FreeBSD.org>
CommitDate: 2025-09-27 15:11:34 +0000

    tests: bridge: Add regression test for gif(4) interface as bridge member
    
    if_bridge(4) should not prohibit adding a gif(4) interface which is
    assigned with IP addresses as a bridge member regardless of the setting
    of sysctl variable net.link.bridge.member_ifaddrs.
    
    Assigning IP addresses on the gif(4) interface should not be affected
    no matter whether it is member of a bridge interface or not.
    
    PR:             227450
    Reported by:    Siva Mahadevan <me@svmhdvn.name>
    Reviewed by:    ivy (previous version)
    MFC after:      1 week
    Differential Revision:  https://reviews.freebsd.org/D52200
    
    (cherry picked from commit b944c8ff17971b1c8f61d5612eac146f5d589e87)
---
 tests/sys/net/if_bridge_test.sh | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/tests/sys/net/if_bridge_test.sh b/tests/sys/net/if_bridge_test.sh
index 264a8986fcf9..8fe3c4ac7d4d 100755
--- a/tests/sys/net/if_bridge_test.sh
+++ b/tests/sys/net/if_bridge_test.sh
@@ -586,6 +586,25 @@ gif_body()
 		jexec one ping -c 1 -s 1200 198.51.100.2
 	atf_check -s exit:0 -o ignore \
 		jexec one ping -c 1 -s 2000 198.51.100.2
+
+	# Assigning IP addresses on the gif tunneling interfaces
+	jexec one sysctl net.link.bridge.member_ifaddrs=1
+	atf_check -s exit:0 -o ignore \
+		jexec one ifconfig ${gif_one} 192.168.0.224/24 192.168.169.254
+	atf_check -s exit:0 -o ignore \
+		jexec one ifconfig ${gif_one} inet6 no_dad 2001:db8::1/64
+	jexec one ifconfig ${bridge_one} deletem ${gif_one}
+	atf_check -s exit:0 -o ignore \
+		jexec one ifconfig ${bridge_one} addm ${gif_one}
+
+	jexec two sysctl net.link.bridge.member_ifaddrs=0
+	atf_check -s exit:0 -o ignore \
+		jexec two ifconfig ${gif_two} 192.168.169.254/24 192.168.0.224
+	atf_check -s exit:0 -o ignore \
+		jexec two ifconfig ${gif_two} inet6 no_dad 2001:db8::2/64
+	jexec two ifconfig ${bridge_two} deletem ${gif_two}
+	atf_check -s exit:0 -o ignore \
+		jexec two ifconfig ${bridge_two} addm ${gif_two}
 }
 
 gif_cleanup()