From: Philipp Stanner <stanner@posteo.de>
To: David Laight <David.Laight@ACULAB.COM>,
"'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:09:10 +0000 [thread overview]
Message-ID: <365e312e60de89031d2c816e502f18b4d74b98c7.camel@posteo.de> (raw)
In-Reply-To: <6455bdeb746c4236a1ecc430ba05e707@AcuMS.aculab.com>
Am Samstag, dem 10.02.2024 um 17:03 +0000 schrieb David Laight:
> 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've been told once that using the socket option SO_BINDTODEVICE should
serve the trick, i.e., it should provoke Linux into choosing the picked
device's IP addr as the source IP addr.
I've never tested / verified that, though.
I'm also not sure if it would have other negative consequences, such as
limiting the reachability through non-bound devices.
P.
>
> 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)
next prev parent reply other threads:[~2024-02-10 17:09 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
2024-02-10 17:09 ` Philipp Stanner [this message]
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=365e312e60de89031d2c816e502f18b4d74b98c7.camel@posteo.de \
--to=stanner@posteo.de \
--cc=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.