wil6210: support set_multicast_to_unicast cfg80211 operation
authorAhmad Masri <amasri@codeaurora.org>
Wed, 18 Dec 2019 18:10:21 +0000 (20:10 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 19 Dec 2019 16:16:42 +0000 (18:16 +0200)
commit5e5f069c30ccdbc09bd548858ee75d0487e74490
tree659cae3fd3223bc92a4dce001a2ef128e0e5c582
parent18beb61d848d267371a769114d90bd1be6239eda
wil6210: support set_multicast_to_unicast cfg80211 operation

Wil6210 AP has a separate ring for transmitting multicast packets,
multicast packets are transmitted without an ack from the receiver side.
Therefore, 802.11 spec defines some low MCS rates for multicat packets.
However, there is no guarantee that these packets were really received
and handled on the client side.

Some applications that rely on multicast packets, may prefer to
transmit these packets as a unicast to ensure reliability, and also
to ensure better performance with high MCS rates.
multicast to unicast is done by duplicating multicast packets to all
clients and changing the DA (multicast) to the MAC address of the
client.
see NL80211_CMD_SET_MULTICAST_TO_UNICAST for more info.

Signed-off-by: Ahmad Masri <amasri@codeaurora.org>
Signed-off-by: Maya Erez <merez@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/ath/wil6210/cfg80211.c
drivers/net/wireless/ath/wil6210/txrx.c
drivers/net/wireless/ath/wil6210/wil6210.h