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



Reply via email to