TDLS Question, regarding sending out management frames

Kalyan Gaddam Kalyan.Gaddam
Tue Jun 14 10:37:21 PDT 2011


    I am implementing TDLS support in driver_nl80211 and I have a design
question, implementing tdls_send_mgmt to the l2 layer to be sent out on
the network, and was wondering if there are any suggestions. Considering
in tdls.c, we already register l2 socket via l2_packet_init to
sm->l2_tdls (struct wpa_sm), to receive tdls packets and leave sending
the tdls frame to the driver. If the driver were to send out a tdls
management frame to lower layer what are my options? 


We cannot directly send out a tdls frame from the driver since we do not
have a l2_packet_data socket to send it via "l2_packet_send" function. I
thought about registering a new l2_packet_data socket via
l2_packet_init, however we already registered to receive tdls frames
(callbacks) in tdls.c file in the supplicant. Re-registering to
receive/send packets would turn out to be redundant and unpredictable. I
thought about these 3 ways to go about writing code. Please offer other
suggestions or comments.


1)       Use NL80211 new CMD instead of ABI.

2)       Pass l2_packet_data socket which is already defined in
wpa_tdls_init function of tdls.c as a function argument to

3)       Move TDLS management frame handling to src/rsn_supp/tdls.c and
use l2_tdls directly to send frames.


I guess the question comes out to be, should the driver handle
creation/sending of the tdls frames or does the supplicant handle that.
If it's going to be shared duties between the two then prefer sharing
(passing) the initialized socket to the driver. We also need to think
about people implementing tdls in other drivers. Please let me know the
best way to go about it. Thank you,


- Kalyan


DSP Group, Inc. automatically scans all emails and attachments using MessageLabs Email Security System.
-------------- next part --------------
An HTML attachment was scrubbed...

More information about the Hostap mailing list