Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SCTP-multihoming server, INIT ACK does not contain IPv4 addresses #130

Open
killdashnine opened this issue Jan 22, 2018 · 2 comments
Open

Comments

@killdashnine
Copy link

killdashnine commented Jan 22, 2018

When running jdiameter as a server with two address:

<LocalPeer>
                ...
                <IPAddresses>
                        <IPAddress value="1.2.3.4" />
                        <IPAddress value="5.6.7.8" /> 
                </IPAddresses>
                ....
</LocalPeer>

Peer (2.3.4.5/6.7.8.9) sends INIT to 1.2.3.4 with:
IPv4 address parameter 2.3.4.5.
IPv4 address parameter 6.7.8.9

Server (jdiameter 1.2.3.4/5.6.7.8) responds with INIT ACK with NO IPv4 address parameters, although:

 ENDPT     SOCK   STY SST HBKT LPORT   UID INODE LADDRS
ffff8800d8bbd900 ffff8800da973800 2   10  63   3868      0 51257 2.3.4.5 
ffff8800d8936200 ffff8800da8c2b40 2   10  63   3868      0 51254 6.7.8.9

When checking the logs jdiameter is running two separate server sockets for those IPs as matches above, instead of adding the 6.7.8.9 as a secondary address....

When running freeDiameter:
ffff88011a3ab000 ffff8800d9e3d080 2 1 3 36 4 0 0 0 12811 3868 49128 1.2.3.4 5.6.7.8 <-> *2.3.4.5 6.7.8.9 1500 8 8 4 0 0 21 1 0 212992 212992
So JDiameter is not binding the address to the same socket to give true multi-homing

@gsaslis
Copy link
Contributor

gsaslis commented Jan 24, 2018

Hi @killdashnine,

Thanks for raising the issue. It seems related to #25 .

It sounds like you have a good understanding of the issue - would you like to have a go at contributing this as a feature?

Please let me know so I can put you in touch with someone from the JDiameter maintainers. ;)

@killdashnine
Copy link
Author

Hi, would you still accept a pull request for this? Just fixed the SCTP client part, still need to fix the network guard type.

So with my current patches I am able to create a connection to say a DRA with INIT containing multiple IPs and HB REQ/ACK work between primary and secondary IPs as expected.

I am expecting the network guard type (so for server sockets) to be a similar patch as the client, once that is covered too #25 will be fixed too completely.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants