Hello all,

I noticed the caveat against RTL8139 NICs in promiscuous mode.

I have a setup using two tulip based cards on which I need to enter
promiscuous mode TWICE before the bridge starts passing data. This is not
necessarily Lennert's problem. Initiating the bridge and entering tcpdump
seems to also do the trick. Therefore I can suspect the cards and/or the
drivers (and/or Linux?)

What follows is what I think is pertinent to the problem: detection data for
the NICs, statistics, sample batch, kernel log and machine/kernel
identification. There is NO error reported anywhere, no log entry and no
failure other than having to enter promiscuous twice.

Everything is ok on either side once this extra step is taken (I must say
the traffic is limited in this test setup but it works perfectly).

Any though will be appreciated. Perhaps a virtual chocolate bribe, who
knows...

Regards,

Serge Caron

Here is the setup:
Dec 19 22:14:20 (none) kernel: NET4: Ethernet Bridge 008 for NET4.0
Dec 19 22:14:20 (none) kernel: NET4: Ethernet Bridge Firewall 001 for NET4.0
Dec 19 22:14:20 (none) kernel: tulip.c:v0.91g-ppc 7/16/99
[EMAIL PROTECTED]
Dec 19 22:14:20 (none) kernel: eth0: ADMtek Centaur-P rev 17 at 0xc400,
00:03:6D:1F:B1:71, IRQ 10.
Dec 19 22:14:20 (none) kernel: eth1: Lite-On PNIC-II rev 37 at 0xc800,
00:A0:CC:E1:26:70, IRQ 9.

Here are the statistics from netstat -i once promiscuous mode was entered
twice:
Kernel Interface table
Iface   MTU Met   RX-OK RX-ERR RX-DRP RX-OVR   TX-OK TX-ERR TX-DRP TX-OVR
Flg
br0    1500   0      68      0      0      0       0      0      0      0
BMRU
eth0   1500   0     545      0      0      0    1189      0      0      0
BMRU
eth1   1500   0    5898      0      0      0    1140      1      0      0
BMRU
lo     3924   0       0      0      0      0       0      0      0      0
LRU

Here is the sample batch file that will start the bridge:
#!/bin/sh
ip link set up eth0
brctl addif br0 eth0
ip link set up eth1
brctl addif br0 eth1
sleep 30
dmesg
brctl delif br0 eth0
brctl delif br0 eth1
brctl addif br0 eth0
brctl addif br0 eth1
sleep 30
dmesg

Here is the kernel log for the aboce activity:
Dec 19 22:16:24 (none) kernel: eth0: Promiscuous mode enabled.
Dec 19 22:16:24 (none) kernel: device eth0 entered promiscuous mode
Dec 19 22:16:24 (none) kernel: br0: port 1(eth0) entering listening state
Dec 19 22:16:24 (none) kernel: eth1: Promiscuous mode enabled.
Dec 19 22:16:24 (none) kernel: device eth1 entered promiscuous mode
Dec 19 22:16:24 (none) kernel: br0: port 2(eth1) entering listening state
Dec 19 22:16:39 (none) kernel: br0: port 1(eth0) entering learning state
Dec 19 22:16:39 (none) kernel: br0: port 2(eth1) entering learning state
Dec 19 22:16:54 (none) kernel: br0: port 1(eth0) entering forwarding state
Dec 19 22:16:54 (none) kernel: br0: topology change detected, propagating
Dec 19 22:16:54 (none) kernel: br0: port 2(eth1) entering forwarding state
Dec 19 22:16:54 (none) kernel: br0: topology change detected, propagating
Dec 19 22:16:54 (none) kernel: br0: port 1(eth0) entering disabled state
Dec 19 22:16:54 (none) kernel: device eth0 left promiscuous mode
Dec 19 22:16:54 (none) kernel: br0: port 2(eth1) entering disabled state
Dec 19 22:16:54 (none) kernel: device eth1 left promiscuous mode
Dec 19 22:16:54 (none) kernel: eth0: Promiscuous mode enabled.
Dec 19 22:16:54 (none) kernel: device eth0 entered promiscuous mode
Dec 19 22:16:54 (none) kernel: br0: port 1(eth0) entering listening state
Dec 19 22:16:54 (none) kernel: eth1: Promiscuous mode enabled.
Dec 19 22:16:54 (none) kernel: device eth1 entered promiscuous mode
Dec 19 22:16:54 (none) kernel: br0: port 2(eth1) entering listening state
Dec 19 22:17:09 (none) kernel: br0: port 2(eth1) entering learning state
Dec 19 22:17:09 (none) kernel: br0: port 1(eth0) entering learning state
Dec 19 22:17:24 (none) kernel: br0: port 2(eth1) entering forwarding state
Dec 19 22:17:24 (none) kernel: br0: topology change detected, propagating
Dec 19 22:17:24 (none) kernel: br0: port 1(eth0) entering forwarding state
Dec 19 22:17:24 (none) kernel: br0: topology change detected, propagating

Here is the machine identification at boot:
Dec 19 22:01:47 (none) kernel: Linux version 2.2.20
([EMAIL PROTECTED]) (gcc version 2.7.2.3) #1 Mon Dec 17 20:37:42
EST 2001
Dec 19 22:01:47 (none) kernel: BIOS-provided physical RAM map:
Dec 19 22:01:47 (none) kernel:  BIOS-e820: 0009f000 @ 00000000 (usable)
Dec 19 22:01:47 (none) kernel:  BIOS-e820: 07f00000 @ 00100000 (usable)
Dec 19 22:01:47 (none) kernel: Detected 331926 kHz processor.
Dec 19 22:01:47 (none) kernel: Console: colour VGA+ 80x25
Dec 19 22:01:47 (none) kernel: Calibrating delay loop... 661.91 BogoMIPS
Dec 19 22:01:47 (none) kernel: Memory: 127552k/131072k available (792k
kernel code, 412k reserved, 1568k data, 48k init)
Dec 19 22:01:47 (none) kernel: Dentry hash table entries: 16384 (order 5,
128k)
Dec 19 22:01:47 (none) kernel: Buffer cache hash table entries: 131072
(order 7, 512k)
Dec 19 22:01:47 (none) kernel: Page cache hash table entries: 32768 (order
5, 128k)
Dec 19 22:01:47 (none) kernel: Intel machine check architecture supported.
Dec 19 22:01:47 (none) kernel: Intel machine check reporting enabled on
CPU#0.
Dec 19 22:01:47 (none) kernel: 128K L2 cache (4 way)
Dec 19 22:01:47 (none) kernel: CPU: L2 Cache: 128K
Dec 19 22:01:47 (none) kernel: CPU: Intel Celeron (Mendocino) stepping 00
Dec 19 22:01:47 (none) kernel: Checking 386/387 coupling... OK, FPU using
exception 16 error reporting.
Dec 19 22:01:47 (none) kernel: Checking 'hlt' instruction... OK.
Dec 19 22:01:47 (none) kernel: POSIX conformance testing by UNIFIX
Dec 19 22:01:47 (none) kernel: PCI: PCI BIOS revision 2.10 entry at 0xfb2d0
Dec 19 22:01:47 (none) kernel: PCI: Using configuration type 1
Dec 19 22:01:47 (none) kernel: PCI: Probing PCI hardware



_______________________________________________
Bridge mailing list
[EMAIL PROTECTED]
http://www.math.leidenuniv.nl/mailman/listinfo/bridge

Reply via email to