shithub: riscv

Download patch

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);