Subject: RiscPC ethernet yet again
To: None <port-arm32@netbsd.org>
From: Stephen Borrill <netbsd@precedence.co.uk>
List: port-arm32
Date: 12/14/1999 10:46:17
Matthias Scheler has committed a small change that goes some way to fixing
the problems with the eb0 driver (see PR-8527). A very similar tweak can be
used on the ea driver as well. To recap, since the 18th May the drivers for
the EtherB and EtherIII have not allowed any inwards packets to proceed
up through the stack. The fix substantially allows this work. However,
problems still exist when using ipf.

For instance, on my network I am using 192.168.1.x with a 24-bit netmask.
The following rules should work fine:

block in all
pass in from 192.168.1.0/24 to any
pass in on lo0 all
pass out all

This has been tried with an EtherN (ne0), EtherM (ne0), EtherI (ie0),
de0 (on CATS), EtherB (eb0) and EtherIII (ea0) on 1.3 and -current kernels
(on both arm32 and i386). The only situation that fails is eb0 or ea0 when 
used on a -current kernel. Altering the second line to the following gets
everything working:

pass in from 192.168.0.0/16 to any

As I'm using a 255.255.255.0 netmask throughout, this shouldn't be the
case.

I've compared if_eb.c with if_ie.c and dp8390.c, but I can't see any
obvious discrepancies.

I'll submit another PR I guess, but I can't help feeling it's all linked in
together.

-- 
Dr. Stephen Borrill