git: 9front

Download patch

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