Project

General

Profile

Actions

Bug #13225

closed

Bridges with QinQ interfaces not properly set up at boot

Added by Lauri Liuhto almost 2 years ago. Updated over 1 year ago.

Status:
Resolved
Priority:
Normal
Assignee:
Viktor Gurov
Category:
Interfaces
Target version:
Start date:
Due date:
% Done:

100%

Estimated time:
Plus Target Version:
23.01
Release Notes:
Default
Affected Version:
2.6.0
Affected Architecture:
All

Description

We have a setup that includes several OpenVPN tunnels, some of them using QinQ. When system is configured using WebUI, it works. However, after a reboot bridges are not set up properly - the QinQ interfaces are missing from bridges.The WebUI still shows bridges as they should be, but 'ifconfig bridgeX' does not include QinQ members. This is most likely related to issue #11662.

We found a possible way to fix this, but have no idea if this causes some other problems.

The situation before fix:
[2.6.0-RELEASE][]/root: ifconfig bridge1
bridge1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether 02:3b:86:67:99:01
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: vtnet1.2222 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
ifmaxaddr 0 port 9 priority 128 path cost 2000
groups: bridge
nd6 options=1<PERFORMNUD>

Expected bridge contents:
[2.6.0-RELEASE][]/root: ifconfig bridge1
bridge1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
ether 02:3b:86:67:99:01
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: ovpnc2.200.2222 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
ifmaxaddr 0 port 17 priority 128 path cost 20000
member: vtnet1.2222 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
ifmaxaddr 0 port 9 priority 128 path cost 2000
groups: bridge
nd6 options=1<PERFORMNUD>

Proposed fix:

Add 'interfaces_bridge_configure(1);' into /etc/inc/openvpn.inc after 'interfaces_qinq_configure(true);':

/* configure OpenVPN-parent QinQ interfaces after creating OpenVPN interfaces
 * see https://redmine.pfsense.org/issues/11662 */
if (platform_booting()) {
interfaces_qinq_configure(true);
interfaces_bridge_configure(1); // to fix qinq-members not being added to bridges at reboot
}
Actions

Also available in: Atom PDF