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