Subject: Re: excessive promiscuity in i82557/fxp driver?
To: None <dg@root.com>
From: Christian E. Hopps <chopps@merit.edu>
List: tech-net
Date: 06/27/1999 17:12:42
David Greenman <dg@root.com> writes:
> >So, last night in another forum chopps reported seeing obviously
> >trashed packets coming in his fxp interface when he ran tcpdump.
> >
> >I no longer have the log lying around, but the bogus packets had their
> >tail overwritten by a sequence of 0x55's, and were shorter than the
> >minimum legal ethernet frame size. My guess is that these were broken
> >"runt" packets which had been stepped on by collisions..
> >
> >Now, looking through the driver code, I note the following in fxp_init();
> >
> > cbp->save_bf = prm; /* save bad frames */
> > cbp->disc_short_rx = !prm; /* discard short packets */
> >
> >"prm" is 1 if the device is being put into promiscuous mode, 0
> >otherwise. Is there any particularly good reason to do this sort of
> >thing by default? (i.e., does promiscuous mode lose valid frames on
> >the fxp unless you also tell the chip to receive broken frames and
> >runts?)
>
> The idea is that promiscuous mode is often used to diagnose network
> problems, and thus should allow certain types of shouldn't-happen packets
> through (such as too small).
> The 0x55 is the automatic padding byte that the interface adds to fill
> out a frame, so nothing mysterious there.
Yes, but tcpdump is also used for many things besides that and its
pretty annoying to have these bad frames interleaved between valid
ones.
Of the machines/arch's/drivers I tested only fxp did this bizarreness.
Why not use a link flag for this specific application?
Chris.