SCTP Discussions

Text archives Help


[SCTP-Discussion] multihoming problem


Chronological Thread 
  • From: Prasanth Pillai <prasanth1103 AT gmail.com>
  • To: sctp-discussion AT sctp.de
  • Cc: vinod.singh.ext AT nsn.com
  • Subject: [SCTP-Discussion] multihoming problem
  • Date: Wed, 18 Aug 2010 18:29:24 +0530
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:cc:content-type; b=HOUcvwvCi9arvLup43AmdrWMxVvcGyGSWDajJ/cOvpg9IPGYxeYmlgBqXcSUu+lLCI vrUnPfClGgNyLoxZ1ykwyGWxFbi9xrvV/WxZctiqNyqVOFWlnWxU/jFa0TLtAHsKZzQw wkiHm5piGvfzNE7H+KYG2J8U9CzWv6cWwja3w=
  • List-archive: <http://lists.franken.de/pipermail/sctp-discussion>
  • List-id: SCTP Discussions <sctp-discussion.sctp.de>

Hi all,
 
I am planning to use multihoming feature in my sctp server. Both my server and client
machines are configured with multiple ip addresses on different interfaces. I am able to
see multiple ip addresses getting passed in init ack through tcpdump. The data flows
fine through one of the interaces, untill the interface goes down (I removed the network
cable manually).  When the interface goes down , the server is not able to receive the
data through the other interface. I am able to see the data coming to the other interface
ip in tcpdump, as soon as the interface is down. But my server is not able to receive it.
 
 server code (system calls only)
socket (AF_INET, SOCK_STREAM, IPPROTO_SCTP)
 
bind(listen_sctp_fd, (struct sockaddr *) &sctpser, sizeof (sctpser)))  // server first interface ip
 
sctp_bindx(listen_sctp_fd, (struct sockaddr *) addresses, count, SCTP_BINDX_ADD_ADDR)) // second interface ip
 
listen(listen_sctp_fd, 5)
 
id = accept(listen_sctp_fd, (struct sockaddr *) &peer_info,  (socklen_t *) & peer_info_len))
 
sctp_recvmsg( client_fd, (void *) buffer, sizeof (buffer), (struct sockaddr *) NULL, 0, &srInfo, &flags))
 
client code (system calls only)
 
socket(AF_INET, SOCK_STREAM, IPPROTO_SCTP);
 
sctp_connectx(sock_fd, (struct sockaddr *) addresses, 2);
 
sctp_sendmsg(sock_fd, (void *) buffer, strlen(buffer) + 1, NULL, 0, 0, 0, 0, 0, 0);
 
Can someone help me, why my code is not working? Is there anything missing in my code?
 
 
Waiting for your valuable comments.
Prasanth
 
 
 



Archive powered by MHonArc 2.6.19+.

Top of page