From: Jochen Friedrich <jochen@scram.de>
To: linux-wireless@vger.kernel.org
Subject: 4addr mode promisc problem
Date: Sun, 15 Aug 2010 18:52:35 +0200 [thread overview]
Message-ID: <4C681B53.9080100@scram.de> (raw)
Hi,
in the current implementation of mac80211 4addr mode, bridging a
wireless interface to a wired one doesn't work as expected due to
promisc mode forwarding frames sent to a different "AP" to higher
layers...
Given this setup:
A -wireless link- AP -4addr mode link- B -ethernet- C
If I now ping C from A (all ARP entries are already set up), I get
exactly one response back.
This is what's happening:
A sends echo request to AP:
Frame Addr1=AP, Addr2=A, Addr3=C
AP adds CAM entry A=wlan0
B adds CAM entry A=wlan0.sta1
AP sends echo request to B
Frame Addr1=B, Addr2=AP, Addr3=C, Addr4=A
B doesn't have CAM entry for C, forwards echo request to eth0.
C replies with echo reply on eth0.
B adds CAM entry C=eth0
B hat CAM entry of A, sends echo reply to wlan0.sta1
Frame Addr1=AP, Addr2=B, Addr3=A, Addr4=C
AP sends echo reply to A
Frame Addr1=A, Addr2=AP, Addr3=C
B updates CAM entry C=wlan0.sta1
Here the problem happens. B receives the frame from AP to A. It
can't decrypt the frame but it still updates the CAM entry and any
future packet from A to C won't be forwarded to eth0 anymore.
IMHO, promisc mode on an interface with 4addr mode should only
affect addr3 processing, but not addr1. The current behaviour looks
like a bug to me.
Config on B (needs iw patch sent by me two weeks ago):
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
auto wlan0
iface wlan0 inet manual
pre-up iw wlan0 set 4addr on
auto eth0
iface eth0 inet manual
auto br0
iface br0 inet dhcp
bridge_ports wlan0 eth0
bridge_fd 0
bridge_stp off
wpa-ssid <my ssid>
wpa-psk <my password>
wpa-bridge br0
wpa-iface wlan0
Thanks,
Jochen
reply other threads:[~2010-08-15 17:11 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4C681B53.9080100@scram.de \
--to=jochen@scram.de \
--cc=linux-wireless@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).