[Bug 286179] Passing a vlan interface to a vnet jail result in a stuck dying state

From: <bugzilla-noreply_at_freebsd.org>
Date: Fri, 18 Apr 2025 11:34:23 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=286179

            Bug ID: 286179
           Summary: Passing a vlan interface to a vnet jail result in a
                    stuck dying state
           Product: Base System
           Version: 14.2-RELEASE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: florian.millet@laposte.net

Created attachment 259669
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=259669&action=edit
The config file fot the stuck jail

Hello everyone,

I stumbled upon a problem when working on jail networking with pseudo
interfaces like vlan. If you give a vlan interface to a vnet jail, everything
works fine until you try to stop the jail. It gets stuck in a dying state
(appearing in jls -d). It seems to be very similar to
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=264981 which is closed FIXED.
Like the other bug if I try to ifconfig destroy it says that the vlan interface
does not exist, if I try to create it it says that it already exists.

This happened on a FreeBSD 14.2-RELEASE-p3 (releng/14.2-n269524-1eb03b059e56)
kernel with custom options, the vlan is created on a lacp lagg device, itself
created upon 2 Mellanox mlx5 interface (MT27800 / ConnectX-5).
Appjail was used to create thin vnet jails but I don't think it has any impact
on this problem.

Steps to reproduce :
- Create a vlan interface on a lagg vlandev :
ifconfig vlan1000 create vlan 1000 vlandev lagg1
- give the created vlan to a vnet jail
(vnet.interface += "vlan1000"; in jail.conf)
- start the jail
- everything is working as intended
- stop the jail

After the stop :
server1352# ifconfig vlan1000
ifconfig: interface vlan1000 does not exist
server1352# ifconfig vlan1000 create vlan 1000 vlandev lagg1
ifconfig: interface vlan1000 already exists
server1352# ifconfig vlan1000 destroy
ifconfig: interface vlan1000 does not exist
server1352# jls -d
   JID  IP Address      Hostname                      Path
     2                  br1000.jail.storage.ovh.net  
/appjail/jails/br1000/jail
server1352#

Bug #264981 references a problem with inpcb that should have been fixed in
commit 5fd1a67e885e and while it seems to have fixed the original problem with
a lo pseudo interface, the problem persist with other type of pseudo interface
like vlan.

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