Bug 205439

Summary: SCTP responds to heartbeat from the wrong address / interface
Product: Networking Reporter: Paul (paul)
Component: OtherAssignee: Stephen Hemminger (stephen)
Status: NEW ---    
Severity: high CC: vvvelichkov
Priority: P1    
Hardware: Intel   
OS: Linux   
Kernel Version: 4.9.35-server Subsystem:
Regression: No Bisected commit-id:

Description Paul 2019-11-05 11:59:05 UTC
Seems that SCTP responds to heartbeat from the wrong address / interface.

# netstat -nS | fgrep 162.93.39.
sctp       0      0 81.226.10.66:3561     162.93.39.198:3561      ESTABLISHED
                    81.226.10.70          162.93.39.194
sctp       0      0 81.226.10.66:3560     162.93.39.134:3560      ESTABLISHED
                    81.226.10.70          162.93.39.130

Bad:
    3   0.055267 162.93.39.130 → 185.226.110.70 SCTP 74 HEARTBEAT
    4   0.055291 81.226.10.66 → 162.93.39.130 SCTP 74 HEARTBEAT_ACK
    7   0.355746 162.93.39.194 → 185.226.110.70 SCTP 74 HEARTBEAT
    8   0.355758 81.226.10.66 → 162.93.39.194 SCTP 74 HEARTBEAT_ACK

Good:
   13   0.551876 162.93.39.134 → 81.226.10.66 SCTP 74 HEARTBEAT
   14   0.551906 81.226.10.66 → 162.93.39.134 SCTP 74 HEARTBEAT_ACK
   19   0.853376 162.93.39.198 → 81.226.10.66 SCTP 74 HEARTBEAT
   20   0.853388 81.226.10.66 → 162.93.39.198 SCTP 74 HEARTBEAT_ACK


This is multi-homed scenario of SCTP.

Regards,
Comment 1 Vasil Velichkov 2019-11-05 17:39:00 UTC
Hi Paul,

Read the following discussions from the linux-sctp mailing list

- https://marc.info/?t=140395472800001&r=1&w=2 
- https://marc.info/?t=140411873800004&r=1&w=2
- https://marc.info/?t=138535446700001&r=4&w=2

And more specifically these messages

- https://marc.info/?l=linux-sctp&m=140421362218122&w=2
- https://marc.info/?l=linux-sctp&m=140473331531669&w=2

Also consider providing a network topology diagram and the output of the following commands from both client and server.

ip rule show
ip route show table all
route -n

and the following commands from the node with IP 185.226.110.70

ip route get 162.93.39.130 from 185.226.110.70
ip route get 162.93.39.130 from 81.226.10.66