Hello everyone.

I'm sorry if I'm wasting your time with this. I'm just new to the whole topic of networking and I have no idea what's wrong.
I'm trying to bridge two networks using bleeding edge on a PowerPC architecture. The final goal includes analyzing and perhaps filtering the traffic, but at the moment, a working bridge would suffice.

My setup:
Small box, no wireless adapter, two ethernet adapters (eth0, eth1). I'm connected via minicom on the serial port.
I'm not sure about the actual hardware layout, so here's what I have gathered:
eth0 is a 4-port-switch (called eTSEC1 by u-boot). MAC: 00:90:0B:00:00:00
eth1 is a 1-port-adapter (possibly designed for WAN connections, called eTSEC3). MAC: 00:90:0B:00:00:01
Client A is connected to eth1, Client B is connected to one of the ports on eth0.

Current results:
I send ARP requests from Client A (192.168.10.1) to client B (192.168.10.4). The packets are bridged just fine. B receives the packets, sends an ARP reply. The reply arrives at eth0, is bridged, gets sent out at eth1 (according to tcpdump) but never arrives at Client A.
Same problem the other way round (i.e. B sends the request, A responds).

I've come to think that only unicasts with a specific MAC target never reach their destination. Broadcasts always go through.
I've been trying different configurations for a week now and I have no more ideas left. All firewalls are on accept (arptables, ebtables, iptables) on every single chain in each table.
It works when I plug A into eth0 along with B.
It does not work when A is in eth0 and B in eth1.

(Some additional info: about 70 secs after boot, eth0 and eth1 both leave promiscuous mode and enter it again. Only then does it work with both on eth0.)

Configuration:

root@sledgehammer:/# cat /etc/config/network

config 'interface' 'loopback'
        option 'ifname' 'lo'
        option 'proto' 'static'
        option 'ipaddr' '127.0.0.1'
        option 'netmask' '255.0.0.0'

config 'interface' 'lan'
        option 'type' 'bridge'
        option 'proto' 'none'
        option 'ifname' 'eth0 eth1'
        option 'auto' '1'
root@sledgehammer:/# ifconfig
br-lan    Link encap:Ethernet  HWaddr 00:90:0B:00:00:01  
          inet6 addr: fe80::290:bff:fe00:1/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:21 errors:0 dropped:0 overruns:0 frame:0
          TX packets:19 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:966 (966.0 B)  TX bytes:1302 (1.2 KiB)

eth0      Link encap:Ethernet  HWaddr 00:90:0B:00:00:00  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:27 errors:0 dropped:0 overruns:0 frame:0
          TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2208 (2.1 KiB)  TX bytes:1314 (1.2 KiB)
          Base address:0xc000 

eth1      Link encap:Ethernet  HWaddr 00:90:0B:00:00:01  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:36 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:2300 (2.2 KiB)
          Base address:0x2000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:1488 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1488 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:122016 (119.1 KiB)  TX bytes:122016 (119.1 KiB)

Thanks for your time.

Dullahan

(Last edited by Dullahan on 5 Apr 2012, 09:04)