Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Feb 2002 21:57:02 -0800
From:      "George V. Neville-Neil" <gnn@neville-neil.com>
To:        Bob Bishop <rb@gid.co.uk>
Cc:        Doug Ambrisko <ambrisko@ambrisko.com>, hackers@FreeBSD.ORG
Subject:   Re: Multicast problem with sis interface? 
Message-ID:  <200203010557.VAA1802420@meer.meer.net>
In-Reply-To: Message from Bob Bishop <rb@gid.co.uk>  of "Fri, 22 Feb 2002 17:05:41 GMT." <4.3.2.7.2.20020222165515.00c14850@gid.co.uk> 

next in thread | previous in thread | raw e-mail | index | archive | help
> At 13:10 19/02/02 -0800, Doug Ambrisko wrote:
> >Bob Bishop writes:
> >| No dice with last night's -STABLE. And it's definitely the interface, I've
> >| tried a variety and netatalk works with everything (including the dreaded
> >| Via Rhine) except for the onboard sis0.
> >|
> >| I suppose it's time for some comparative tcpdumping...
> >
> >Pity that would have been an easy fix.  Doing tcpdump should help.
> >I like Ethereal so I can drill down a little easier.
> 
> This is what tcpdump (on a disinterested machine) sees:
> 
> sis - fails:
> 
> 20:53:43.423585 255.0.158.nis > 0.0.nis: nbp-lkup 1: "=:=@*"
> [addr=255.0.158.128]
>                           aaaa 0308 0007 809b 001a 8369 0000 ff00
>                           ff9e 0202 0221 01ff 009e 8000 013d 013d
>                           012a ffff ffff ffff ffff ffff ffff
> 
> vr - works:
> 
> 20:54:55.022827 255.0.158.nis > 0.0.nis: nbp-lkup 1: "=:=@*"
> [addr=255.0.158.128]
>                           aaaa 0308 0007 809b 001a 8369 0000 ff00
>                           ff9e 0202 0221 01ff 009e 8000 013d 013d
>                           012a 0050 baec bd66 00ff 009e 0000
> 
> Those trailing 1's look suspicious to me. The NBP lookup packet is only 48 
> bytes, so needs padding to the ethernet minimum 60 on the wire. I suspect 
> this isn't happening on the sis. The packets are otherwise well-formed (and 
> the ethernet headers (not shown above) are correct).

No need.  The problem seems to be that at least the National Semi
version of the chip does have "Auto Padding" which pads runt packets
out to the necessary 60 bytes for Ethernet but that the padding is 
1s and not 0s.  I seem to remember that according to the Ethernet
spec the pad bytes should be 0 but don't quote me.

I figured that Auto Padding was not on, but actually it is by default in the
driver.  

You can easily reproduce this bug by doing a 

ping -s 1 224.0.0.1

on the machine with the sis device.

To fix this someone would have to modify sis_encap to pad
to the minimum 60 bytes by hand.  I'll take a crack at that now.

Later,
George

-- 
George V. Neville-Neil                                  gnn@neville-neil.com
NIC:GN82 

"Those who would trade liberty for temporary security deserve neither" 
						- Benjamin Franklin



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200203010557.VAA1802420>