we are testing SCTP multihomed client and server, below is the information about IP address of client & Server.
Client: 10.58.160.187 /10.58.161.178 --> bind is used to add IP address 10.58.160.187 and sctp_bindx is used to add 10.58.161.178
Server: 10.58.160.98 / 10.58.163.195 --> bind is used to add IP address 10.58.160.98 and sctp_bindx is used to add 10.58.163.195
on the client machine the ethernet port for 10.58.161.178 is shut down.
Now we tried to establish SCTP association between client and server, below is the summary of snoop taken from client side:
INIT is triggered from 10.58.160.187 to 10.58.160.98
INIT-ACK is sent from 10.58.160.98 to 10.58.160.187 (it contains 10.58.163.195 after that 10.58.160.98)
COOKIE ECHO is sent from 10.58.160.187 to 10.58.160.98
COOKIE ACK is sent from 10.58.163.195 to 10.58.160.187 (from now server is sending data using 10.58.163.195 & client is sending data to 10.58.160.98 )
application data from 10.58.160.187 to 10.58.160.98
SACK to app data from 10.58.163.195 to 10.58.160.187
application data from 10.58.163.195 to 10.58.160.187
re-transmitted application data from 10.58.163.195 to 10.58.160.187
again re-transmitted application data from 10.58.163.195 to 10.58.160.187
application data from client 10.58.160.187 to 10.58.160.98
SACK & re-transmitted application data from 10.58.163.195 to 10.58.160.187.
ABORT from 10.58.160.98 to 10.58.160.187 (this is happening after 12 sec from INIT Chunk)
Below are the observations from snoop:
1) SACK is not sent from Client to server for the data transmitted by server.
2) Server is using different IP( 10.58.163.195) to transmit data which is different from the one used to receive data(10.58.160.98)
3) Server sent ABORT (may be due to lack of SACK from client).
could some one help me to identify the issue? please let me know if you need further information.
BTW if we bring back the ethernet port on client, the association is working well (i,e it is not terminated with ABORT & only terminated with application close on the socket).