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