Hi Willy,
On 14.10.24 21:59, Willy Tarreau wrote:
I would also not write that "MPTCP is usually used on the
frontend". My first productive use case requires mptcp on both the frontend
and the backend side, this isn't an unusual use case at all.
Interesting. Do you have an example of use case that we could use to
better explain in the doc (users often need to recognize what they're
trying to do).
getting any long-running TCP connection in an as-stable-as-possible way
from one location to another with network-redundancy. In my case it's a
radio broadcast stream at a location but with 2 redundant small internet
connections. That TCP stream is being proxied to a hoster with a high
bandwidth connection, from where it is being delivered to listeners
then. So haproxy on the one site will serve the audio stream with mptcp
enabled at the frontend; and at the hoster there is a haproxy which
pulls the audio stream with mptcp at the backend accordingly. This way
one of the internet connections at the radio station can have
interruptions without the TCP connection (the audio stream) experiencing
any interruption.
I assume there a plenty of use cases similar to this, where one haproxy
is talking with another haproxy with mptcp to eliminate network glitches.
What confuses me about that mptcp backend example is also the server address
[::], This looks more like a listening address; here should probably be
something like "some-mptcp-enabled-server.example.com" be used, right?
Hmmm possibly, I'd need to have a look. Another possibility is that it's
being used in transparent mode, but I don't like mixing multiple features
in the same example, they make things way more complicated for the reader.
yes, transparent mode in this example is really confusing :)
Last but not least, the current haproxy 3.1-dev9 changelog doesn't mention
mptcp at all, shouldn't this be mentioned here?
It appears in it, the (since) commit is listed there under 3.1-dev7:
- MEDIUM: protocol: add MPTCP per address support
right, I didn't look at the generic 3.1 changelog, just at the -dev9
changes, found it now at the right place!
Thank you
Björn