summaryrefslogtreecommitdiff
path: root/fw/src/fw.c
diff options
context:
space:
mode:
Diffstat (limited to 'fw/src/fw.c')
-rw-r--r--fw/src/fw.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fw/src/fw.c b/fw/src/fw.c
index 8901c2a..6ae38df 100644
--- a/fw/src/fw.c
+++ b/fw/src/fw.c
@@ -378,6 +378,7 @@ flowadd(Pkt *p)
void servenet(char*, char*, char*);
int etheropen(char*, uchar*);
void ethersetaddr(uchar*, uchar*, int);
+int etherforme(uchar*, int);
int etherisarp(uchar*, int);
int etherisip(uchar*, int);
int etherwriteip(uchar*, int, uchar*, int, uchar*);
@@ -1093,6 +1094,8 @@ etherin(void *a)
}
if(debug > 1)
fprint(2, "wire: %d bytes type %.4ux\n", n, (buf[12]<<8)|buf[13]);
+ if(!etherforme(buf, n)) /* the wire's, not ours */
+ continue;
if(etherisarp(buf, n))
continue;
if(!etherisip(buf, n))