Re: SCTP client discarding INIT_ACK sent with different remote IP address from multihomed SCTP server

Pau Espin Pedrol <[email protected]>
Newsgroups org.kernel.vger.linux-sctp
Message-ID <[email protected]>
Hi,

On 12/2/25 15:12, Andreas Fink wrote:
> Is your listener calling sctp_bindx with the IP 127.0.0.2 ?

It's definitely binding to both IP addresses, as per mentioned command 
"sctp_darn -P 2905 -H 127.0.0.2 -B 127.0.0.1 -l"

It can also be confirmed with:
$ cat /proc/net/sctp/eps
  ENDPT     SOCK   STY SST HBKT LPORT   UID INODE LADDRS
be6c2da8 2ccfcb87 0   10  4    2905   1000 86911 127.0.0.2 127.0.0.1

$ strace -ff sctp_darn -P 2905 -H 127.0.0.2 -B 127.0.0.1 -l  2>&1 | grep 
-e socket -e bind -e sockopt -e listen -e accept
socket(AF_INET, SOCK_SEQPACKET, IPPROTO_SCTP) = 3
setsockopt(3, SOL_SCTP, SCTP_EVENTS, "\1\1\0\0\0\0\0\0\0\0\0\0\0\0", 14) = 0
bind(3, {sa_family=AF_INET, sin_port=htons(2905), 
sin_addr=inet_addr("127.0.0.2")}, 16) = 0
setsockopt(3, SOL_SCTP, SCTP_SOCKOPT_BINDX_ADD, 
"\2\0\vY\177\0\0\1\0\0\0\0\0\0\0\0", 16) = 0
listen(3, 5)                            = 0


Possible problems I see with the failing scenario:
* linux kernel SCTP server stack should send INIT_ACK using src IP addr 
of INIT it is answering too
* linux kernel SCTP client stack should accept and process INIT_ACK 
received from a different src IP addr it sent the INIT to (how much to 
constrain this needs to be identified too).

-- 
- Pau Espin Pedrol <[email protected]>         http://www.sysmocom.de/
=======================================================================
* sysmocom - systems for mobile communications GmbH
* Siemensstr. 26a
* 10551 Berlin, Germany
* Sitz / Registered office: Berlin, HRB 134158 B
* Geschaeftsfuehrer / Managing Director: Harald Welte
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.