ref: 2088f8c991de090e8b9e75ecbd416c98a511b214
parent: d682a6cb38b68c6c1a4671bb59b4e1136857b217
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);