Skip to content

Is there any way to setup routing on usrsctp API level when we use multi-homing? (Windows) #736

@solardatov

Description

@solardatov

Hello guys,

I am trying to get multi-homing working on Windows OS. Basically, I create a sctp socket having two IP addresses from two different networks ports assigned. In order to do this, I use usrsctp_bindx to bind socket to two IP addresses (c0a8bb03, c0a8aa03), and usrsctp_connectx with two peer IP addresses (c0a8bb40, c0a8aa40).
CMT is enabled by usrsctp_sysctl_set_sctp_cmt_on_off(1);
By some reasons I don't see HEARTBEATS to the second IP, Also I noticed usrsctp is trying to send some packets to the peer IP using incorrect local IP, e.g. I see the following in the debug log
[S][11.131] Calling ipv4 output routine from low level src addr:c0a8aa03
[S][11.131] Destination is c0a8bb40

The third octet is different, but should be the same, so we have to send from c0a8bb03 to c0a8bb40, but usrsctp is trying to send from c0a8aa03 to c0a8bb40.
It looks like the internal usrsctp routing can't figure out the correct local IP to send the packet and sounds like the root cause why I don't see HEARTBEATS to the second IP.

Is there anything special I could do on the usrsctp API level to get multi-homing working on Windows? Maybe I could somehow force usrsctp to just rely on Windows routing table?

Thanks in advance!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions