Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 13 Nov 2019 18:51:29 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 241954] netgraph fails on concurrent node rename
Message-ID:  <bug-241954-227@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D241954

            Bug ID: 241954
           Summary: netgraph fails on concurrent node rename
           Product: Base System
           Version: 12.1-RELEASE
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: freebsd@otoh.org

I have a FreeBSD 12.1 host on which I'm using jng to create netgraph nodes =
for
host interfaces. If I start the jails in series, it works fine. If I start =
them
in parallel netgraph fails to rename the nodes and those jails fail to
initialize.

jail.conf:

exec.prestart =3D "";
exec.start =3D "/bin/sh /etc/rc";
exec.stop =3D "/bin/sh /etc/rc.shutdown";
exec.poststop =3D "";
exec.clean;
mount.devfs;
mount.fdescfs;
mount.procfs;
persist;
vnet =3D new;
devfs_ruleset =3D 10; # random, log, null, fd/* and other critical items

# Dynamic wildcard parameter:
# Base the path off the jail name.
path =3D "/jail/${host.hostname}/root";
exec.consolelog =3D "/var/log/jail_${host.hostname}_console.log";

###########################################################################=
#####
# External Jails
###########################################################################=
#####

ext {
  host.hostname =3D "ext.example.com";
  exec.prestart +=3D "jng bridge ext bridge0 bridge1";
  exec.poststop +=3D "jng shutdown ext";
  vnet.interface =3D ng0_ext,ng1_ext;
}

###########################################################################=
#####
# Internal Jails
###########################################################################=
#####

ns0 {
  host.hostname =3D "ns0.example.com";
  exec.prestart +=3D "jng bridge ns0 bridge0 bridge1";
  exec.poststop +=3D "jng shutdown ns0";
  vnet.interface =3D ng0_ns0,ng1_ns0;
}

ns1 {
  host.hostname =3D "ns1.example.com";
  exec.prestart +=3D "jng bridge ns1 bridge0 bridge1";
  exec.poststop +=3D "jng shutdown ns1";
  vnet.interface =3D ng0_ns1,ng1_ns1;
}

wg {
  host.hostname =3D "wg.example.com";
  exec.prestart +=3D "jng bridge wg bridge0 bridge1";
  exec.poststop +=3D "jng shutdown wg";
  vnet.interface =3D ng0_wg,ng1_wg;
  devfs_ruleset =3D 11; # include tun
}

www {
  host.hostname =3D "www.example.com";
  exec.prestart +=3D "jng bridge www bridge0 bridge1";
  exec.poststop +=3D "jng shutdown www";
  vnet.interface =3D ng0_www,ng1_www;
  sysvshm; # postgresql
}

vault {
  host.hostname =3D "vault.example.com";
  exec.prestart +=3D "jng bridge vault bridge0 bridge1";
  exec.poststop +=3D "jng shutdown vault";
  vnet.interface =3D ng0_vault,ng1_vault;
}

dmesg:

WARNING: attempt to domain_add(netgraph) after domainfinalize()
bridge0: promiscuous mode enabled
ngeth0: link state changed to UP
ngeth0: changing name to 'ng0_www'
bridge1: promiscuous mode enabled
ngeth1: link state changed to UP
ngeth1: changing name to 'ng1_www'
ng_ether_ifnet_arrival_event: can't re-name node ng0_www
ng_ether_ifnet_arrival_event: can't re-name node ng1_www
lo0: link state changed to UP

Jail start (clean after boot with jails disabled):

[root@ext]# service jail start
Starting jails:ngctl: send msg: File exists
ngctl: send msg: File exists
ngctl: send msg: File exists
ngctl: jail: send msgns0: jng bridge ns0 bridge0 bridge1: failed:
jail: ngctl: wg: jng bridge wg bridge0 bridge1: failedFile exists

send msgjail: : ns1: jng bridge ns1 bridge0 bridge1: failed
File exists
jail: vault: jng bridge vault bridge0 bridge1: failed
jail: numbat: jng bridge numbat bridge0 bridge1: failed
ng0_www
ng1_www
www: created

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-241954-227>