Non-standard WDS format causes problems with non-WDS packets
Mon Apr 21 17:24:01 PDT 2003
I have a Prism 2.5 (STA 1.5.6) PCI card in master mode. One from its clients
is a hardware AP from Edimax (Atmel chipset) with one Ethernet (wired) port.
hostap (AP) <--wireless-- Edimax (client (AP)) <--wired-- PCs
All packets originated from computers connected to the wired side of Edimax
are sent as stadndard-compliant 4 adress WDS frames (both FromDS and ToDS
bits set). _But_ packets generated in the Edimax itself (it has a simple
IP stack, ie you can ping it) are sent as common client packets (no 4th
address information, only ToDS set). If I register Edimax's MAC as an WDS
link, the function hostap_rx_frame_wds() recognizes theese packets as having
non-standard WDS format (only ToDS set and address 2 in list of known WDSs),
later in hostap_rx_skb() it is processed this way (last 6 bytes of payload
treated as Ethernet source address).
I am not sure whether the hostap_rx_frame_wds() can be improved to distinguish
between non-standard WDS frames and non-WDS frames. (I've read the IEEE 802.11
only party, I am sure at least Jouni can answer it more easily). If it can,
please tell me the difference between them. A second solution would be to
optionally disable recognition of non-standard WDS frames, could be done as an
additional bit position in "prism2_param wds_type". I could do it, if you want.
More information about the Hostap