I have been used very old PC as my personal NFS file server.
It had been worked with no problem until OpenBSD 4.6.
But when upgraded 4.7, I got a very serious problem.
This server cannot communicate with any hosts.
Network interfaces settings;
# ifconfig -a
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33200
priority: 0
groups: lo
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4
ne3: flags=8863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST> mtu 1500
lladdr 00:90:fe:01:9a:c2
priority: 0
groups: egress
media: Ethernet autoselect (10baseT)
inet 192.168.1.8 netmask 0xffffff00 broadcast 192.168.1.255
inet6 fe80::290:feff:fe01:9ac2%ne3 prefixlen 64 scopeid 0x1
inet6 2001:x:x:x:x:x:x:x prefixlen 64 autoconf pltime 604627 vltime
2591827
ep0: flags=8863<UP,BROADCAST,NOTRAILERS,RUNNING,SIMPLEX,MULTICAST> mtu 1500
lladdr 00:a0:24:e5:0d:4b
priority: 0
media: Ethernet 100baseTX
status: active
inet 192.168.2.8 netmask 0xffffff00 broadcast 192.168.2.255
inet6 fe80::2a0:24ff:fee5:d4b%ep0 prefixlen 64 scopeid 0x2
enc0: flags=0<>
priority: 0
groups: enc
status: active
pflog0: flags=141<UP,RUNNING,PROMISC> mtu 33200
priority: 0
groups: pflog
This NFS server has two NICs - ne3 and ep0.
ne3 still works well, but ep0 doesn't seem to receive packets nomarlly.
After upgrading 4.7 (or newer -current), the output of tcpdump is like this;
# tcpdump -n -c 5 -i ep0
tcpdump: listening on ep0, link-type EN10MB
10:13:13.223885 ff:ff:ff:ff:bb:aa ff:ff:ff:ff:ff:ff ffef 60:
bbaa ffef bbaa ffef bbaa ffef bbaa ffef
bbaa ffef bbaa ffef bbaa ffef bbaa ffef
bbaa ffef bbaa ffef bbaa ffef bbaa
10:13:39.123721 ff:ff:ff:ff:bb:aa ff:ff:ff:ff:ff:ff ffef 60:
bbaa ffef bbaa ffef bbaa ffef bbaa ffef
bbaa ffef bbaa ffef bbaa ffef bbaa ffef
bbaa ffef bbaa ffef bbaa ffef bbaa
10:13:51.325412 ff:ff:ff:ff:bb:aa ff:ff:ff:ff:ff:ff ffef 60:
bbaa ffef bbaa ffef bbaa ffef bbaa ffef
bbaa ffef bbaa ffef bbaa ffef bbaa ffef
bbaa ffef bbaa ffef bbaa ffef bbaa
10:14:40.448829 ff:ff:ff:ff:bb:aa ff:ff:ff:ff:ff:ff ffef 60:
bbaa ffef bbaa ffef bbaa ffef bbaa ffef
bbaa ffef bbaa ffef bbaa ffef bbaa ffef
bbaa ffef bbaa ffef bbaa ffef bbaa
10:14:59.005721 ff:ff:ff:ff:bb:aa ff:ff:ff:ff:ff:ff ffef 60:
bbaa ffef bbaa ffef bbaa ffef bbaa ffef
bbaa ffef bbaa ffef bbaa ffef bbaa ffef
bbaa ffef bbaa ffef bbaa ffef bbaa
#
and dmesg output of this server;
OpenBSD 4.7-current (GENERIC.MP) #75: Sun Jul 4 15:06:32 MDT 2010
[email protected]:/usr/src/sys/arch/i386/compile/GENERIC.MP
cpu0: Intel Pentium Pro ("GenuineIntel" 686-class, 256KB L2 cache) 200 MHz
cpu0: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV
real mem = 100233216 (95MB)
avail mem = 89563136 (85MB)
mainbus0 at root
bios0 at mainbus0: AT/286+ BIOS, date 09/03/96, BIOS32 rev. 0 @ 0xfd891
apm0 at bios0: Power Management spec V1.2
apm0: AC on, battery charge unknown
mpbios0 at bios0: Intel MP Specification 1.1
cpu0 at mainbus0: apid 1 (boot processor)
cpu0: apic clock running at 66MHz
cpu1 at mainbus0: apid 0 (application processor)
cpu1: Intel Pentium Pro ("GenuineIntel" 686-class, 256KB L2 cache) 200 MHz
cpu1: FPU,V86,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV
mpbios0: bus 0 is type PCI
mpbios0: bus 1 is type ISA
ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 11, 24 pins
pcibios0 at bios0: rev 2.1 @ 0xf0000/0x10000
pcibios0: PCI BIOS has 6 Interrupt Routing table entries
pcibios0: PCI Interrupt Router at 000:01:0 ("Intel 82371SB ISA" rev 0x00)
pcibios0: PCI bus #0 is the last bus
bios0: ROM list: 0xc0000/0x8000
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 0 function 0 "Intel 82441FX" rev 0x02
pcib0 at pci0 dev 1 function 0 "Intel 82371SB ISA" rev 0x01
pciide0 at pci0 dev 1 function 1 "Intel 82371SB IDE" rev 0x00: DMA, channel
0 wired to compatibility, channel 1 wired to compatibility
wd0 at pciide0 channel 0 drive 0: <WDC WD400EB-11CPF0>
wd0: 16-sector PIO, LBA, 38146MB, 78125040 sectors
wd1 at pciide0 channel 0 drive 1: <Maxtor 4R160L0>
wd1: 16-sector PIO, LBA48, 156334MB, 320173056 sectors
wd0(pciide0:0:0): using PIO mode 4, DMA mode 2
wd1(pciide0:0:1): using PIO mode 4, DMA mode 2
atapiscsi0 at pciide0 channel 1 drive 0
scsibus0 at atapiscsi0: 2 targets
cd0 at scsibus0 targ 0 lun 0: <HITACHI, CDR-7930, 1023> ATAPI 5/cdrom
removable
cd0(pciide0:1:0): using PIO mode 0, DMA mode 1
uhci0 at pci0 dev 1 function 2 "Intel 82371SB USB" rev 0x01: apic 2 int 19
(irq 11)
ne3 at pci0 dev 6 function 0 "Realtek 8029" rev 0x00: apic 2 int 18 (irq
10), address 00:90:fe:01:9a:c2
ep0 at pci0 dev 7 function 0 "3Com 3c595 100Base-TX" rev 0x00: address
00:a0:24:e5:0d:4b, utp/100-TX default utp/autoselect apic 2 int 17 (irq 9)
vga1 at pci0 dev 11 function 0 "S3 Trio32/64" rev 0x54
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
isa0 at pcib0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
com1 at isa0 port 0x2f8/8 irq 3: ns16550a, 16 byte fifo
com1: probed fifo depth: 0 bytes
pckbc0 at isa0 port 0x60/5
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
spkr0 at pcppi0
lpt2 at isa0 port 0x3bc/4: polled
npx0 at isa0 port 0xf0/16: reported by CPUID; using exception 16
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec
usb0 at uhci0: USB revision 1.0
uhub0 at usb0 "Intel UHCI root hub" rev 1.00/1.00 addr 1
mtrr: Pentium Pro MTRR support
apm0: disconnected
vscsi0 at root
scsibus1 at vscsi0: 256 targets
softraid0 at root
root on wd0a swap on wd0b dump on wd0b
I found the same problem on other machine with 3Com NIC which is
supported by ep(4).
What causes this problem?