All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Laight <David.Laight@ACULAB.COM>
To: "'o.evistel@free.fr'" <o.evistel@free.fr>,
	Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Cc: linux-sctp <linux-sctp@vger.kernel.org>,
	'Andreas Fink' <afink@list.fink.org>
Subject: RE: Linux SCTP multihoming question
Date: Sat, 10 Feb 2024 17:03:04 +0000	[thread overview]
Message-ID: <6455bdeb746c4236a1ecc430ba05e707@AcuMS.aculab.com> (raw)
In-Reply-To: <1024792113.114715673.1707473146836.JavaMail.zimbra@free.fr>

From: o.evistel@free.fr
> 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)

  parent reply	other threads:[~2024-02-10 17:03 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <6f6f11b5c30bce3d6e77d719ef75112dee75250d.profile@marceloleitner.u.sourceforge.net>
2022-07-07 13:39 ` Linux SCTP associations failure handlig Marcelo Ricardo Leitner
2022-07-08 14:46   ` o.evistel
2022-07-13 12:58   ` Linux SCTP performance question o.evistel
2022-07-15 18:48     ` Marcelo Ricardo Leitner
2022-07-18 11:54       ` o.evistel
2022-07-16 12:13     ` David Laight
2022-07-18 14:09       ` o.evistel
2022-07-18 14:44         ` David Laight
2022-07-18 14:46         ` David Laight
2024-02-09 10:05     ` Linux SCTP multihoming question o.evistel
2024-02-09 10:10       ` Andreas Fink
2024-02-09 11:01         ` o.evistel
     [not found]           ` <483A5123-AA38-48EC-8158-120DFFC1E5D8@list.fink.org>
2024-02-09 12:03             ` o.evistel
2024-02-10 17:03       ` David Laight [this message]
2024-02-10 17:09         ` Philipp Stanner
2024-02-10 17:34           ` David Laight
2024-02-10 17:48             ` Philipp Stanner
2024-02-10 18:02               ` David Laight
2024-02-10 18:37                 ` Philipp Stanner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6455bdeb746c4236a1ecc430ba05e707@AcuMS.aculab.com \
    --to=david.laight@aculab.com \
    --cc=afink@list.fink.org \
    --cc=linux-sctp@vger.kernel.org \
    --cc=marcelo.leitner@gmail.com \
    --cc=o.evistel@free.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.