[Bug 273539] VLAN issue after upgrading from stable/13 to main or stable/14 - kernel without COMPAT_FREEBSD12

From: <bugzilla-noreply_at_freebsd.org>
Date: Sun, 03 Sep 2023 09:40:42 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=273539

            Bug ID: 273539
           Summary: VLAN issue after upgrading from stable/13 to main or
                    stable/14 - kernel without COMPAT_FREEBSD12
           Product: Base System
           Version: 14.0-STABLE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: herbert@gojira.at

After updating from stable/13 to (main and later to) stable/14
net/mpd5 only connects to my ISP (VDSL with VLAN) if I enable "options
COMPAT_FREEBSD12" in my kernel. Without I get only:

Aug 30 15:08:06 gw mpd[59876]: [L1] PPPoE connection timeout after 9 seconds
Aug 30 15:08:06 gw mpd[59876]: [L1] Link: DOWN event
Aug 30 15:08:06 gw mpd[59876]: [L1] LCP: Down event
Aug 30 15:08:06 gw mpd[59876]: [L1] Link: reconnection attempt 1 in 7 seconds
Aug 30 15:08:14 gw mpd[59876]: [L1] Link: reconnection attempt 1
Aug 30 15:08:14 gw mpd[59876]: [L1] PPPoE: Connecting to ''
Aug 30 15:08:23 gw mpd[59876]: [L1] PPPoE connection timeout after 9 seconds
Aug 30 15:08:23 gw mpd[59876]: [L1] Link: DOWN event
Aug 30 15:08:23 gw mpd[59876]: [L1] LCP: Down event
[..]


Without "COMPAT_FREEBSD12" vlanproto = 0x0000.
If I run "ifconfig vlan31 vlanproto 802.1q" mpd5 works.

According to ifconfig(8) 802.1q is the default vlanproto.

Maybe this commit is related:

commit afbb64f1d85b7d8c2938031c3567946b5d10da4f
Author: Alexander V. Chernikov
Date:   Sun Apr 11 17:47:03 2021 +0100

      Fix vlan creation for the older ifconfig(8) binaries.

      Reported by:    allanjude
      MFC after:      immediately

?


To reproduce: build and run the following kernel:

include GENERIC
ident TEST
nooptions COMPAT_FREEBSD12

stable/13:

# ifconfig vlan99 create
 ==> vlanproto: 0x0000
# ifconfig vlan99 vlan 99 vlandev igb0
 ==> vlanproto: 802.1q
# ifconfig vlan99 destroy
# ifconfig vlan99 create vlan 99 vlandev igb0
 ==> vlanproto: 802.1q

On stable/14 or main:

# ifconfig vlan99 create
 ==> vlanproto 0x0000
# ifconfig vlan99 vlan 99 vlandev igb0
 ==> vlanproto 0x0000
# ifconfig vlan99 create vlan 99 vlandev igb0
 ==> vlanproto: 802.1q

I guess that's why the following lines in my /etc/rc.conf no longer
work on stable/14 or main.

cloned_interfaces="vlan99"
ifconfig_vlan99="vlan 99 vlandev igb0"

I have to replace the ifconfig line with:

ifconfig_vlan99="vlan 99 vlandev igb0 vlanproto 802.1q"

It also works if I remove the following lines in sys/net/if_vlan.c:

1110 #ifdef COMPAT_FREEBSD12
1113 #endif

2265 #ifdef COMPAT_FREEBSD12
2268 #endif

-- 
You are receiving this mail because:
You are the assignee for the bug.