proxyarp: Try multicast-to-unicast conversion only for authorized STAs

There is no point in trying to send the unicast converted version to a
STA that is not in authorized state since the driver would be expected
to drop normal TX Data frames in such state.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
Jouni Malinen 2014-11-28 18:36:40 +02:00 committed by Jouni Malinen
parent 67aeee118a
commit df131d4597
2 changed files with 6 additions and 1 deletions

View file

@ -130,9 +130,12 @@ static void handle_dhcp(void *ctx, const u8 *src_addr, const u8 *buf,
}
if (hapd->conf->disable_dgaf && is_broadcast_ether_addr(buf)) {
for (sta = hapd->sta_list; sta; sta = sta->next)
for (sta = hapd->sta_list; sta; sta = sta->next) {
if (!(sta->flags & WLAN_STA_AUTHORIZED))
continue;
x_snoop_mcast_to_ucast_convert_send(hapd, sta,
(u8 *) buf, len);
}
}
}

View file

@ -136,6 +136,8 @@ static void handle_ndisc(void *ctx, const u8 *src_addr, const u8 *buf,
/* fall through */
case NEIGHBOR_ADVERTISEMENT:
for (sta = hapd->sta_list; sta; sta = sta->next) {
if (!(sta->flags & WLAN_STA_AUTHORIZED))
continue;
x_snoop_mcast_to_ucast_convert_send(hapd, sta,
(u8 *) buf, len);
}