Regression #14377
closed
Cannot add a QinQ interface to a bridge
Added by Steve Wheeler over 1 year ago.
Updated about 1 year ago.
Plus Target Version:
23.09
Affected Architecture:
All
Description
Attempting to create a bridge with a QinQ member results in the GUI timing out.
An existing bridge with a QinQ member will prevent the firewall booting when it attempts to create the bridge.
The bridge does not need to be assigned to hot this.
ifconfig will hang on a system that has a Bridged QinQ interface.
[23.05-RC][root@6100.stevew.lan]/root: ifconfig bridge0 addm ix2.100.200
^C^Z
load: 0.60 cmd: ifconfig 87870 [running] 7.54r 0.00u 7.53s 53% 3152k
Tested: pfSense-23.05.r.20230511.0600
This same configuration loaded OK in 23.01.
- Assignee set to Kristof Provost
I can also reproduce this on base FreeBSD. It appears to be due to incorrect locking in if_vlan, possibly as a result of the new netlink code, but I'm still debugging:
shared lock of (sx) vlan_sx @ /usr/src/sys/net/if_vlan.c:2192
while exclusively locked from /usr/src/sys/net/if_vlan.c:2307
panic: excl->share
cpuid = 29
time = 1683873033
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe015d4ad4b0
vpanic() at vpanic+0x152/frame 0xfffffe015d4ad500
panic() at panic+0x43/frame 0xfffffe015d4ad560
witness_checkorder() at witness_checkorder+0xcb5/frame 0xfffffe015d4ad720
_sx_slock_int() at _sx_slock_int+0x67/frame 0xfffffe015d4ad760
vlan_ioctl() at vlan_ioctl+0xf8/frame 0xfffffe015d4ad7c0
dump_iface() at dump_iface+0x12f/frame 0xfffffe015d4ad840
rtnl_handle_ifevent() at rtnl_handle_ifevent+0xab/frame 0xfffffe015d4ad8c0
if_setflag() at if_setflag+0xf6/frame 0xfffffe015d4ad930
ifpromisc() at ifpromisc+0x2a/frame 0xfffffe015d4ad960
vlan_setflags() at vlan_setflags+0x60/frame 0xfffffe015d4ad990
vlan_ioctl() at vlan_ioctl+0x216/frame 0xfffffe015d4ad9f0
if_setflag() at if_setflag+0xe4/frame 0xfffffe015d4ada60
ifpromisc() at ifpromisc+0x2a/frame 0xfffffe015d4ada90
bridge_ioctl_add() at bridge_ioctl_add+0x499/frame 0xfffffe015d4adb10
bridge_ioctl() at bridge_ioctl+0x328/frame 0xfffffe015d4adbc0
ifioctl() at ifioctl+0x972/frame 0xfffffe015d4adcc0
kern_ioctl() at kern_ioctl+0x1fe/frame 0xfffffe015d4add30
sys_ioctl() at sys_ioctl+0x154/frame 0xfffffe015d4ade00
amd64_syscall() at amd64_syscall+0x140/frame 0xfffffe015d4adf30
fast_syscall_common() at fast_syscall_common+0xf8/frame 0xfffffe015d4adf30
--- syscall (54, FreeBSD ELF64, ioctl), rip = 0x22b0f0ef8d8a, rsp = 0x22b0ec63f2c8, rbp = 0x22b0ec63f380 ---
KDB: enter: panic
[ thread pid 5715 tid 101132 ]
- Status changed from New to Waiting on Merge
- Status changed from Waiting on Merge to Feedback
- Project changed from pfSense Plus to pfSense
- Category changed from Interfaces to Interfaces
- Target version changed from 23.09 to 2.8.0
- Affected Plus Version deleted (
23.05)
- Plus Target Version set to 23.09
Doesn't appear to be specific to Plus
- Status changed from Feedback to Closed
Looks good in todays snapshot:
[23.09-DEVELOPMENT][root@4100.stevew.lan]/root: ifconfig bridge0
bridge0: flags=1008843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,LOWER_UP> metric 0 mtu 1496
description: Bridge0
options=0
ether 58:9c:fc:10:16:55
inet 10.25.82.1 netmask 0xffffff00 broadcast 10.25.82.255
id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200
root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
member: igc1 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
ifmaxaddr 0 port 2 priority 128 path cost 2000000
member: igc0.100 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
ifmaxaddr 0 port 10 priority 128 path cost 2000000
member: igc0.100.200 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
ifmaxaddr 0 port 11 priority 128 path cost 2000000
groups: bridge
nd6 options=1<PERFORMNUD>
[23.09-DEVELOPMENT][root@4100.stevew.lan]/root: uname -a
FreeBSD 4100.stevew.lan 14.0-CURRENT FreeBSD 14.0-CURRENT amd64 1400093 #1 plus-devel-main-n256122-db827fa2f51: Tue Aug 8 06:37:56 UTC 2023 root@freebsd:/var/jenkins/workspace/pfSense-Plus-snapshots-master-main/obj/amd64/ykQin6TF/var/jenkins/workspace/pfSense-Plus-snapshots-master-main/sources/FreeBSD-src-plus-devel-main/amd64.amd64/sys/pfSense amd64
- Target version changed from 2.8.0 to 2.7.1
Also available in: Atom
PDF