dhclient drops address on re-exec in 5.3 bsd.rd

2013-04-28 Thread David Higgs
Confirmed in 5.3-current downloaded several minutes ago.

Steps to reproduce:
- Boot bsd.rd
- Select upgrade, hit enter until dhclient gets and assigns an address
- Complete upgrade or control-C, then restart the upgrade process
- dhclient on 2nd run REMOVES the assigned address

Probably affects the bsd.rd install option as well. This does not
happen with 5.2 bsd.rd.

Easy to work around, but probably not right.

Thanks!

--david



Re: dhclient drops address on re-exec in 5.3 bsd.rd

2013-04-28 Thread Kenneth R Westerback
On Sun, Apr 28, 2013 at 02:41:36PM -0400, David Higgs wrote:
 Confirmed in 5.3-current downloaded several minutes ago.
 
 Steps to reproduce:
 - Boot bsd.rd
 - Select upgrade, hit enter until dhclient gets and assigns an address
 - Complete upgrade or control-C, then restart the upgrade process
 - dhclient on 2nd run REMOVES the assigned address
 
 Probably affects the bsd.rd install option as well. This does not
 happen with 5.2 bsd.rd.
 
 Easy to work around, but probably not right.
 
 Thanks!
 
 --david
 

dhclient will *always* remove all existing address on interfaces it is
binding a lease to. Are you saying that the 2nd time around it is not
re-assigning the address? Is your easy workaround to re-run dhclient, or
is it something else?

As soon as some builds finish here I will try to reproduce.

 Ken



Re: dhclient drops address on re-exec in 5.3 bsd.rd

2013-04-28 Thread Kenneth R Westerback
On Sun, Apr 28, 2013 at 02:41:36PM -0400, David Higgs wrote:
 Confirmed in 5.3-current downloaded several minutes ago.
 
 Steps to reproduce:
 - Boot bsd.rd
 - Select upgrade, hit enter until dhclient gets and assigns an address
 - Complete upgrade or control-C, then restart the upgrade process
 - dhclient on 2nd run REMOVES the assigned address
 
 Probably affects the bsd.rd install option as well. This does not
 happen with 5.2 bsd.rd.
 
 Easy to work around, but probably not right.
 
 Thanks!
 
 --david
 

Can't reproduce on amd64 -current here. I did control-C after getting
dhclient lease, entered 'upgrade' at command prompt, and re-started
upgrade. dhclient worked fine. Checked 'ifconfig' and the expected
address was present.

So more info you what exactly you are doing, on what machine are
you doing it, and perhaps anything interesting in your dhclient.conf
would be helpful. Thanks.

 Ken



Re: dhclient drops address on re-exec in 5.3 bsd.rd

2013-04-28 Thread David Higgs
On Sun, Apr 28, 2013 at 4:00 PM, Kenneth R Westerback
kwesterb...@rogers.com wrote:
 On Sun, Apr 28, 2013 at 02:41:36PM -0400, David Higgs wrote:
 Confirmed in 5.3-current downloaded several minutes ago.

 Steps to reproduce:
 - Boot bsd.rd
 - Select upgrade, hit enter until dhclient gets and assigns an address
 - Complete upgrade or control-C, then restart the upgrade process
 - dhclient on 2nd run REMOVES the assigned address

 Probably affects the bsd.rd install option as well. This does not
 happen with 5.2 bsd.rd.

 Easy to work around, but probably not right.

 Thanks!

 --david


 Can't reproduce on amd64 -current here. I did control-C after getting
 dhclient lease, entered 'upgrade' at command prompt, and re-started
 upgrade. dhclient worked fine. Checked 'ifconfig' and the expected
 address was present.

 So more info you what exactly you are doing, on what machine are
 you doing it, and perhaps anything interesting in your dhclient.conf
 would be helpful. Thanks.

  Ken

I would have provided output, but I haven't figured out how to log
console output from VMware images.  Hopefully this will suffice:

i386 / 5.3-current / RAMDISK_CD #120

dhclient #1 (good)
DHCPDISCOVER on vic0 to 255.255.255.255 port 67 interval 1
DHCPOFFER from 172.16.223.254 (mac addr)
DHCPREQUEST on vic0 to 255.255.255.255 port 67
DHCPACK from 172.16.223.254 (mac addr)
bound to 172.16.223.131 -- renewal in 900 seconds

dhclient #2 (bad)
DHCPREQUEST on vic0 to 255.255.255.255 port 67
Active address (172.16.223.131) deleted; exiting

dhclient #3 (good)
DHCPREQUEST on vic0 to 255.255.255.255 port 67
DHCPACK from 172.16.223.254 (mac addr)
bound to 172.16.223.131 -- renewal in 900 seconds

amd64 / 5.3-current / RAMDISK_CD #132

dhclient #1 (good)
DHCPDISCOVER on em0 to 255.255.255.255 port 67 interval 1
DHCPOFFER from 172.16.223.254 (mac addr)
DHCPREQUEST on em0 to 255.255.255.255 port 67
DHCPACK from 172.16.223.254 (mac addr)
bound to 172.16.223.130 -- renewal in 900 seconds

dhclient #2 (still good)
DHCPREQUEST on em0 to 255.255.255.255 port 67
DHCPACK from 172.16.223.254 (mac addr)
bound to 172.16.223.130 -- renewal in 900 seconds

/etc/dhclient.conf appears to be identical to between i386 and amd64.
I am sending an identical hostname FWIW, but I am only launching only
one VM at a time.

initial-interval 1;
send host-name vm;
request subnet-mask, broadcast-address, routers, domain-name,
domain-name-servers, host-name;

Let me know if you want me to try anything else.

--david



Re: dhclient drops address on re-exec in 5.3 bsd.rd

2013-04-28 Thread Kenneth R Westerback
On Sun, Apr 28, 2013 at 05:29:05PM -0400, David Higgs wrote:
 On Sun, Apr 28, 2013 at 4:00 PM, Kenneth R Westerback
 kwesterb...@rogers.com wrote:
  On Sun, Apr 28, 2013 at 02:41:36PM -0400, David Higgs wrote:
  Confirmed in 5.3-current downloaded several minutes ago.
 
  Steps to reproduce:
  - Boot bsd.rd
  - Select upgrade, hit enter until dhclient gets and assigns an address
  - Complete upgrade or control-C, then restart the upgrade process
  - dhclient on 2nd run REMOVES the assigned address
 
  Probably affects the bsd.rd install option as well. This does not
  happen with 5.2 bsd.rd.
 
  Easy to work around, but probably not right.
 
  Thanks!
 
  --david
 
 
  Can't reproduce on amd64 -current here. I did control-C after getting
  dhclient lease, entered 'upgrade' at command prompt, and re-started
  upgrade. dhclient worked fine. Checked 'ifconfig' and the expected
  address was present.
 
  So more info you what exactly you are doing, on what machine are
  you doing it, and perhaps anything interesting in your dhclient.conf
  would be helpful. Thanks.
 
   Ken
 
 I would have provided output, but I haven't figured out how to log
 console output from VMware images.  Hopefully this will suffice:
 
 i386 / 5.3-current / RAMDISK_CD #120
 
 dhclient #1 (good)
 DHCPDISCOVER on vic0 to 255.255.255.255 port 67 interval 1
 DHCPOFFER from 172.16.223.254 (mac addr)
 DHCPREQUEST on vic0 to 255.255.255.255 port 67
 DHCPACK from 172.16.223.254 (mac addr)
 bound to 172.16.223.131 -- renewal in 900 seconds
 
 dhclient #2 (bad)
 DHCPREQUEST on vic0 to 255.255.255.255 port 67
 Active address (172.16.223.131) deleted; exiting

Is there a configured ip address on the interface at this point?
This is a message emitted by one dhclient on noticing that another
one is active and has deleted the address the first one configured.
It *shouldn't* mean that no ip address is configured.

Now what is different in the virtual environment you are using that
makes i386 timing different than amd64 ... dunno.

 Ken

 
 dhclient #3 (good)
 DHCPREQUEST on vic0 to 255.255.255.255 port 67
 DHCPACK from 172.16.223.254 (mac addr)
 bound to 172.16.223.131 -- renewal in 900 seconds
 
 amd64 / 5.3-current / RAMDISK_CD #132
 
 dhclient #1 (good)
 DHCPDISCOVER on em0 to 255.255.255.255 port 67 interval 1
 DHCPOFFER from 172.16.223.254 (mac addr)
 DHCPREQUEST on em0 to 255.255.255.255 port 67
 DHCPACK from 172.16.223.254 (mac addr)
 bound to 172.16.223.130 -- renewal in 900 seconds
 
 dhclient #2 (still good)
 DHCPREQUEST on em0 to 255.255.255.255 port 67
 DHCPACK from 172.16.223.254 (mac addr)
 bound to 172.16.223.130 -- renewal in 900 seconds
 
 /etc/dhclient.conf appears to be identical to between i386 and amd64.
 I am sending an identical hostname FWIW, but I am only launching only
 one VM at a time.
 
 initial-interval 1;
 send host-name vm;
 request subnet-mask, broadcast-address, routers, domain-name,
 domain-name-servers, host-name;
 
 Let me know if you want me to try anything else.
 
 --david



Re: dhclient drops address on re-exec in 5.3 bsd.rd

2013-04-28 Thread Kenneth R Westerback
On Sun, Apr 28, 2013 at 05:29:05PM -0400, David Higgs wrote:
 On Sun, Apr 28, 2013 at 4:00 PM, Kenneth R Westerback
 kwesterb...@rogers.com wrote:
  On Sun, Apr 28, 2013 at 02:41:36PM -0400, David Higgs wrote:
  Confirmed in 5.3-current downloaded several minutes ago.
 
  Steps to reproduce:
  - Boot bsd.rd
  - Select upgrade, hit enter until dhclient gets and assigns an address
  - Complete upgrade or control-C, then restart the upgrade process
  - dhclient on 2nd run REMOVES the assigned address
 
  Probably affects the bsd.rd install option as well. This does not
  happen with 5.2 bsd.rd.
 
  Easy to work around, but probably not right.
 
  Thanks!
 
  --david
 
 
  Can't reproduce on amd64 -current here. I did control-C after getting
  dhclient lease, entered 'upgrade' at command prompt, and re-started
  upgrade. dhclient worked fine. Checked 'ifconfig' and the expected
  address was present.
 
  So more info you what exactly you are doing, on what machine are
  you doing it, and perhaps anything interesting in your dhclient.conf
  would be helpful. Thanks.
 
   Ken
 
 I would have provided output, but I haven't figured out how to log
 console output from VMware images.  Hopefully this will suffice:
 
 i386 / 5.3-current / RAMDISK_CD #120
 
 dhclient #1 (good)
 DHCPDISCOVER on vic0 to 255.255.255.255 port 67 interval 1
 DHCPOFFER from 172.16.223.254 (mac addr)
 DHCPREQUEST on vic0 to 255.255.255.255 port 67
 DHCPACK from 172.16.223.254 (mac addr)
 bound to 172.16.223.131 -- renewal in 900 seconds
 
 dhclient #2 (bad)
 DHCPREQUEST on vic0 to 255.255.255.255 port 67
 Active address (172.16.223.131) deleted; exiting

Trying the exact same RAMDISK_CD #120 on 'real' i386 hardware with
an nfe(4) interface, I cannot reproduce. So I suspect (assuming it
is not just an errant log message) something is broken in the i386/vm
interface you are trying.

 Ken

 
 dhclient #3 (good)
 DHCPREQUEST on vic0 to 255.255.255.255 port 67
 DHCPACK from 172.16.223.254 (mac addr)
 bound to 172.16.223.131 -- renewal in 900 seconds
 
 amd64 / 5.3-current / RAMDISK_CD #132
 
 dhclient #1 (good)
 DHCPDISCOVER on em0 to 255.255.255.255 port 67 interval 1
 DHCPOFFER from 172.16.223.254 (mac addr)
 DHCPREQUEST on em0 to 255.255.255.255 port 67
 DHCPACK from 172.16.223.254 (mac addr)
 bound to 172.16.223.130 -- renewal in 900 seconds
 
 dhclient #2 (still good)
 DHCPREQUEST on em0 to 255.255.255.255 port 67
 DHCPACK from 172.16.223.254 (mac addr)
 bound to 172.16.223.130 -- renewal in 900 seconds
 
 /etc/dhclient.conf appears to be identical to between i386 and amd64.
 I am sending an identical hostname FWIW, but I am only launching only
 one VM at a time.
 
 initial-interval 1;
 send host-name vm;
 request subnet-mask, broadcast-address, routers, domain-name,
 domain-name-servers, host-name;
 
 Let me know if you want me to try anything else.
 
 --david



Re: dhclient drops address on re-exec in 5.3 bsd.rd

2013-04-28 Thread David Higgs
On Sun, Apr 28, 2013 at 6:39 PM, Kenneth R Westerback
kwesterb...@rogers.com wrote:
 On Sun, Apr 28, 2013 at 05:29:05PM -0400, David Higgs wrote:
 On Sun, Apr 28, 2013 at 4:00 PM, Kenneth R Westerback
 kwesterb...@rogers.com wrote:
  On Sun, Apr 28, 2013 at 02:41:36PM -0400, David Higgs wrote:
  Confirmed in 5.3-current downloaded several minutes ago.
 
  Steps to reproduce:
  - Boot bsd.rd
  - Select upgrade, hit enter until dhclient gets and assigns an address
  - Complete upgrade or control-C, then restart the upgrade process
  - dhclient on 2nd run REMOVES the assigned address
 
  Probably affects the bsd.rd install option as well. This does not
  happen with 5.2 bsd.rd.
 
  Easy to work around, but probably not right.
 
  Thanks!
 
  --david
 
 
  Can't reproduce on amd64 -current here. I did control-C after getting
  dhclient lease, entered 'upgrade' at command prompt, and re-started
  upgrade. dhclient worked fine. Checked 'ifconfig' and the expected
  address was present.
 
  So more info you what exactly you are doing, on what machine are
  you doing it, and perhaps anything interesting in your dhclient.conf
  would be helpful. Thanks.
 
   Ken

 I would have provided output, but I haven't figured out how to log
 console output from VMware images.  Hopefully this will suffice:

 i386 / 5.3-current / RAMDISK_CD #120

 dhclient #1 (good)
 DHCPDISCOVER on vic0 to 255.255.255.255 port 67 interval 1
 DHCPOFFER from 172.16.223.254 (mac addr)
 DHCPREQUEST on vic0 to 255.255.255.255 port 67
 DHCPACK from 172.16.223.254 (mac addr)
 bound to 172.16.223.131 -- renewal in 900 seconds

 dhclient #2 (bad)
 DHCPREQUEST on vic0 to 255.255.255.255 port 67
 Active address (172.16.223.131) deleted; exiting

 Trying the exact same RAMDISK_CD #120 on 'real' i386 hardware with
 an nfe(4) interface, I cannot reproduce. So I suspect (assuming it
 is not just an errant log message) something is broken in the i386/vm
 interface you are trying.

  Ken

More simple tests on i386 follow.  The every other failure is pretty
repeatable but I have seen a couple cases where it worked.  I wouldn't
be surprised if the opposite applies to the non-zero sleep test.

1. Always OK: from bsd.rd - dhclient vic0
2. Fail: from bsd.rd - ifconfig vic0 down ; dhclient vic0
3. Fail: from bsd.rd - ifconfig vic0 down ; sleep 0 ; dhclient vic0
4. OK: from bsd.rd - ifconfig vic0 down ; sleep 0.001 ; dhclient vic0
5. Always OK: from bsd - ifconfig vic0 down ; dhclient vic0

Smells like a driver timing or hardware emulation bug to me.  I am
running OpenBSD as 32-bit Other, inside VMware Fusion 4.0.4 if that
makes any difference.  Anything else I can do or provide to help?

dmesg output (apologies for gmail's line wrapping):

OpenBSD 5.3-current (RAMDISK_CD) #120: Thu Apr 25 17:10:53 MDT 2013
t...@i386.openbsd.org:/usr/src/sys/arch/i386/compile/RAMDISK_CD
cpu0: Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz (GenuineIntel
686-class) 2.40 GHz
cpu0: 
FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,NXE,LONG,SSE3,SSSE3,CX16,LAHF,PERF,ITSC
real mem  = 267907072 (255MB)
avail mem = 256258048 (244MB)
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 09/20/12, BIOS32 rev. 0 @
0xfd780, SMBIOS rev. 2.4 @ 0xe0010 (364 entries)
bios0: vendor Phoenix Technologies LTD version 6.00 date 09/20/2012
bios0: VMware, Inc. VMware Virtual Platform
acpi0 at bios0: rev 2
acpi0: sleep states S0 S1 S4 S5
acpi0: tables DSDT FACP BOOT APIC MCFG SRAT HPET WAET
acpimadt0 at acpi0 addr 0xfee0: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: apic clock running at 65MHz
ioapic0 at mainbus0: apid 1 pa 0xfec0, version 11, 24 pins
acpiprt0 at acpi0: bus 0 (PCI0)
bios0: ROM list: 0xc/0x8000 0xc8000/0x1000 0xdc000/0x4000! 0xe/0x8000!
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 0 function 0 Intel 82443BX AGP rev 0x01
ppb0 at pci0 dev 1 function 0 Intel 82443BX AGP rev 0x01
pci1 at ppb0 bus 1
pcib0 at pci0 dev 7 function 0 Intel 82371AB PIIX4 ISA rev 0x08
pciide0 at pci0 dev 7 function 1 Intel 82371AB IDE rev 0x01: DMA,
channel 0 configured to compatibility, channel 1 configured to
compatibility
wd0 at pciide0 channel 0 drive 0: VMware Virtual IDE Hard Drive
wd0: 64-sector PIO, LBA, 16384MB, 33554432 sectors
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2
pciide0: channel 1 disabled (no drives)
Intel 82371AB Power rev 0x08 at pci0 dev 7 function 3 not configured
VMware Virtual Machine Communication Interface rev 0x10 at pci0 dev
7 function 7 not configured
vga1 at pci0 dev 15 function 0 VMware Virtual SVGA II rev 0x00
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
ppb1 at pci0 dev 17 function 0 VMware Virtual PCI-PCI rev 0x02
pci2 at ppb1 bus 2
vic0 at pci2 dev 0 function 0 AMD 79c970 PCnet-PCI rev 0x10: apic 1
int 18, address 00:0c:29:71:66:01
ppb2 at pci0 dev 21 function 0 VMware Virtual PCIE-PCIE rev 0x01
pci3 at ppb2 bus 3
ppb3 at pci0 dev 21