ref: b511f769ac74ab4aa36b1241eae64a1a172786b6
parent: c87985351de88a5e8c8abbd3d9b7879505f4c712
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Fri Jan 12 03:01:15 EST 2018
wifi: filter out loopback traffic from myself broadcast traffic was received back on the wire causing duplicate address detection to break with dmat proy as the rewritten broadcasts where observable. the fix is to just ignore packets from ourselfs received from the air. devether already handles loopback.
--- a/sys/src/9/pc/wifi.c
+++ b/sys/src/9/pc/wifi.c
@@ -100,6 +100,8 @@
hdrlen = wifihdrlen(w);
if(BLEN(b) < hdrlen)
goto drop;
+ if(memcmp(srcaddr(w), wifi->ether->ea, Eaddrlen) == 0)
+ goto drop;
if(w->fc[1] & 0x40){/* encrypted */
qpass(wifi->iq, b);
--
⑨