Bug 237649

Summary: Does not work receiving an IP address via DHCP after stable/12 (r346874-r347140)
Product: Base System Reporter: Vladyslav V. Prodan <admin>
Component: binAssignee: freebsd-net (Nobody) <net>
Status: New ---    
Severity: Affects Only Me CC: admin, john, mizhka
Priority: --- Keywords: needs-qa, regression
Version: 12.0-STABLE   
Hardware: Any   
OS: Any   
See Also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=264908

Description Vladyslav V. Prodan 2019-04-29 17:00:38 UTC
# uname -a
FreeBSD core.domain.com 12.0-STABLE FreeBSD 12.0-STABLE r346874 SUPPORT-12-0-1  amd64

The system was installed from the FreeBSD 11.2-STABLE snapshot archives of 04/25/2019.
There were a couple of reboots, after them the IP turned out fine.

# ps -auxww | grep dhc
root  46161    0,0  0,0 11400  2708  -  Is   18:30     0:00,00 dhclient: system.syslog (dhclient)
root  46545    0,0  0,0 11608  2784  -  Is   18:30     0:00,00 dhclient: igb0 [priv] (dhclient)
_dhcp 48891    0,0  0,0 11612  2796  -  ICs  18:31     0:00,00 dhclient: igb0 (dhclient)
root  75609    0,0  0,0 11464  2912  3  S+   18:41     0:00,00 grep --color=auto dhc

Today I did update the world and the kernel and got the problem.

In manual mode, the system receives IP via DHCP:
# dhclient bce0
ifconfig: ioctl (SIOCAIFADDR): File exists
DHCPDISCOVER on bce0 to 255.255.255.255 port 67 interval 5
DHCPOFFER from 192.168.88.1
DHCPREQUEST on bce0 to 255.255.255.255 port 67
DHCPACK from 192.168.88.1
bound to 192.168.88.250 -- renewal in 300 seconds.


File /etc/rc.conf:
zfs_enable="YES"
hostname="core.domain.com"
sshd_enable="YES"
sshd_flags="-oPort=22 -oCompression=yes -oPermitRootLogin=yes -oPasswordAuthentication=yes -oProtocol=2 -oUseDNS=no"
dumpdev="AUTO"
ifconfig_DEFAULT="SYNCDHCP"
ifconfig_bce0="DHCP"
#ifconfig_bce0_ipv6="inet6 accept_rtadv"
ifconfig_bce1="DHCP"
#ifconfig_bce1_ipv6="inet6 accept_rtadv"
#ipv6_activate_all_interfaces="YES"

ntpd_enable="YES"
ntpd_flags="-g"
syslogd_flags="-s -8"
firewall_enable="YES"
#firewall_logging="YES"
firewall_quiet="NO"
firewall_type="UNKNOWN"
firewall_script="/etc/ipfw/ipfw.conf"

bsdstats_enable="YES"
smartd_enable="YES"
bsnmpd_enable="YES"
sshguard_enable="YES"
sshguard_blacklist="120:/var/db/sshguard/blacklist.db"
sshguard_danger_thresh="60"
sshguard_release_interval="420"
sshguard_reset_interval="1200"
ddb_enable="YES"
Comment 1 Vladyslav V. Prodan 2019-04-29 19:16:08 UTC
More specific.

On another active network interface I tried to get an IP address.
Only after manually assigning an IP address, dhclient found this interface and tried to get an IP address.

# dhclient ix0
ifconfig: ioctl (SIOCAIFADDR): File exists
ix0: not found
exiting.
[22:11]core:root-> /root# ifconfig ix0 inet 192.168.2.3/24
[22:11]core:root-> /root# dhclient ix0
ifconfig: ioctl (SIOCAIFADDR): File exists
DHCPDISCOVER on ix0 to 255.255.255.255 port 67 interval 6
DHCPDISCOVER on ix0 to 255.255.255.255 port 67 interval 14
DHCPDISCOVER on ix0 to 255.255.255.255 port 67 interval 15
DHCPDISCOVER on ix0 to 255.255.255.255 port 67 interval 21
DHCPDISCOVER on ix0 to 255.255.255.255 port 67 interval 4
No DHCPOFFERS received.
No working leases in persistent database - sleeping.

# ifconfig ix0
ix0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=e53fbb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,WOL_UCAST,WOL_MCAST,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>
        ether 0c:c4:7a:59:d4:e8
        inet 192.168.2.3 netmask 0xffffff00 broadcast 192.168.2.255
        media: Ethernet autoselect (10Gbase-Twinax <full-duplex,rxpause,txpause>)
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
Comment 2 Vladyslav V. Prodan 2019-04-29 19:35:12 UTC
After reboot:

[22:28]core:root-> /root# truss /sbin/dhclient ix0
mmap(0x0,131072,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34362081280 (0x80023c000)
issetugid()                                      = 0 (0x0)
openat(AT_FDCWD,"/etc/libmap.conf",O_RDONLY|O_CLOEXEC,00) = 3 (0x3)
fstat(3,{ mode=-rw-r--r-- ,inode=3059,size=120,blksize=4096 }) = 0 (0x0)
read(3,"# $FreeBSD: stable/12/libexec/rt"...,120) = 120 (0x78)
close(3)                                         = 0 (0x0)
open("/usr/local/etc/libmap.d",O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC,0165) ERR#2 'No such file or directory'
openat(AT_FDCWD,"/var/run/ld-elf.so.hints",O_RDONLY|O_CLOEXEC,00) = 3 (0x3)
read(3,"Ehnt\^A\0\0\0\M^@\0\0\0Q\0\0\0\0"...,128) = 128 (0x80)
fstat(3,{ mode=-r--r--r-- ,inode=21,size=209,blksize=4096 }) = 0 (0x0)
pread(3,"/lib:/usr/lib:/usr/lib/compat:/u"...,81,0x80) = 81 (0x51)
close(3)                                         = 0 (0x0)
openat(AT_FDCWD,"/lib/libutil.so.9",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = 3 (0x3)
fstat(3,{ mode=-r--r--r-- ,inode=2846,size=87800,blksize=88064 }) = 0 (0x0)
mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) = 34362212352 (0x80025c000)
mmap(0x0,94208,PROT_NONE,MAP_GUARD,-1,0x0)       = 34362216448 (0x80025d000)
mmap(0x80025d000,32768,PROT_READ,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x0) = 34362216448 (0x80025d000)
mmap(0x800265000,45056,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x8000) = 34362249216 (0x800265000)
mmap(0x800270000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFAULT_READ,3,0x13000) = 34362294272 (0x800270000)
mmap(0x800272000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANON,-1,0x0) = 34362302464 (0x800272000)
munmap(0x80025c000,4096)                         = 0 (0x0)
close(3)                                         = 0 (0x0)
openat(AT_FDCWD,"/lib/libcasper.so.1",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = 3 (0x3)
fstat(3,{ mode=-r--r--r-- ,inode=2794,size=31656,blksize=31744 }) = 0 (0x0)
mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) = 34362212352 (0x80025c000)
mmap(0x0,32768,PROT_NONE,MAP_GUARD,-1,0x0)       = 34362310656 (0x800274000)
mmap(0x800274000,12288,PROT_READ,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x0) = 34362310656 (0x800274000)
mmap(0x800277000,12288,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x3000) = 34362322944 (0x800277000)
mmap(0x80027a000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFAULT_READ,3,0x6000) = 34362335232 (0x80027a000)
munmap(0x80025c000,4096)                         = 0 (0x0)
close(3)                                         = 0 (0x0)
openat(AT_FDCWD,"/lib/libcap_syslog.so.1",O_RDONLY|O_CLOEXEC|O_VERIFY,00) ERR#2 'No such file or directory'
openat(AT_FDCWD,"/usr/lib/libcap_syslog.so.1",O_RDONLY|O_CLOEXEC|O_VERIFY,00) ERR#2 'No such file or directory'
openat(AT_FDCWD,"/usr/lib/compat/libcap_syslog.so.1",O_RDONLY|O_CLOEXEC|O_VERIFY,00) ERR#2 'No such file or directory'
openat(AT_FDCWD,"/usr/local/lib/libcap_syslog.so.1",O_RDONLY|O_CLOEXEC|O_VERIFY,00) ERR#2 'No such file or directory'
openat(AT_FDCWD,"/usr/local/lib/perl5/5.28/mach/CORE/libcap_syslog.so.1",O_RDONLY|O_CLOEXEC|O_VERIFY,00) ERR#2 'No such file or directory'
openat(AT_FDCWD,"/lib/casper/libcap_syslog.so.1",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = 3 (0x3)
fstat(3,{ mode=-r--r--r-- ,inode=2806,size=15192,blksize=15360 }) = 0 (0x0)
mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) = 34362212352 (0x80025c000)
mmap(0x0,20480,PROT_NONE,MAP_GUARD,-1,0x0)       = 34362343424 (0x80027c000)
mmap(0x80027c000,4096,PROT_READ,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x0) = 34362343424 (0x80027c000)
mmap(0x80027d000,4096,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x1000) = 34362347520 (0x80027d000)
mmap(0x80027e000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFAULT_READ,3,0x2000) = 34362351616 (0x80027e000)
mmap(0x800280000,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANON,-1,0x0) = 34362359808 (0x800280000)
munmap(0x80025c000,4096)                         = 0 (0x0)
close(3)                                         = 0 (0x0)
openat(AT_FDCWD,"/lib/libc.so.7",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = 3 (0x3)
fstat(3,{ mode=-r--r--r-- ,inode=2732,size=1972992,blksize=131072 }) = 0 (0x0)
mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) = 34362212352 (0x80025c000)
mmap(0x0,4165632,PROT_NONE,MAP_GUARD,-1,0x0)     = 34362363904 (0x800281000)
mmap(0x800281000,520192,PROT_READ,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x0) = 34362363904 (0x800281000)
mmap(0x800300000,1327104,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x7f000) = 34362884096 (0x800300000)
mmap(0x800444000,61440,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFAULT_READ,3,0x1c3000) = 34364211200 (0x800444000)
mmap(0x800453000,2256896,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_ANON,-1,0x0) = 34364272640 (0x800453000)
munmap(0x80025c000,4096)                         = 0 (0x0)
close(3)                                         = 0 (0x0)
openat(AT_FDCWD,"/lib/libnv.so.0",O_RDONLY|O_CLOEXEC|O_VERIFY,00) = 3 (0x3)
fstat(3,{ mode=-r--r--r-- ,inode=2832,size=101496,blksize=101888 }) = 0 (0x0)
mmap(0x0,4096,PROT_READ,MAP_PRIVATE|MAP_PREFAULT_READ,3,0x0) = 34362212352 (0x80025c000)
mmap(0x0,102400,PROT_NONE,MAP_GUARD,-1,0x0)      = 34366529536 (0x80067a000)
mmap(0x80067a000,40960,PROT_READ,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0x0) = 34366529536 (0x80067a000)
mmap(0x800684000,53248,PROT_READ|PROT_EXEC,MAP_PRIVATE|MAP_FIXED|MAP_NOCORE|MAP_PREFAULT_READ,3,0xa000) = 34366570496 (0x800684000)
mmap(0x800691000,8192,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_FIXED|MAP_PREFAULT_READ,3,0x17000) = 34366623744 (0x800691000)
munmap(0x80025c000,4096)                         = 0 (0x0)
close(3)                                         = 0 (0x0)
mprotect(0x800271000,4096,PROT_READ)             = 0 (0x0)
mprotect(0x80027b000,4096,PROT_READ)             = 0 (0x0)
mprotect(0x80027f000,4096,PROT_READ)             = 0 (0x0)
mprotect(0x80044a000,36864,PROT_READ)            = 0 (0x0)
mprotect(0x800692000,4096,PROT_READ)             = 0 (0x0)
sysarch(AMD64_SET_FSBASE,0x7fffffffdb80)         = 0 (0x0)
sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
mprotect(0x80044a000,36864,PROT_READ|PROT_WRITE) = 0 (0x0)
sigprocmask(SIG_SETMASK,{ },0x0)                 = 0 (0x0)
sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
mprotect(0x80044a000,36864,PROT_READ)            = 0 (0x0)
sigprocmask(SIG_SETMASK,{ },0x0)                 = 0 (0x0)
readlink("/etc/malloc.conf",0x7fffffffd2a0,1024) ERR#2 'No such file or directory'
issetugid()                                      = 0 (0x0)
__sysctl(0x7fffffffd208,0x2,0x7fffffffd204,0x7fffffffd210,0x0,0x0) = 0 (0x0)
mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34362212352 (0x80025c000)
madvise(0x80025c000,4096,MADV_FREE)              = 0 (0x0)
munmap(0x80025c000,4096)                         = 0 (0x0)
mmap(0x0,2097152,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366631936 (0x800693000)
munmap(0x800693000,2097152)                      = 0 (0x0)
mmap(0x0,4190208,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366631936 (0x800693000)
munmap(0x800693000,1495040)                      = 0 (0x0)
munmap(0x800a00000,598016)                       = 0 (0x0)
mmap(0x0,32768,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366631936 (0x800693000)
mmap(0x0,4194304,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34370224128 (0x800a00000)
mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34362212352 (0x80025c000)
sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
sigprocmask(SIG_SETMASK,{ },0x0)                 = 0 (0x0)
sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
sigprocmask(SIG_SETMASK,{ },0x0)                 = 0 (0x0)
mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366664704 (0x80069b000)
mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366668800 (0x80069c000)
mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366672896 (0x80069d000)
sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
sigprocmask(SIG_SETMASK,{ },0x0)                 = 0 (0x0)
sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
sigprocmask(SIG_SETMASK,{ },0x0)                 = 0 (0x0)
sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
sigprocmask(SIG_SETMASK,{ },0x0)                 = 0 (0x0)
sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
mprotect(0x219000,4096,PROT_READ)                = 0 (0x0)
sigprocmask(SIG_SETMASK,{ },0x0)                 = 0 (0x0)
socketpair(0x1,0x20000001,0x0,0x7fffffffe5b8)    = 0 (0x0)
pdfork(0x7fffffffe5b4,0x0)                       = 26526 (0x679e)
close(4)                                         = 0 (0x0)
fcntl(3,F_GETFL,)                                = 6 (0x6)
fcntl(5,F_GETFL,)                                = 2 (0x2)
mmap(0x0,12288,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366676992 (0x80069e000)
mmap(0x0,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366689280 (0x8006a1000)
mmap(0x0,12288,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366709760 (0x8006a6000)
select(4,0x0,{ 3 },0x0,0x0)                      = 1 (0x1)
sendto(3,"l\0\0\0\0\0\0\0\0\0\0E\0\0\0\0\0"...,88,0,NULL,0) = 88 (0x58)
select(4,{ 3 },0x0,0x0,0x0)                      = 1 (0x1)
recvfrom(3,"l\0\0\^A\0\0\0\0\0\0\0h\0\0\0\0"...,19,0,NULL,0x0) = 19 (0x13)
mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366722048 (0x8006a9000)
select(4,{ 3 },0x0,0x0,0x0)                      = 1 (0x1)
recvfrom(3,"\^F\a\0\b\0\0\0\0\0\0\0\0\0\0\0"...,104,0,NULL,0x0) = 104 (0x68)
select(4,{ 3 },0x0,0x0,0x0)                      = 1 (0x1)
recvmsg(3,{NULL,0,[{"\0",1}],1,{{level=SOL_SOCKET,type=SCM_RIGHTS,data={0x04,0x00,0x00,0x00}}},24,0x40000},0x40000) = 1 (0x1)
mmap(0x0,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366726144 (0x8006aa000)
mmap(0x0,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366746624 (0x8006af000)
fcntl(4,F_GETFL,)                                = 6 (0x6)
close(5)                                         = 0 (0x0)
close(3)                                         = 0 (0x0)
mmap(0x0,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366767104 (0x8006b4000)
select(5,0x0,{ 4 },0x0,0x0)                      = 1 (0x1)
sendto(4,"l\0\0\0\0\0\0\0\0\0\0\M^G\0\0\0"...,154,0,NULL,0) = 154 (0x9a)
select(5,{ 4 },0x0,0x0,0x0)                      = 1 (0x1)
recvfrom(4,"l\0\0\0\0\0\0\0\0\0\0!\0\0\0\0\0"...,19,0,NULL,0x0) = 19 (0x13)
select(5,{ 4 },0x0,0x0,0x0)                      = 1 (0x1)
recvfrom(4,"\^C\^F\0\b\0\0\0\0\0\0\0\0\0\0\0"...,33,0,NULL,0x0) = 33 (0x21)
select(5,0x0,{ 4 },0x0,0x0)                      = 1 (0x1)
sendto(4,"l\0\0\0\0\0\0\0\0\0\0E\0\0\0\0\0"...,88,0,NULL,0) = 88 (0x58)
select(5,{ 4 },0x0,0x0,0x0)                      = 1 (0x1)
recvfrom(4,"l\0\0\0\0\0\0\0\0\0\0B\0\0\0\0\0"...,19,0,NULL,0x0) = 19 (0x13)
select(5,{ 4 },0x0,0x0,0x0)                      = 1 (0x1)
recvfrom(4,"\^C\^F\0\b\0\0\0\0\0\0\0\0\0\0\0"...,66,0,NULL,0x0) = 66 (0x42)
openat(AT_FDCWD,"/var/run//dhclient",O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC,00) = 3 (0x3)
openat(3,"dhclient.ix0.pid",O_WRONLY|O_NONBLOCK|O_CREAT|O_CLOEXEC,0644) = 5 (0x5)
flock(5,LOCK_EX|LOCK_NB)                         = 0 (0x0)
fstatat(3,"dhclient.ix0.pid",{ mode=-rw-r--r-- ,inode=50,size=0,blksize=131072 },0x0) = 0 (0x0)
fstat(5,{ mode=-rw-r--r-- ,inode=50,size=0,blksize=131072 }) = 0 (0x0)
ftruncate(5,0x0)                                 = 0 (0x0)
fstat(5,{ mode=-rw-r--r-- ,inode=50,size=0,blksize=131072 }) = 0 (0x0)
cap_rights_limit(3,{ CAP_LOOKUP })               = 0 (0x0)
cap_rights_limit(5,{ CAP_WRITE,CAP_SEEK_TELL,CAP_FTRUNCATE,CAP_FSTAT }) = 0 (0x0)
mmap(0x0,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366787584 (0x8006b9000)
access("/etc/localtime",R_OK)                    = 0 (0x0)
open("/etc/localtime",O_RDONLY,017)              = 6 (0x6)
fstat(6,{ mode=-r--r--r-- ,inode=1636,size=2071,blksize=4096 }) = 0 (0x0)
mmap(0x0,53248,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366808064 (0x8006be000)
read(6,"TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0"...,41448) = 2071 (0x817)
close(6)                                         = 0 (0x0)
mmap(0x0,24576,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366861312 (0x8006cb000)
issetugid()                                      = 0 (0x0)
open("/usr/share/zoneinfo/posixrules",O_RDONLY,00) = 6 (0x6)
fstat(6,{ mode=-r--r--r-- ,inode=230637,size=3519,blksize=4096 }) = 0 (0x0)
mmap(0x0,53248,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366885888 (0x8006d1000)
read(6,"TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0"...,41448) = 3519 (0xdbf)
close(6)                                         = 0 (0x0)
open("/etc/dhclient.conf",O_RDONLY,0666)         = 6 (0x6)
fstat(6,{ mode=-rw-r--r-- ,inode=3051,size=277,blksize=4096 }) = 0 (0x0)
read(6,"# $FreeBSD: stable/12/sbin/dhcli"...,4096) = 277 (0x115)
read(6,0x8006c7000,4096)                         = 0 (0x0)
close(6)                                         = 0 (0x0)
mmap(0x0,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366939136 (0x8006de000)
mmap(0x0,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366959616 (0x8006e3000)
mmap(0x0,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34366980096 (0x8006e8000)
mmap(0x0,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34367000576 (0x8006ed000)
mmap(0x0,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34367021056 (0x8006f2000)
fstat(5,{ mode=-rw-r--r-- ,inode=50,size=0,blksize=131072 }) = 0 (0x0)
ftruncate(5,0x0)                                 = 0 (0x0)
getpid()                                         = 26371 (0x6703)
pwrite(5,"26371",5,0x0)                          = 5 (0x5)
socket(PF_INET,SOCK_DGRAM,0)                     = 6 (0x6)
ioctl(6,SIOCGIFMEDIA,0x7fffffffe590)             = 0 (0x0)
close(6)                                         = 0 (0x0)
openat(AT_FDCWD,"/dev/null",O_RDWR,00)           = 6 (0x6)
mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34367041536 (0x8006f7000)
mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34367045632 (0x8006f8000)
mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34367049728 (0x8006f9000)
fstatat(AT_FDCWD,"/etc/nsswitch.conf",{ mode=-rw-r--r-- ,inode=148,size=343,blksize=4096 },0x0) = 0 (0x0)
open("/etc/nsswitch.conf",O_RDONLY|O_CLOEXEC,0666) = 7 (0x7)
fstat(7,{ mode=-rw-r--r-- ,inode=148,size=343,blksize=4096 }) = 0 (0x0)
read(7,"#\n# nsswitch.conf(5) - name ser"...,4096) = 343 (0x157)
read(7,0x8006c7000,4096)                         = 0 (0x0)
mmap(0x0,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34367053824 (0x8006fa000)
mmap(0x0,12288,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34367074304 (0x8006ff000)
mmap(0x0,12288,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34367086592 (0x800702000)
close(7)                                         = 0 (0x0)
sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
sigprocmask(SIG_SETMASK,{ },0x0)                 = 0 (0x0)
sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
sigprocmask(SIG_SETMASK,{ },0x0)                 = 0 (0x0)
geteuid()                                        = 0 (0x0)
mmap(0x0,12288,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34367098880 (0x800705000)
open("/etc/spwd.db",O_RDONLY|O_CLOEXEC,00)       = 7 (0x7)
fstat(7,{ mode=-rw------- ,inode=3095,size=40960,blksize=40960 }) = 0 (0x0)
read(7,"\0\^F\^Ua\0\0\0\^B\0\0\^P\M-a\0"...,260) = 260 (0x104)
mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34367111168 (0x800708000)
mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34367115264 (0x800709000)
mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34367119360 (0x80070a000)
mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34367123456 (0x80070b000)
mmap(0x0,4096,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34367127552 (0x80070c000)
pread(7,"\0\^X\^O\M-x\^O\M-w\^O\M-r\^O"...,4096,0x6000) = 4096 (0x1000)
pread(7,"\0\^Z\^O\M-{\^O\M->\^O\M-9\^Oz"...,4096,0x4000) = 4096 (0x1000)
pread(7,"\0\^V\^O\M-{\^O\M-A\^O\M-<\^Og"...,4096,0x5000) = 4096 (0x1000)
pread(7,"\0\^V\^O\M-{\^O\M->\^O\M-9\^Om"...,4096,0x7000) = 4096 (0x1000)
pread(7,"\0\^P\^O\M-{\^O\M-/\^O\M-*\^Oo"...,4096,0x8000) = 4096 (0x1000)
pread(7,"\0\^P\^O\M-{\^O\M-@\^O\M-;\^O~"...,4096,0x1000) = 4096 (0x1000)
pread(7,"\0\^P\^O\M-{\^O\M->\^O\M-9\^Ol"...,4096,0x2000) = 4096 (0x1000)
pread(7,"\0\^N\^O\M-|\^O\M-0\^O\M-,\^Oq"...,4096,0x3000) = 4096 (0x1000)
close(7)                                         = 0 (0x0)
__sysctl(0x7fffffffe5c0,0x2,0x21d220,0x7fffffffe5b8,0x0,0x0) = 0 (0x0)
fork()                                           = 26828 (0x68cc)
ifconfig: ioctl (SIOCAIFADDR): File exists
wait4(-1,{ EXITED,val=0 },0x0,0x0)               = 26828 (0x68cc)
__sysctl(0x7fffffffe540,0x6,0x0,0x7fffffffe538,0x0,0x0) = 0 (0x0)
__sysctl(0x7fffffffe540,0x6,0x8006c9000,0x7fffffffe538,0x0,0x0) = 0 (0x0)
mmap(0x0,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34367131648 (0x80070d000)
mmap(0x0,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34367152128 (0x800712000)
mmap(0x0,20480,PROT_READ|PROT_WRITE,MAP_PRIVATE|MAP_ANON,-1,0x0) = 34367172608 (0x800717000)
select(5,0x0,{ 4 },0x0,0x0)                      = 1 (0x1)
sendto(4,"l\0\0\0\0\0\0\0\0\0\0m\0\0\0\0\0"...,128,0,NULL,0) = 128 (0x80)
select(5,{ 4 },0x0,0x0,0x0)                      = 1 (0x1)
recvfrom(4,"l\0\0\0\0\0\0\0\0\0\0!\0\0\0\0\0"...,19,0,NULL,0x0) = 19 (0x13)
select(5,{ 4 },0x0,0x0,0x0)                      = 1 (0x1)
recvfrom(4,"\^C\^F\0\b\0\0\0\0\0\0\0\0\0\0\0"...,33,0,NULL,0x0) = 33 (0x21)
ix0: not foundwrite(2,"ix0: not found",14)                       = 14 (0xe)

write(2,"\n",1)                                  = 1 (0x1)
select(5,0x0,{ 4 },0x0,0x0)                      = 1 (0x1)
sendto(4,"l\0\0\0\0\0\0\0\0\0\0g\0\0\0\0\0"...,122,0,NULL,0) = 122 (0x7a)
select(5,{ 4 },0x0,0x0,0x0)                      = 1 (0x1)
recvfrom(4,"l\0\0\0\0\0\0\0\0\0\0!\0\0\0\0\0"...,19,0,NULL,0x0) = 19 (0x13)
select(5,{ 4 },0x0,0x0,0x0)                      = 1 (0x1)
recvfrom(4,"\^C\^F\0\b\0\0\0\0\0\0\0\0\0\0\0"...,33,0,NULL,0x0) = 33 (0x21)
exiting.
write(2,"exiting.\n",9)                          = 9 (0x9)
fstat(5,{ mode=-rw-r--r-- ,inode=50,size=5,blksize=4096 }) = 0 (0x0)
unlinkat(3,"dhclient.ix0.pid",0x0)               = 0 (0x0)
close(5)                                         = 0 (0x0)
close(3)                                         = 0 (0x0)
sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
sigprocmask(SIG_SETMASK,{ },0x0)                 = 0 (0x0)
sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
sigprocmask(SIG_SETMASK,{ },0x0)                 = 0 (0x0)
sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
sigprocmask(SIG_SETMASK,{ },0x0)                 = 0 (0x0)
sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
sigprocmask(SIG_SETMASK,{ },0x0)                 = 0 (0x0)
sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
sigprocmask(SIG_SETMASK,{ },0x0)                 = 0 (0x0)
sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
sigprocmask(SIG_SETMASK,{ },0x0)                 = 0 (0x0)
sigprocmask(SIG_BLOCK,{ SIGHUP|SIGINT|SIGQUIT|SIGKILL|SIGPIPE|SIGALRM|SIGTERM|SIGURG|SIGSTOP|SIGTSTP|SIGCONT|SIGCHLD|SIGTTIN|SIGTTOU|SIGIO|SIGXCPU|SIGXFSZ|SIGVTALRM|SIGPROF|SIGWINCH|SIGINFO|SIGUSR1|SIGUSR2 },{ }) = 0 (0x0)
sigprocmask(SIG_SETMASK,{ },0x0)                 = 0 (0x0)
exit(0x1)
process exit, rval = 1
Comment 3 Vladyslav V. Prodan 2019-05-05 15:28:55 UTC
After updating the world to r347140, dhclient starts from the console.
But still "SYNCDHCP" and "DHCP" in rc.conf do not work.
It comes from /etc/rc.local:
"
sleep 30
dhclient bce0
"
Comment 4 Eugene Grosbein freebsd_committer freebsd_triage 2019-05-05 15:42:04 UTC
Use seems to use custom kernel and its configuration appears to miss driver for ix. ifconfig loads driver for you. Make sure you load driver with /boot/loader.conf so dhclient would find the interface.

Also, manual ifconfig invocation seemingly brings the interface UP. Make sure you have corresponding "ifconfig_ifname" configuration lines in /etc/rc.conf for every interface you use.

If this does not help, try using GENERIC kernel first and double-check your local changes. Try disabling them all and test with GENERIC and clean config first.
Comment 5 Vladyslav V. Prodan 2019-05-05 17:36:42 UTC
Network drivers are built into the kernel:
# kldstat -v | egrep '/(ix|bce)'
                178 pci/ix
                630 pci/ixl
                 99 pci/bce
                179 pci/ixv


Now I tried to change the guidelines for using DHCP in rc.conf.

It was:

ifconfig_DEFAULT="SYNCDHCP"
ifconfig_bce0="DHCP"
ifconfig_bce0_ipv6="inet6 accept_rtadv"
ifconfig_bce1="DHCP"
ipv6_activate_all_interfaces="YES"

ifconfig_ix0="DHCP"

ifconfig_bce0="mtu 9000 up"
ifconfig_bce1="mtu 9000 up"
ifconfig_bce2="mtu 9000 up"
ifconfig_bce3="mtu 9000 up"

ifconfig_igb0="mtu 9210 up"
ifconfig_igb1="mtu 9210 up"

ifconfig_ix0="mtu 9710 up descr 'Juniper qfx3500' "
ifconfig_ix1="mtu 9710 up"


It became:

ifconfig_bce0="mtu 9000 up"
ifconfig_bce1="mtu 9000 up"
ifconfig_bce2="mtu 9000 up"
ifconfig_bce3="mtu 9000 up"

ifconfig_igb0="mtu 9210 up"
ifconfig_igb1="mtu 9210 up"

ifconfig_ix0="mtu 9710 up descr 'Juniper qfx3500' "
ifconfig_ix1="mtu 9710 up"

ifconfig_DEFAULT="SYNCDHCP"
ifconfig_bce0="DHCP"
ifconfig_bce0_ipv6="inet6 accept_rtadv"
ifconfig_bce1="DHCP"
ipv6_activate_all_interfaces="YES"

ifconfig_ix0="DHCP"


With this latest version of the rc.conf file, DHCP is working in rc.conf.

# ps -auxww | grep dhc
root  52999    0,0  0,0 11388  2704  -  Is   20:34    0:00,00 dhclient: system.syslog (dhclient)
root  54338    0,0  0,0 11692  2792  -  Is   20:34    0:00,00 dhclient: bce0 [priv] (dhclient)
_dhcp 81677    0,0  0,0 11860  2916  -  ICs  20:34    0:00,00 dhclient: bce0 (dhclient)
root  89835    0,0  0,0 11400  2708  -  Is   20:34    0:00,00 dhclient: system.syslog (dhclient)
root  91787    0,0  0,0 11688  2792  -  Is   20:34    0:00,00 dhclient: ix0 [priv] (dhclient)
_dhcp 92922    0,0  0,0 11692  2800  -  ICs  20:35    0:00,00 dhclient: ix0 (dhclient)
root   2925    0,0  0,0 11464  2912  0  S+   20:35    0:00,00 grep --color=auto dhc


It turns out a number of ifconfig options in rc.conf is not commutative and depends on the order of the call/assignment.
Comment 6 Eugene Grosbein freebsd_committer freebsd_triage 2019-05-05 18:21:46 UTC
As documented in rc.conf(5) manual page:

> Options are set with "name=value" assignments that use sh(1) syntax

So you should not duplicate assignment as later override previous ones.
Comment 7 Vladyslav V. Prodan 2019-05-05 19:14:02 UTC
Here it is not necessary to close PR without understanding it.

The first message clearly shows that both the 'SYNCDHCP' and 'DHCP' options have stopped working.

In my last post you can see that these options work, first, you need to initialize the network interfaces, through "UP"

The problem occurred somewhere due to commits in the last 20 days.
Comment 8 Vladyslav V. Prodan 2019-05-10 21:25:34 UTC
I modified the rc.conf file a bit:

`
ifconfig_bce0="mtu 9000 DHCP up"
ifconfig_bce1="mtu 9000 DHCP up"
ifconfig_bce2="mtu 9000 up"
ifconfig_bce3="mtu 9000 up"

ifconfig_igb0="mtu 9210 up"
vlans_igb0="204"
ifconfig_igb0_204="inet 192.168.85.2/30"
ifconfig_igb1="inet 192.168.85.6/30 mtu 9210 up"


ifconfig_ix0="mtu 9710 DHCP up descr 'Juniper qfx3500' "
vlans_ix0="200 201 205"
ifconfig_ix1="mtu 9710 up"

ifconfig_DEFAULT="SYNCDHCP"
...
gateway_enable="yes"
EOF


# ps -auxwxw | grep dhc
root  82400    0,0  0,0 11400  2708  -  Is   00:03     0:00,00 dhclient: system.syslog (dhclient)
root  83621    0,0  0,0 11668  2792  -  Is   00:03     0:00,00 dhclient: ix0.200 [priv] (dhclient)
_dhcp 86675    0,0  0,0 11672  2808  -  ICs  00:04     0:00,23 dhclient: ix0.200 (dhclient)
root  67599    0,0  0,0 11464  2912  5  S+   00:19     0:00,00 grep --color=auto dhc

# dhclient ix0
ifconfig: ioctl (SIOCAIFADDR): File exists
ix0: not found
exiting.

After the restart, the system tries to get the IP address in the 200th VLAN on the ix0 interface. The descr field also did not apply.


# uname -a
FreeBSD core.domain.com 12.0-STABLE FreeBSD 12.0-STABLE r347140 SUPPORT-12-0-1  amd64

# sysrc -a
bsdstats_enable: YES
bsnmpd_enable: YES
ddb_enable: YES
dumpdev: AUTO
firewall_enable: YES
firewall_quiet: NO
firewall_script: /etc/ipfw/ipfw.conf
firewall_type: UNKNOWN
gateway_enable: yes
hostname: core.domain.com
ifconfig_DEFAULT: SYNCDHCP
ifconfig_bce0: mtu 9000 DHCP up
ifconfig_bce1: mtu 9000 DHCP up
ifconfig_bce2: mtu 9000 up
ifconfig_bce3: mtu 9000 up
ifconfig_igb0: mtu 9210 up
ifconfig_igb0_204: inet 192.168.85.2/30
ifconfig_igb1: inet 192.168.85.6/30 mtu 9210 up
ifconfig_ix0: mtu 9710 DHCP up descr 'Juniper qfx3500'
ifconfig_ix1: mtu 9710 up
ntpd_enable: YES
ntpd_flags: -g
smartd_enable: YES
sshd_enable: YES
sshd_flags: -oPort=22 -oCompression=yes -oPermitRootLogin=yes -oPasswordAuthentication=yes -oProtocol=2 -oUseDNS=no
sshguard_blacklist: 120:/var/db/sshguard/blacklist.db
sshguard_danger_thresh: 60
sshguard_enable: YES
sshguard_flags: -w 178.136.117.33/32
sshguard_release_interval: 420
sshguard_reset_interval: 1200
syslogd_flags: -s -8
vlans_igb0: 204
vlans_ix0: 200 201 205
watchdogd_enable: yes
watchdogd_flags: -s 30 -t 300
zfs_enable: YES


# ifconfig
bce0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 9000
        options=c01bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,VLAN_HWTSO,LINKSTATE>
        ether 00:26:b9:3c:8c:91
        inet 192.168.88.250 netmask 0xffffff00 broadcast 192.168.88.255
        media: Ethernet autoselect (100baseTX <full-duplex>)
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
bce1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 9000
        options=c01bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,VLAN_HWTSO,LINKSTATE>
        ether 00:26:b9:3c:8c:93
        media: Ethernet autoselect (none)
        status: no carrier
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
bce2: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 9000
        options=c01bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,VLAN_HWTSO,LINKSTATE>
        ether 00:26:b9:3c:8c:95
        media: Ethernet autoselect (none)
        status: no carrier
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
bce3: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 9000
        options=c01bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,VLAN_HWTSO,LINKSTATE>
        ether 00:26:b9:3c:8c:97
        media: Ethernet autoselect (none)
        status: no carrier
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
igb0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 9210
        options=e527bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>
        ether 00:16:31:fa:a4:e0
        media: Ethernet autoselect (1000baseSX <full-duplex>)
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
igb1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 9210
        options=e527bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>
        ether 00:16:31:fa:a4:e1
        inet 192.168.85.6 netmask 0xfffffffc broadcast 192.168.85.7
        media: Ethernet autoselect (1000baseSX <full-duplex>)
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
ix0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 9710
        description: Juniper qfx3500
        options=e53fbb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,WOL_UCAST,WOL_MCAST,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>
        ether 0c:c4:7a:59:d4:e8
        media: Ethernet autoselect (10Gbase-Twinax <full-duplex,rxpause,txpause>)
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
ix1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 9710
        options=e53fbb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,JUMBO_MTU,VLAN_HWCSUM,TSO4,TSO6,LRO,WOL_UCAST,WOL_MCAST,WOL_MAGIC,VLAN_HWFILTER,VLAN_HWTSO,RXCSUM_IPV6,TXCSUM_IPV6>
        ether 0c:c4:7a:59:d4:e9
        media: Ethernet autoselect
        status: no carrier
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
enc0: flags=41<UP,RUNNING> metric 0 mtu 1536
        groups: enc
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
        options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
        inet6 ::1 prefixlen 128
        inet6 fe80::1%lo0 prefixlen 64 scopeid 0xa
        inet 127.0.0.1 netmask 0xff000000
        groups: lo
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
pfsync0: flags=0<> metric 0 mtu 1500
        syncpeer: 0.0.0.0 maxupd: 128 defer: off
        groups: pfsync
pflog0: flags=0<> metric 0 mtu 33672
        groups: pflog
igb0.204: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 9210
        options=600703<RXCSUM,TXCSUM,TSO4,TSO6,LRO,RXCSUM_IPV6,TXCSUM_IPV6>
        ether 00:16:31:fa:a4:e0
        inet 192.168.85.2 netmask 0xfffffffc broadcast 192.168.85.3
        groups: vlan
        vlan: 204 vlanpcp: 0 parent interface: igb0
        media: Ethernet autoselect (1000baseSX <full-duplex>)
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
ix0.200: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 9710
        options=600703<RXCSUM,TXCSUM,TSO4,TSO6,LRO,RXCSUM_IPV6,TXCSUM_IPV6>
        ether 0c:c4:7a:59:d4:e8
        inet 0.0.0.0 netmask 0xff000000 broadcast 255.255.255.255
        groups: vlan
        vlan: 200 vlanpcp: 0 parent interface: ix0
        media: Ethernet autoselect (10Gbase-Twinax <full-duplex,rxpause,txpause>)
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
ix0.201: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 9710
        options=600703<RXCSUM,TXCSUM,TSO4,TSO6,LRO,RXCSUM_IPV6,TXCSUM_IPV6>
        ether 0c:c4:7a:59:d4:e8
        groups: vlan
        vlan: 201 vlanpcp: 0 parent interface: ix0
        media: Ethernet autoselect (10Gbase-Twinax <full-duplex,rxpause,txpause>)
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
ix0.205: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 9710
        options=600703<RXCSUM,TXCSUM,TSO4,TSO6,LRO,RXCSUM_IPV6,TXCSUM_IPV6>
        ether 0c:c4:7a:59:d4:e8
        groups: vlan
        vlan: 205 vlanpcp: 0 parent interface: ix0
        media: Ethernet autoselect (10Gbase-Twinax <full-duplex,rxpause,txpause>)
        status: active
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
Comment 9 Vladyslav V. Prodan 2019-05-10 21:28:08 UTC
P.S. I'm sorry, the descr field applies.(In reply to Vladislav V. Prodan from comment #8)
Comment 10 John W. O'Brien 2020-06-23 16:23:40 UTC
I believe I can reproduce this on 12.1-RELEASE in a VNET jail.

From /etc/jail.conf (host)
====
dhcptest1 {
    path = "/usr/jail/dhcptest1";
    host.hostname = "dhcptest1.net.isc.upenn.edu";
    vnet;
    vnet.interface = dhcp1;
    allow.raw_sockets;
    mount.fdescfs;
    devfs_ruleset = 40;
}
====

/etc/devfs.rules (host)
====
[devfsrules_jail_bpf=40]
add include $devfsrules_hide_all
add include $devfsrules_unhide_basic
add include $devfsrules_unhide_login
add path zfs unhide
add path 'bpf*' unhide
own  bpf* root:network
perm bpf* 0660
====

/etc/rc.conf (jail)
====
firewall_enable="YES"
firewall_type="open"
ifconfig_dhcp1="DHCP"
====

The relevant lines from /etc/network.subr toward the end of ifconfig_up() are:

====
        if dhcpif $1; then
                if [ $_cfg -ne 0 ] ; then
                        ${IFCONFIG_CMD} $1 up
                fi
                if syncdhcpif $1; then
                        /etc/rc.d/dhclient start $1
                fi
                _cfg=0
        fi
====

This is the only place anywhere in /etc containing "dhclient start", and it only runs if the iface is set to "SYNCDHCP" or if synchronous_dhclient=YES.

I cannot figure out how this ever worked as documented in the rc.conf manpage, but I did find a clue in base r157706: "Allow the administrator to specify if dhclient should be started when /etc/rc.d/netif configures the interface or only by devd." That suggests to me that devd is a requirement for async DHCP, but I have not yet found what other configuration is required, nor what might have changed to trigger a latent bug.
Comment 11 Bill Blake 2020-12-31 06:57:02 UTC
I also have this problem.  I'm presently fiddling with things, But here's my current status.

This problem did not happen in 12.1.  It happens in 12.2.  And the problem is not in the rc scripts or dhclient itself.  Rather, dhclient has a routine, discover_interfaces, which gets the known interfaces by calling getifaddrs.  When the interface does not have an IP address, getifaddrs returns the interface with an address of type AF_LINK; however, when the interface has an IP address, getifaddrs returns the interface twice--once with an address of type AF_LINK and once with an address of type AF_INET.  It is the latter return that dhclient looks for.  So the *real* problem is in getifaddrs or something it calls.

(I got this information by compiling dhclient with some debugging hacks.  After bringing the interface up, it would have no IP address and dhclient would fail.  I then assigned the IP address to the interface manually and reran dhclient and it succeeded.)

My next step is to see if the problem happens with GENERIC or just my custom kernel.  I'll be back once I have some new info, but I thought I'd get this info out right away to avoid wasted effort looking at the startup scripts, etc.
Comment 12 Bill Blake 2020-12-31 21:21:57 UTC
Happens with the GENERIC kernel as well.  I'm going to download earlier versions of FreeBSD to see if I can pinpoint where the problem is.

Also, I'm going to have to take back that it doesn't happen with 12.1.  It didn't happen with the previous version I used, but it occurs to me that I might have gone right from 11.2 to 12.2.  I'll know once I try the earlier versions.
Comment 13 Bill Blake 2021-01-02 05:05:33 UTC
I tracked my problem down, by comparing the behavior of a stock system with my own.  The stock system worked, mine didn't.  Turns out: I have a dhclient-enter-hooks script and, somewhere along the line, I stuck an exit at the end of it.  That caused dhclient-script to exit, so it didn't do any of the work it had to do, which prevented dhclient from getting to the interface.  The fix was to remove the exit.  All was well after that.

Note that the dhclient-script man page says that the dhclient-enter-hooks script is *sourced*, so an exit in it is a no-no.

Anyway, my problem is solved; I won't speak for anyone else's. :)