NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/34799: IP Filter does not work correctly with gem(4) when hardware chec



The following reply was made to PR kern/34799; it has been noted by GNATS.

From: Julian Coleman <jdc%coris.org.uk@localhost>
To: gnats-admin%NetBSD.org@localhost, dhgutteridge%sympatico.ca@localhost
Cc: 
Subject: Re: kern/34799: IP Filter does not work correctly with gem(4) when 
hardware chec
Date: Tue, 1 Jan 2008 15:16:25 +0000

 Hi,
 
 > I'm close to getting my fibre card working, so I'll see if I can reproduce
 > and/or spot the problem here.
 
 I have working gem interfaces, but I'm unable to reproduce the problem here.
 Looking at the documentation, we have to pre-program the offset at which the
 card starts generating the TCP checksum.  We set this to:
 
         v |= (ETHER_HDR_LEN + sizeof(struct ip) +
               ((sc->sc_ethercom.ec_capenable & ETHERCAP_VLAN_MTU) ?
                 ETHER_VLAN_ENCAP_LEN : 0)) << GEM_RX_CONFIG_CXM_START_SHFT;
 
 in gem_init().  So, if you have a vlan configured on that interface and
 the packet is received directly on the interface, then the pre-programmed
 receive checksum will be incorrect.  Is this the case here?
 
 Could you send a dump of the received packet that is blocked?  Using:
 
   tcpdump -vv -s 1514 -x -X -c 1 host www.google.ca and src port 80
 
 should catch just the return packet (from `telnet www.google.ca 80`).
 
 > I can duplicate this with with HEAD sources (4.99.42) as well.
 
 Yes.  There isn't much change in the driver between 4.0 and HEAD.
 
 Thanks,
 
 J
 
 -- 
   My other computer also runs NetBSD    /        Sailing at Newbiggin
         http://www.netbsd.org/        /   http://www.newbigginsailingclub.org/
 



Home | Main Index | Thread Index | Old Index