Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 07 Aug 2000 00:26:09 -0700
From:      Tom Pavel <pavel@cutlass.networkphysics.com>
To:        gul@gul.kiev.ua
Cc:        Tarik Alj <aljtarik@cholla.inrs-telecom.uquebec.ca>, freebsd-net@FreeBSD.ORG
Subject:   Re: VLAN MTU? 1500? 1504? Why? 
Message-ID:  <200008070726.AAA02758@gto.networkphysics.com>
In-Reply-To: Message from Pavel Gulchouck <gul@gul.kiev.ua>  of "Sun, 06 Aug 2000 15:00:30 %2B0300." <20000806150029.A26345@lucky.carrier.kiev.ua> 

next in thread | previous in thread | raw e-mail | index | archive | help

>>>>> On Sun, 6 Aug 2000, Pavel Gulchouck <gul@gul.kiev.ua> writes:

> And I found one curious feature: if I'm running tcpdump on fxp0,
> all packets passes ok. Without tcpdump they drops. Now I'm thinking
> about run tcpdump as daemon. ;-)

Just a pointer in case you haven't figured this one out yet:

The fxp driver conditionalizes its acceptance of "invalid" ethernet
packets on the promiscuous flag.  Hence, with the interface in
promiscuous mode, you will capture packets with CRC errors (I think),
packets that are too short, and packets that are too long.

    static void
    fxp_init(xsc)
	    void *xsc;
    {
    ...
	    prm = (ifp->if_flags & IFF_PROMISC) ? 1 : 0;
    ...
	    cbp->save_bf =		prm;	/* save bad frames */
    ...
	    /*
	     * Start the config command/DMA.
	     */
	    fxp_scb_wait(sc);
	    CSR_WRITE_4(sc, FXP_CSR_SCB_GENERAL, vtophys(&cbp->cb_status));
	    CSR_WRITE_1(sc, FXP_CSR_SCB_COMMAND, FXP_SCB_COMMAND_CU_START);
	    /* ...and wait for it to complete. */
	    while (!(cbp->cb_status & FXP_CB_STATUS_C));
    ...


It might be nice if the fxp driver exported a way to set these flags
independently (i.e. cbp->save_bf, cbp->rcv_crc_xfer,
cbp->disc_short_rx, and receiving long packets).  I have not studied
the other major ethernet drivers to see how the equivalent thing is
done there.

Obviously, link-layer bridging applications will need to pass (and
interpret) the long encapsulated VLAN packets, but will want to drop
runts and CRC-errors efficiently.


Tom Pavel

Network Physics Inc.
pavel@networkphysics.com / pavel@alum.mit.edu 


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




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