Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 9 May 2000 18:35:48 +0800
From:      Tan Koan-Sin <freedom@csie.nctu.edu.tw>
To:        Theo PAGTZIS <T.Pagtzis@cs.ucl.ac.uk>
Cc:        freebsd-net@freebsd.org
Subject:   Re: Question on Tx queueing internals
Message-ID:  <20000509183548.A19208@ccserv.csie.nctu.edu.tw>
In-Reply-To: <3917DF55.9ABD99AD@cs.ucl.ac.uk>; from T.Pagtzis@cs.ucl.ac.uk on Tue, May 09, 2000 at 10:50:14AM %2B0100
References:  <3917DF55.9ABD99AD@cs.ucl.ac.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, May 09, 2000 at 10:50:14AM +0100, Theo PAGTZIS wrote:
> I am told that on the network card there is a Tx and Rx buffer....
> Is the output queue of an interface driver the same thing as a transmit
> buffer on the actual network card or are they two different things...ie
> when the ip_output passes the packet to the if_output function of the
> Ether interface, the if_output will add the Ether header and then put it
> on the output queue (if_snd). Is this output queue (the driver's output
> queue ) the same as what one call the Tx/Rx buffer on the network card
> or are is it a different one?

They are different. The if_snd is a mbuf linked list in main memory. 
The Tx/Rx buffers are on the card. Take the Intel 82559 (fxp) on
FreeBSD as a example, the Tx and Rx buffer on the network card are
separate 3K FIFOs.

> Also is the Tx buffer a different piece of memory than the Rx buffer on
> the Ethernet card. I am asking that trying to understand whethe Tx and
> Rx share a single buffer on the card so that Tx buffer could starv Rx
> buffering...

It depends the card you use. You must find the data sheet of the
chips used on your card.

-- 


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?20000509183548.A19208>