TCP flow controll question

Eric Norum eric.norum at
Mon Dec 18 14:45:40 UTC 2000

"Alexander D. Tarkhov" wrote:
> Hello, rtems society,
> We use RTEMS 4.0.0 with mips64orion p4650.
> We have succeded in compiling network support for our bsp,
> but there seems to be a problem somewhere.
> Sometimes in some projects mbuf clusters are filled up critically
> due to some errors :)
> In our case it implyes "rtems panic" as a consequence.
> The simplest solution is to increase the initial amount of mbuf memory.
> >From that point my question arises:
> In our partiqular case we deal with a faulty Data Link Layer (non
> ethernet),
> so that it may take several retries to transmit a TCP packet.
> IP stack allows us to call send() as many times as we want, not
> bothering
> wether previous data are really away or not. As a result we get all our
> great amount
> of mbuf memory filled and return to our good-old "rtems panic" again.
> Is there any way to know, if data is still in the system?
> Other words: Is there any way to controll the flow of data through a TCP
> socket?

You can set the window size (SO_SNDBUF and SO_RCVBUF socket  options). 
You can also change the limit on the send and receive queue sizes
(ifqmaxlen) when you initialize the network devices.

Eric Norum                                 eric.norum at
Department of Electrical Engineering       Phone: (306) 966-5394
University of Saskatchewan                 FAX:   (306) 966-5407
Saskatoon, Canada.

More information about the users mailing list