RE: Linux SCTP multihoming question

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: o.evistel@xxxxxxx
> Sent: 09 February 2024 10:06
> 
> I am using linux-sctp as transport for SIGTRAN M3UA on RHEL 8.4 with
> multihoming (sctp_bindx(), sctp_connectx() API functions).
> I would like to know, after association setup, if it is possible to
> instruct SCTP to use a specific local address from the list of bound
> addresses to reach the peer.

Unlikely in the extreme.

If there are 'n' bound local addresses and 'm' remote addresses
(IIRC from the INIT_ACK - but they come from the far end) then
Linux only verifies a route to each local address and picks an
appropriate local address for each one.
So it only sends heartbeats to 'm' addresses, not on 'n * m'
address pairs.

So if anything of this nature did exist it would limit the
remote addresses used, not the local ones.

I think you'll also find that specifying multiple address with
sctp_connectx() only affects where the initial INIT is sent to
(I suspect the addresses get tried in turn).
Once the connection is established the addresses received from
the remote system are almost certainly used instead.

We don't use connectx(), just try a list of addresses in sequence.
This can then contain the addresses of alternate systems as well
and alternate addresses for a single system.

If does have to be said that M3UA works a lot better over TCP!
As well as being a far lighter protocol it is much easier to
get multiple M3UA messages into a single ethernet frame with TCP.

If you've got 10 messages to send, you can use a single send()
to send them (etc). A single recv() can read lots of pending
message and you can cheaply debatch them in userspace.

This all starts mattering when you are trying to send 10000
SMS every second (we don't know what they are sending...)

	David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)




[Index of Archives]     [Linux Networking Development]     [Linux OMAP]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     SCTP

  Powered by Linux