Hi, i want to implement the bridging feature on an arm (cpu intel ixp425), running busybox+linux kernel 2.6.11. For this, I have recompiled the kernel to enable bridging and ebtables, and I have compiled and installed brctl utility for arm. Here is my network setup: [PC_A] eth0 10.0.0.10/24 <http://10.0.0.10/24> ======== eth0 ----+----eth1 ======== [PC_B] eth0 10.10.0.1/24 <http://10.10.0.1/24> | br0 [ARM] Here is how I setup my bridge on the ARM: brctl addbr br0 brctl addif br0 eth0 brctl addif br0 eth1 brctl setfd br0 1 ifconfig eth0 promisc ifconfig eth1 promisc ifconfig eth0 0.0.0.0 <http://0.0.0.0> ifconfig eth1 0.0.0.0 <http://0.0.0.0> ifconfig eth0 up ifconfig eth1 up ifconfig br0 0.0.0.0 <http://0.0.0.0> ifconfig br0 up ip route add 0.0.0.0/0 <http://0.0.0.0/0> dev br0 On PC_A, I ping PC_B. It does not work [pc_a]# ping 10.0.0.10 <http://10.0.0.10> Then, I verified with tcpdump on the arm platform where the problem could be: [arm]# tcpdump -i br0 listening on br0, link-type EN10MB (Ethernet), capture size 68 bytes arp who-has 10.10.0.1 <http://10.10.0.1> tell 10.0.0.10 <http://10.0.0.10> 3 packets captured 3 packets received by filter 0 packets dropped by kernel [arm]# tcpdump -i eth0 listening on eth0, link-type EN10MB (Ethernet), capture size 68 bytes arp who-has 10.10.0.1 <http://10.10.0.1> tell 10.0.0.10 <http://10.0.0.10> 3 packets captured 3 packets received by filter 0 packets dropped by kernel [arm]# tcpdump -i eth1 listening on eth1, link-type EN10MB (Ethernet), capture size 68 bytes 0 packets captured 0 packets received by filter 0 packets dropped by kernel The ICMP packet is not sent because the arp resolution is not completed. Finally, the problem is: why does the bridge not forward the arp request from PC_A (10.0.0.10 <http://10.0.0.10>) to PC_B (10.10.0.1<http://10.10.0.1> ) This is a broadcast packet, and it should be forwarded on the other interface of the bridge. What I have done to find the problem: - I have verified that both eth0 and eth1 on the bridge are well working in promiscuous mode. - I have statically defined an arp entry for PC_A inside PC_B, and an arp entry for PC_B inside PC_A; the result is that the ICMP packet (ping) is well bridged through the two interfaces of the ARM platform. Thus the problem is related to the arp resolution. If someone could help me, it would be great because I am completely locked. Replacing the ARM by a standard PC make the things working. --L.Croisez. -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.osdl.org/pipermail/bridge/attachments/20050530/262d24f2/attachment.htm