NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
port-i386/60884: Problems with promiscuous mode in driver for vr-network-interface
>Number: 60884
>Category: port-i386
>Synopsis: Problems with promiscuous mode in driver for vr-network-interface
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: port-i386-maintainer
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Oct 15 17:20:00 +0000 2026
>Originator: Ekkehard
>Release: NetBSD11
>Organization:
>Environment:
NetBSD melone2 11.0 NetBSD 11.0 (GENERIC) #3: Wed Oct 14 10:32:25 CEST 2026 root@melone2:/usr/obj/sys/arch/i386/compile/GENERIC i386
>Description:
The Alix-machine that has the problem with the NFS-boot should act as bridge between two parts of my network. Therefore it has 3 network-interfaces, vr0, v1 and vr2. Bridging should happen between vr0 and vr2.
I couldn't get this to work in the way I wanted.
To sort out that early initializing vr0 (as it is the boot-device) has some impact to my problems, I connected vr1 to the same switch as vr0 and tried bridging between vr1 and vr2. Still no success.
By chatting with my special friend Claude we found out something strange:
On a linux-PC (orange) connected to vr0/vr1:
>>>
root@orange:~# ip neigh replace 192.168.10.99 lladdr 02:00:00:00:00:99 dev enp0s3 nud permanent
root@orange:~# ping 192.168.10.99
PING 192.168.10.99 (192.168.10.99) 56(84) bytes of data.
<<<
This somehow adds the information that ip 192.168.10.99 has the mac 02:00:00:00:00:99 and is connected to interface enp0s3 (which is the only interface orange has).
I leave this running.
On the Alix:
Reboot to have a "clean" situation. Then in session1:
>>>
melone2# ifconfig vr1 up
melone2# ifconfig vr2 up
melone2# ifconfig bridge0 create
melone2# brconfig bridge0 add vr1 add vr2 up
<<<
In another session2:
>>>
tcpdump -n -e -i vr1 ether dst 02:00:00:00:00:99
<<<
That should show all packages arriving at vr1 that should go to the mac 02:00:00:00:00:99 -- which is the one I ping from the linux-machine.
This showed nothing. No pakets arriving.
I leave this running.
Then on session1:
>>>
brconfig bridge0 delete vr1
<<<
Now pakets showed up in session2!
Back to session1:
>>>
brconfig bridge0 add vr1
<<<
Still pakets showed up in session2!
Stopping tcpdump in session2 and starting it again still showed packagages.
Stopping tcpdump in session2.
In session1:
>>>
brconfig bridge0 delete vr1
brconfig bridge0 add vr1
<<<
And session2: tcpdump again --> no packages.
Claude says, this might have something to do with how bridge-code and tcpdump initialize the promiscuosus-mode. Or something about really setting the mode and just showing it as set.
Here my boot-log:
>>>
PC Engines ALIX.2 v0.99
640 KB Base Memory
261120 KB Extended Memory
01F0 - no drive found !
Intel UNDI, PXE-2.0 (build 082)
Copyright (C) 1997,1998,1999 Intel Corporation
VIA Rhine III Management Adapter v2.43 (2005/12/15)
CLIENT MAC ADDR: 00 0D B9 15 22 14
CLIENT IP: 192.168.10.8 MASK: 255.255.240.0 DHCP IP: 192.168.10.6
GATEWAY IP: 192.168.10.2
\\-__,------,___.
\\ __,---` NetBSD/x86 PXE Boot
\\ `---,_. Revision 5.2 (Sun Oct 4 14:23:18 UTC 2026)
\\-,_____,.---`
\\
\\
\\
Press return to boot now, any other key for boot menu
booting netbsd - starting in 0 seconds.
PXE BIOS Version 2.1
Using PCI device at bus 0 device 9 function 0
Ethernet address 00:0d:b9:15:22:14
20607620+593992+745400 [999648+1089032+14744]=0x16f114c
[ 1.0000000] Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
[ 1.0000000] 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013,
[ 1.0000000] 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023,
[ 1.0000000] 2024, 2025, 2026
[ 1.0000000] The NetBSD Foundation, Inc. All rights reserved.
[ 1.0000000] Copyright (c) 1982, 1986, 1989, 1991, 1993
[ 1.0000000] The Regents of the University of California. All rights reserved.
[ 1.0000000] NetBSD 11.0 (GENERIC) #3: Wed Oct 14 10:32:25 CEST 2026
[ 1.0000000] root@melone2:/usr/obj/sys/arch/i386/compile/GENERIC
[ 1.0000000] total memory = 255 MB
[ 1.0000000] avail memory = 228 MB
[ 1.0000040] mainbus0 (root)
[ 1.0000040] Firmware Error (ACPI): A valid RSDP was not found (20241212/tbxfroot-383)
acpi_probe: failed to initialize tables
[ 1.0000040] ACPI Error: Could not remove SCI handler (20241212/evmisc-424)
[ 1.0000040] cpu0 at mainbus0
[ 1.0000040] ACPI Error: AE_BAD_PARAMETER, Thread 3243335680 could not acquire Mutex [ACPI_MTX_Tables] (0x2) (20241212/utmutex-434)
[ 1.0000040] ACPI Error: Mutex [ACPI_MTX_Tables] (0x2) is not acquired, cannot release (20241212/utmutex-475)
[ 1.0000040] cpu0: Geode(TM) Integrated Processor by AMD PCS, id 0x5a2
[ 1.0000040] cpu0: node 0, package 0, core 0, smt 0
[ 1.0000040] pci0 at mainbus0 bus 0: configuration mode 1
[ 1.0000040] pchb0 at pci0 dev 1 function 0: AMD Geode LX Host-PCI Bridge (rev. 0x33)
[ 1.0000040] glxsb0 at pci0 dev 1 function 2: RNG AES
[ 1.0000040] vr0 at pci0 dev 9 function 0: VIA Technologies VT6105M (Rhine III) 10/100 Ethernet (rev. 0x96)
[ 1.0000040] vr0: interrupting at irq 10
[ 1.0000040] vr0: Ethernet address 00:0d:b9:15:22:14
[ 1.0000040] ukphy0 at vr0 phy 1: OUI 0x0002c6, model 0x0034, rev. 3
[ 1.0000040] ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
[ 1.0000040] vr1 at pci0 dev 10 function 0: VIA Technologies VT6105M (Rhine III) 10/100 Ethernet (rev. 0x96)
[ 1.0000040] vr1: interrupting at irq 11
[ 1.0000040] vr1: Ethernet address 00:0d:b9:15:22:15
[ 1.0000040] ukphy1 at vr1 phy 1: OUI 0x0002c6, model 0x0034, rev. 3
[ 1.0000040] ukphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
[ 1.0000040] vr2 at pci0 dev 11 function 0: VIA Technologies VT6105M (Rhine III) 10/100 Ethernet (rev. 0x96)
[ 1.0000040] vr2: interrupting at irq 12
[ 1.0000040] vr2: Ethernet address 00:0d:b9:15:22:16
[ 1.0000040] ukphy2 at vr2 phy 1: OUI 0x0002c6, model 0x0034, rev. 3
[ 1.0000040] ukphy2: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
[ 1.0000040] gcscpcib0 at pci0 dev 15 function 0: AMD CS5536 PCI-ISA Bridge (rev. 0x03)
[ 1.0058514] gcscpcib0: Watchdog Timer via MFGPT0, GPIO
[ 1.0058514] gpio0 at gcscpcib0: 32 pins
[ 1.0058514] viaide0 at pci0 dev 15 function 2: AMD CS5536 IDE Controller (rev. 0x01)
[ 1.0058514] viaide0: primary channel interrupting at irq 14
[ 1.0058514] atabus0 at viaide0 channel 0
[ 1.0058514] viaide0: secondary channel ignored (disabled)
[ 1.0058514] ohci0 at pci0 dev 15 function 4: AMD CS5536 OHCI USB Controller (rev. 0x02)
[ 1.0058514] ohci0: interrupting at irq 15
[ 1.0058514] ohci0: OHCI version 1.0, legacy support
[ 1.0058514] usb0 at ohci0: USB revision 1.0
[ 1.0058514] gcscehci0 at pci0 dev 15 function 5: AMD CS5536 EHCI USB Controller (rev. 0x02)
[ 1.0058514] gcscehci0: interrupting at irq 15
[ 1.0058514] gcscehci0: 1 companion controller, 4 ports: ohci0
[ 1.0058514] gcscehci0: Using DMA subregion for control data structures
[ 1.0058514] usb1 at gcscehci0: USB revision 2.0
[ 1.0058514] isa0 at gcscpcib0
[ 1.0058514] com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, 16-byte FIFO
[ 1.0058514] com0: console
[ 1.0058514] attimer0 at isa0 port 0x40-0x43
[ 1.0058514] pcppi0 at isa0 port 0x61
[ 1.0058514] midi0 at pcppi0: PC speaker
[ 1.0058514] sysbeep0 at pcppi0
[ 1.0058514] isapnp0 at isa0 port 0x279
[ 1.0058514] attimer0: attached to pcppi0
[ 1.0058514] WARNING: system needs entropy for security; see entropy(7)
[ 1.1900849] uhub0 at usb0: NetBSD (0x0000) OHCI root hub (0x0000), class 9/0, rev 1.00/1.00, addr 1
[ 1.2192372] uhub1 at usb1: NetBSD (0x0000) EHCI root hub (0x0000), class 9/0, rev 2.00/1.00, addr 1
[ 1.2500847] entropy: ready
[ 1.8900934] swwdog0: software watchdog initialized
[ 1.9067153] WARNING: 1 error while detecting hardware; check system log.
[ 1.9267441] boot device: vr0
[ 1.9353050] root on vr0
[ 1.9425917] nfs_boot: trying DHCP/BOOTP
[ 2.9001092] uplcom0 at uhub0 port 2
[ 2.9101306] uplcom0: vendor 067b (0x067b) product 2303 (0x2303), rev 1.10/2.02, addr 2
[ 2.9401112] ucom0 at uplcom0
[ 4.9601411] nfs_boot: DHCP next-server: 192.168.10.6
[ 4.9826705] nfs_boot: my_domain=lissner.home
[ 4.9953875] nfs_boot: my_addr=192.168.10.8
[ 5.0076058] nfs_boot: my_mask=255.255.240.0
[ 5.0200850] nfs_boot: gateway=192.168.10.2
[ 14.0402787] root on papaya:/srv/diskless/netbsd0/root
[ 14.0596311] root file system type: nfs
[ 14.0708124] kern.module.path=/stand/i386/11.0/modules
Thu Oct 15 17:12:54 -00 2026
Not checking /: fs_passno = 0 in /etc/fstab
Setting sysctl variables:
ddb.onpanic: 1 -> 0
Starting file system checks:
[ 15.6303067] papaya:/srv/diskless/netbsd0/root: inaccurate wcc data (ctime) detected, disabling wcc (ctime 1792084374.592718127 1792084374.592718127, mtime 17920843)
Loaded entropy from /var/db/entropy-file.
Waiting for entropy...done
Setting tty flags.
Starting network.
Hostname: melone2
IPv6 mode: host
Configuring network interfaces:.
Adding interface aliases:.
add net default: gateway 192.168.10.2
Waiting for duplicate address detection to finish...
Building databases: dev, utmp, utmpx.
Starting syslogd.
Mounting all file systems...
Clearing temporary files.
Creating a.out runtime link editor directory cache.
Checking quotas: done.
/etc/rc: WARNING: No swap space configured!
/etc/rc.d/swap2 exited with code 1
Starting virecover.
Checking for core dump...
savecore: no core dump (no dumpdev)
Creating /var/run/munin...
Starting local daemons:.
Updating motd.
Starting ntpd.
Starting powerd.
Starting sshd.
Starting rsyncd.
Starting postfix.
postfix/postlog: starting the Postfix mail system
Starting munin_node.
Starting inetd.
Starting httpd.
Starting cron.
The following components reported failures:
/etc/rc.d/swap2
See /var/run/rc.log for more information.
Thu Oct 15 19:13:35 CEST 2026
NetBSD/i386 (melone2) (constty)
login:
<<<
>How-To-Repeat:
Add vr*-devices to a bridge without running tcpdump on the device.
>Fix:
Run tcpdump on the device while adding it to the bridge.
Home |
Main Index |
Thread Index |
Old Index