Skip to contentSkip to conversation

network bridging between wireless and wired connection fails Cont'd

Bridge Alexandre Becholey 2 participants 5 messages May 18, 2009 – May 20, 2009 Ethernet bridge

lore
Share & tools
lore
#0 lore raw

Hi

I have a similar problem than the one in this thread: https://lists.linux-foundation.org/pipermail/bridge/2009-May/006383.html
and the network is quite similar: http://inwww.epfl.ch/~becholey/network.jpg (every computer run linux there are no DHCP, every IP needs to be static)

when I try to ping PC1 from PC2 I can see the ARP "who-has" going to PC1. PC1 answers, I can see the ARP is at on the bridge (on any interfaces), but they don't arrive to PC2 => "Destination Host Unreachable" when I try to ping PC2 from PC1 I can see on the bridge the ARP "who-has", but they don't arrive to PC2.
From the bridge, I can ping everybody.

In both case I can see the number of packets increasing on the bridge with ifconfig, there are no drops and no errors..

The use of a bridge is not an option, because I need the same subnet (10.79.0.0) in the whole network :-/

Do you have an idea why the ARP packets can't be sent in "the air"? Or do you have a workaround for this? I hope I provided enough information... Thanks in advance.

Best regards,

Alexandre Becholey

PS: here is the configuration of the bridge: (I tried with 2 different wireless card, one mini-PCI broadcom and a USB dongle ralink)

# brctl addbr br0
# ifconfig wlan0 0.0.0.0 up
# ifconfig eth0 0.0.0.0 up
# iwconfig wlan0 essid my_ssid
# brctl addif br0 wlan0
# brctl addif br0 eth0
# ifconfig br0 10.79.2.2 netmask 255.255.0.0 up
# dmesg
device eth0 entered promiscuous mode
br0: port 2(eth0) entering learning state
br0: port 1(wlan0) entering learning state
br0: no IPv6 routers present
br0: topology change detected, propagating
br0: port 2(eth0) entering forwarding state
br0: topology change detected, propagating
br0: port 1(wlan0) entering forwarding state
# ifconfig
br0       Link encap:Ethernet  HWaddr 00:21:E9:E7:AE:88 
         inet addr:10.79.2.2  Bcast:10.79.255.255  Mask:255.255.0.0
         inet6 addr: fe80::221:e9ff:fee7:ae88/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:0 errors:0 dropped:0 overruns:0 frame:0
         TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
         RX bytes:0 (0.0 b)  TX bytes:468 (468.0 b)

eth0 Link encap:Ethernet HWaddr 00:22:41:30:92:18

         inet6 addr: fe80::222:41ff:fe30:9218/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:59327 errors:0 dropped:0 overruns:0 frame:0
         TX packets:34860 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:28272439 (26.9 Mb)  TX bytes:5007876 (4.7 Mb)
         Interrupt:17

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:1665 errors:0 dropped:0 overruns:0 frame:0 TX packets:1665 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0
RX bytes:2650847 (2.5 Mb) TX bytes:2650847 (2.5 Mb)

wlan0 Link encap:Ethernet HWaddr 00:21:E9:E7:AE:88

         inet6 addr: fe80::221:e9ff:fee7:ae88/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:2004 errors:0 dropped:0 overruns:0 frame:296525
         TX packets:799 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:1000
         RX bytes:150703 (147.1 Kb)  TX bytes:77417 (75.6 Kb)
         Interrupt:16

wmaster0 Link encap:UNSPEC HWaddr 00-1B-11-08-88-F8-00-00-00-00-00-00-00-00-00-00
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

#1 lore raw

What is the output of "brctl br0 showmacs" ?

Are you running iptables or ebtables?

Quoted 99 lines · Alexandre Becholey

Hi

I have a similar problem than the one in this thread:
https://lists.linux-foundation.org/pipermail/bridge/2009-May/006383.html
and the network is quite similar:
http://inwww.epfl.ch/~becholey/network.jpg (every computer run linux there are no DHCP, every IP needs to be static)

when I try to ping PC1 from PC2 I can see the ARP "who-has" going to PC1. PC1 answers, I can see the ARP is at on the bridge (on any interfaces), but they don't arrive to PC2 => "Destination Host Unreachable" when I try to ping PC2 from PC1 I can see on the bridge the ARP "who-has", but they don't arrive to PC2.
 From the bridge, I can ping everybody.

In both case I can see the number of packets increasing on the bridge with ifconfig, there are no drops and no errors..

The use of a bridge is not an option, because I need the same subnet (10.79.0.0) in the whole network :-/

Do you have an idea why the ARP packets can't be sent in "the air"? Or do you have a workaround for this?
I hope I provided enough information... Thanks in advance.

Best regards,

Alexandre Becholey

PS: here is the configuration of the bridge: (I tried with 2 different wireless card, one mini-PCI broadcom and a USB dongle ralink)

# brctl addbr br0
# ifconfig wlan0 0.0.0.0 up
# ifconfig eth0 0.0.0.0 up
# iwconfig wlan0 essid my_ssid
# brctl addif br0 wlan0
# brctl addif br0 eth0
# ifconfig br0 10.79.2.2 netmask 255.255.0.0 up
# dmesg
device eth0 entered promiscuous mode
br0: port 2(eth0) entering learning state
br0: port 1(wlan0) entering learning state
br0: no IPv6 routers present
br0: topology change detected, propagating
br0: port 2(eth0) entering forwarding state
br0: topology change detected, propagating
br0: port 1(wlan0) entering forwarding state
# ifconfig
br0       Link encap:Ethernet  HWaddr 00:21:E9:E7:AE:88
         inet addr:10.79.2.2  Bcast:10.79.255.255  Mask:255.255.0.0
         inet6 addr: fe80::221:e9ff:fee7:ae88/64 Scope:Link
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
         RX packets:0 errors:0 dropped:0 overruns:0 frame:0
         TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
         collisions:0 txqueuelen:0
         RX bytes:0 (0.0 b)  TX bytes:468 (468.0 b)

eth0      Link encap:Ethernet  HWaddr 00:22:41:30:92:18 inet6 addr: fe80::222:41ff:fe30:9218/64 Scope:Link UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 RX packets:59327 errors:0 dropped:0 overruns:0 frame:0 TX packets:34860 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000
         RX bytes:28272439 (26.9 Mb)  TX bytes:5007876 (4.7 Mb) Interrupt:17

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:1665 errors:0 dropped:0 overruns:0 frame:0 TX packets:1665 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0
         RX bytes:2650847 (2.5 Mb)  TX bytes:2650847 (2.5 Mb)

wlan0      Link encap:Ethernet  HWaddr 00:21:E9:E7:AE:88 inet6 addr: fe80::221:e9ff:fee7:ae88/64 Scope:Link UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 RX packets:2004 errors:0 dropped:0 overruns:0 frame:296525 TX packets:799 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000
         RX bytes:150703 (147.1 Kb)  TX bytes:77417 (75.6 Kb) Interrupt:16

wmaster0  Link encap:UNSPEC  HWaddr 00-1B-11-08-88-F8-00-00-00-00-00-00-00-00-00-00
         UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000
         RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

_______________________________________________
Bridge mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/bridge

#2 lore raw

Hi thanks for your reply.

# brctl showmacs br0
port no    mac addr        is local?    ageing timer
 2    00:14:2d:21:99:2a    no           0.78             (<- PC1's mac)
 1    00:1b:38:e8:51:1c    no           5.75             (<- PC2's mac)
 1    00:21:e9:e7:ae:88    yes           0.00            (<- wlan0)
 2    00:22:41:30:92:18    yes           0.00            (<- eth1)

ifconfig shows that br0 has wlan0's mac address. If a use another wireless interface with a "higher" mac address, br0 has eth1's mac address

No iptables nor ebtables running.

Alexandre

Quoted 3 lines · [email protected] wrote:

What is the output of "brctl br0 showmacs" ?

Are you running iptables or ebtables?

#3 lore raw
Quoted 9 lines · Alexandre Becholey

Hi thanks for your reply.

# brctl showmacs br0
port no    mac addr        is local?    ageing timer
 2    00:14:2d:21:99:2a    no           0.78             (<- PC1's mac)
 1    00:1b:38:e8:51:1c    no           5.75             (<- PC2's mac)
 1    00:21:e9:e7:ae:88    yes           0.00            (<- wlan0)
 2    00:22:41:30:92:18    yes           0.00            (<- eth1)
Quoted 6 lines

ifconfig shows that br0 has wlan0's mac address. If a use another wireless interface with a "higher" mac address, br0 has eth1's mac address

No iptables nor ebtables running.

Alexandre

Does your access point do any sort of filtering (like MAC-based table of authorized users)? Perhaps PC1 is not listed as authorized and so the AP won't forward his traffic when it receives it from the wireless side (repeated through the Linux bridge).

The linux bridge is a wireless client, not an access point, right?

Quoted 8 lines
Quoted 4 lines · [email protected] wrote:

What is the output of "brctl br0 showmacs" ?

Are you running iptables or ebtables?

#4 lore raw
Quoted 20 lines · [email protected] wrote:
Quoted 9 lines · Alexandre Becholey

Hi thanks for your reply.

# brctl showmacs br0
port no    mac addr        is local?    ageing timer
 2    00:14:2d:21:99:2a    no           0.78             (<- PC1's mac)
 1    00:1b:38:e8:51:1c    no           5.75             (<- PC2's mac)
 1    00:21:e9:e7:ae:88    yes           0.00            (<- wlan0)
 2    00:22:41:30:92:18    yes           0.00            (<- eth1)
Quoted 7 lines

ifconfig shows that br0 has wlan0's mac address. If a use another wireless interface with a "higher" mac address, br0 has eth1's mac address

No iptables nor ebtables running.

Alexandre

Quoted 7 lines

Does your access point do any sort of filtering (like MAC-based table of authorized users)? Perhaps PC1 is not listed as authorized and so the AP won't forward his traffic when it receives it from the wireless side (repeated through the Linux bridge).

The linux bridge is a wireless client, not an access point, right?

There are no filtering on the AP. I wasn't clear enough when I explained the problem.

I tried with 2 different wireless devices: a broadcom mini-PCI (b43) and a ralink USB (rt73usb), they both behave the same:
Let's take the case "PC1 pings PC2". PC1 first send ARP "who-has" (I can see them on PC1's eth0 and Bridge's br0, eth0 and wlan0 with wireshark or tcpdump). But I think that wlan0 doesn't send them to the AP because when I use another wireless interface in monitor mode (sniffing mode) with wireshark (I set the channel to the AP's one), I can't see any ARP packets.

Now with "PC2 pings PC1". PC2 send ARP "who-has". I see them with my wireless interface in monitor mode, I also see them on Bridge's wlan0, eth0 and br0 and on PC1's eth0. I see PC1 responding to the ARP "who-has" (with ARP "is at") on PC1's eth0, Bridge's br0, eth0 and wlan0. But I don't see them with my wireless interface in monitor mode. And therefore PC2 doesn't receive them.

It seems like wlan0 doesn't send them, but with ifconfig I can't see any drop or error packets. I see with "PC1 pings PC2" the number of packet increasing on wlan0 as the ARP "who-has" arrives on it from PC1.

And the Bridge can ping everything.

Now I also have another setup (which is the goal I want to achieve): from http://inwww.epfl.ch/~becholey/network.jpg take out the AP, wlan0 now is in master mode with hostapd and PC2 is connected to the Bridge wirelessly. The Bridge configuration doesn't changes except wlan0 in master mode with hostapd.

Here, it's a bit more strange...
PC2 can ping everything (it receives the ARP "is-at" from PC1). If there was another station connected to the Bridge wirelessly, PC2 would be able to ping it.

PC1 can't ping PC2 (same behavior in the setup with wlan0 as a wireless client), but if during this ping, with PC2 I ping the Bridge or PC1, PC1's ping reaches PC2. As soon as I stop PC2's ping, PC1's ping doesn't reach PC2 any more.

Of course PC1 can ping the Bridge. The Bridge can ping PC1 but not PC2 (same strange behavior when PC1 pings PC2, it works with a ping in the other direction).

I hope it's more clear.

PS: I want it to works with the most simple setup, therefore on any devices, there are no encryption, filtering,...