While porting to Solaris 10 we have encountered one issue with Solaris 10 SCTP. 
We have seen than SCTP doesn't return comm lost to application in case remote 
end system is restarted.

Following is the scenario description:

192.168.1.80 is Solaris 10 machine with SCTP application running in CLIENT 
mode. 192.168.1.225 is remote node with SCTP application running in SERVER mode.
Start both applications and wait till association is established. Reboot 
192.168.1.225.

Initially 192.168.1.80 will inform application about comm-lost. 
Application makes connection request. 
SCTP sends init request to remote system which is currently restarting and 
hence there will be no response to this init. 
Now SCTP is supposed to keep trying INIT request for some time and eventually 
inform application about comm-lost or connect attempt failure. 
But neither it tries multiple times nor it sends any event to application.

We are attaching ethereal traces for the scenario.

We have tried different related cases. In most cases the SCTP behavior is 
proper. e.g. if remote system is in power off state from the begining it self 
then sctp keeps trying init multiple times.

So the case which we have described above is very specific.

Some notes about application:

Our application has registered event handle to receive all events from sctp. It 
uses explicit connect request to setup association.
It is not relying on send request to setup association implicitly. It sends 
connect request as soon as it receives comm lost/comm error kind of events from 
sctp. Heartbeat interval has been set to 1 second with maximum retry count to 3.
 
 
This message posted from opensolaris.org

Attachment: system-restart.cap
Description: Binary data

_______________________________________________
networking-discuss mailing list
[email protected]

Reply via email to