RTEMS 4.X.X gen68360 Ethernet Tx Reliability

Nick.SIMON at syntegra.bt.co.uk Nick.SIMON at syntegra.bt.co.uk
Tue Feb 8 11:05:16 UTC 2000

I ran into this one last week (as a result of duplicating your test).
man bind(2) says:

                                                        For TCP a
       bound  local  socket  endpoint  (address/port   pair)   is
       unavailable for some time after closing the socket, unless
       the SO_REUSEADDR flag is set. Note that carelessly setting
       SO_REUSEADDR might make TCP more unreliable unless PAWS is
       used (see tcp(4)); the delay is needed to handle old pack­
       ets still in the network.

So there!  tcptest really shouldn't bomb out when bind fails.


-- Nick Simon

> -----Original Message-----
> From: Bob Wisdom [mailto:bobwis at ascweb.co.uk]
> Sent: 04 February 2000 16:42
> To: 'rtems mail-list'
> Subject: RTEMS 4.X.X gen68360 Ethernet Tx Reliability
> Clues and Red Herrings!
> -----------------------------------
> We have discovered that if we negate the code which attempts 
> to skip empty
> MBUFs we can achieve reliable transmission. Obviously, one 
> cannot allow the
> SCC to try and send a zero length buffer, so we implemented a 
> little in-line
> "scatter" function which split the previous SCC TX buffer 
> into two, thus
> filling the TX buffer which would have corresponded to the 
> zero length MBUF.
> Bingo, it all seems to work ok. Anyone got any ideas why? - 
> we have sent
> hundreds of Megabytes using buffer sizes > 1500 which was 
> impossible before,
> it hasn't failed yet.
> Next problem - or maybe ignorance on my part more likely. The 
> netdemo prog
> has a TCP test. You type "t" to start it. We set up our Linux 
> box to act as
> a packet dump on the discard port and we find that we can 
> only run the test
> every couple of minutes. If we try to repeat it too quickly 
> we get an error
> which says "Can't bind to socket". Is this a TCP phenomenon?
> Bob Wisdom
> bobwis at ascweb.co.uk

More information about the users mailing list