I came up with this small patch. Not so sure if it's the best way to do it but it works for our use cases.
commit b6441caa22f2cc2f76c141cd3998715893c603d6 Author: Francois Gervais <[email protected]> Date: Thu Apr 23 11:07:24 2015 -0400 Frame duplicate fix candidate diff --git a/net/mac80211/rx.c b//net/mac80211/rx.c index 441a34d..8f844ca 100755 --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c @@ -3184,6 +3184,9 @@ static bool prepare_for_handlers(struct ieee80211_rx_data *rx, case NL80211_IFTYPE_MESH_POINT: if (!multicast && !ether_addr_equal(sdata->vif.addr, hdr->addr1)) { + /* This is our frame but sent to a hop, drop it */ + if (ether_addr_equal(sdata->vif.addr, hdr->addr3)) + return false; if (!(sdata->dev->flags & IFF_PROMISC)) return false; François Gervais Firmware Designer _______________________________________________ Devel mailing list [email protected] http://lists.open80211s.org/cgi-bin/mailman/listinfo/devel
