[Bridge] Bridge not working on arm embedded platform
Louis Croisez
louis.croisez at gmail.com
Mon May 30 02:38:59 PDT 2005
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> =3D=3D=3D=3D=3D=3D=3D=3D eth=
0 ----+----eth1 =
=3D=3D=3D=3D=3D=3D=3D=3D [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.linux-foundation.org/pipermail/bridge/attachments/2005053=
0/262d24f2/attachment-0002.htm
More information about the Bridge
mailing list