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
