Add Multipath TCP (MPTCP) Support to the Java Networking API

Geliang Tang geliang at kernel.org
Tue Sep 23 09:55:15 UTC 2025


Hi Alan,

Thanks for your reply.

On Thu, 2025-09-18 at 12:30 +0100, Alan Bateman wrote:
>  
> On 18/09/2025 08:36, Geliang Tang wrote:
>  
> >  
> > I have completed the implementation. Thanks to Xiang Gao and Gang
> > Yan
> > for their help. I added a new option named TCP_MPTCPIFY in
> > jdk.net.ExtendedSocketOptions (the name was chosen to align with
> > 'mptcpize' tool in mptcpd and 'mptcpify' in BCC). When this option
> > is
> > set, it calls the JNI function mptcpify0.
> > 
> > Following your suggestion, mptcpify0 is implemented by referencing
> > Java_sun_net_sdp_SdpSupport_convert0. It creates a new MPTCP
> > socket,
> > uses dup2 to duplicate it, and then closes the redundant socket.
> > 
> > I have added your tag in the patch:
> > 
> > Suggested-by: Alan Bateman <alan.bateman at oracle.com>
> > 
> > I also included a test example for this option. All modifications
> > can
> > be found here:
> > 
> > https://github.com/openjdk/jdk/compare/master...geliangtang:jdk:master
> > 
> > Please provide any feedback or suggestions. As for the next steps,
> > should I create a new issue for this feature and submit a proper
> > pull
> > request?
> >  
>  
>  Thanks for confirming that the direction suggested works. This at
> least demonstrates a feasible direction that does not impact the
> standard API.
>  
>  As regards next steps then I think start a thread on net-dev to try
> to get input. I think it would be useful to show potential scenarios
> where it would be useful and what performance benefits might come
> from it. I think also useful to talk about whether this is something
> that an application has to opt into, maybe there are other
> configuration approaches that would not require application changes?
>  
>  I think it would be useful to discuss testing. If this feature were
> integrated into the JDK then how would it be tested? Who would test
> and maintain it? There is a JDK release every 6 months, is someone
> going test it with each release?
>  
>  If it goes ahead then there the name of the extended socket option
> and its API docs will need discussion. Details around state will need
> to be specified, would it be supported to set TCP_MPTCP when bound or
> connected, does it make sense to ever attempt to set it to false
> after setting it to true (these are just examples of the details that
> will need to be specified, they are not important right now).

Following your suggestion, I have started a new thread on net-dev:

Add Extended MPTCP (Multipath TCP) Socket Option Support to OpenJDK
https://mail.openjdk.org/pipermail/net-dev/2025-September/028085.html

Thanks,
-Geliang

>  
>  -Alan.
>  
>  


More information about the net-dev mailing list