From: Peter H. <pet...@al...> - 2008-12-16 13:31:38
|
Hello, I'm trying to trigger SCTP ASSOC CHANGE(SCTP_RESTART) notification on my server application which is using SCTP socket API. Im trying to do that on RHEL 5.1 . The idea is to test the server application whether it correctly handles the reboot of the client machine (those reboots ussualy create new association instead of triggering restart notification thus is not a practical way to test the case). I'm trying to do that by initiating new SCTP association and capturing the INIT and COOKIE_ECHO messages my test client is sending to the server application. Then I simply replay those packets again. So far I've been unable to trigger this restart event notification. 1) identical duplicates: If I replay INIT and COOKIE_ECHO packet unchanged, server replies with INIT_ACK (after INIT) and then COOKIE_ACK (after COOKIE_ECHO) but server application does not receive any notification for existing association. And no new association is created instead. I would expect the yes, no new association is created but that my server would get "restart" notification from the socket API. 2) modified duplicates: If I replay modified INIT (different Initiate tag then first INIT), I get INIT_ACK from server. Then I replay COOKIE_ACK (using value of Initiat tag from INIT_ACK to modify Verification tag in duplicate COOKIE_ECHO. But I get no COOKIE_ACK from the server. And server application gets no notification nor is there any message from the kernel. I would expect ... well, do not know. :) On the other hand, I am able to trigger SCTP ASSOC CHANGE(SCTP_COMM_LOST) by sending ABORT. Additinal information: # modinfo sctp filename: /lib/modules/2.6.18-53.el5/kernel/net/sctp/sctp.ko license: GPL description: Support for the SCTP protocol (RFC2960) author: Linux Kernel SCTP developers <lks...@li...> alias: net-pf-2-proto-132 srcversion: EA347AE19CDDAFFDB5A3CA4 depends: ipv6 vermagic: 2.6.18-53.el5 SMP mod_unload gcc-4.1 module_sig: 883f35047d39e6836e299a424cb51a112843109e2f64fc6bac16274c9c7feb16ea1f6d43374e6c09f669fbf51166c2dd1e3a393c60983d3444134c0 So the question is: How precisely do I trigger SCTP association restart notification in my server application? Or is there some testing tool you use for this (and if so, where can I get it and how to use it)? Btw, I did found this: http://sourceforge.net/mailarchive/message.php?msg_id=4767E7DB.4090203%40hp.com "The system reboots yet again and the third INIT is send with the source port of 32768. In this case, the ports and addresses are the same, so this treated as association restart. In this case, the server will re-initialize and re-use the existing association. This is expected behavior." This should be what I simulate with [1] except that my server application des not get the restart notification from the socket API. Thank you in advance for any feedback. Sincerely Peter -- Peter Hanecak MME Developer | MSD | Alcatel-Lucent Magnetova 11 | Bratislava | Slovak Republic email: pet...@al... phone: +421 (0)2 49264 857 |