@@ -69,7 +69,7 @@ project.
6969MPTCP endpoints can be manually configured with this command:
7070
7171``` sh
72- ip mptcp endpoint add < IP address> dev < interface> [ signal | subflow ] [ backup ] [ fullmesh ]
72+ ip mptcp endpoint add < IP address> dev < interface> [ signal | subflow ] [ laminar ] [ backup ] [ fullmesh ]
7373```
7474
7575{: .warning}
@@ -86,12 +86,18 @@ One of the following flags needs to be set:
8686 subflow. A client would typically do this.
8787
8888Optionally, the following flags can be added next to one of the previous ones:
89+ - ` laminar ` : (introduced in [ v6.18] ( https://git.kernel.org/torvalds/c/539f6b9de39e ) )
90+ The endpoint will be used to create new subflows from the associated address
91+ to additional addresses announced by the other peer. It is typically used with
92+ the ` subflow ` flag, and this endpoint will only be used in one subflow per
93+ MPTCP connection. A client would typically create endpoints with this
94+ ` laminar ` flag and the ` subflow ` one.
8995- ` backup ` : Subflows created from this endpoint instruct the peers to only send
9096 data on it when all non-backup subflows are unavailable.
9197- ` fullmesh ` : The MPTCP path manager will try to create an additional subflow
9298 for each known peer address, using this endpoint as the source IP address. It
93- is typically used with the ` subflow ` flag, and it is not compatible with the
94- ` signal ` one.
99+ is typically used with the ` subflow ` flag, it is not compatible with the
100+ ` signal ` one, and it takes precedence over the ` laminar ` one .
95101
96102It is also possible to specify a ` port ` number with the ` signal ` endpoints: this
97103will advertise an IP address and a port number, and accept new subflows on this
@@ -171,8 +177,9 @@ change in the future, if someone implements the ticket
171177[ #334 ] ( https://github.com/multipath-tcp/mptcp_net-next/issues/334 ) .
172178
173179By default, [ automated tools] ( #automatic-configuration ) will add
174- [ ` subflow ` ] ( #endpoints ) endpoints, not [ ` signal ` ] ( #endpoints ) ones. This
175- behavior can be modified, please check their manual.
180+ [ ` subflow ` ] ( #endpoints ) endpoints (eventually with the [ ` laminar ` ] ( #endpoints )
181+ flag), not [ ` signal ` ] ( #endpoints ) ones. This behavior can be modified, please
182+ check their manual.
176183
177184#### Creating new subflows
178185
@@ -187,9 +194,12 @@ the `subflows` [limit](#limits):
187194- Upon the reception of an [ ` ADD_ADDR ` ] ( #announcing-new-addresses ) , and if the
188195 ` add_addr_accepted ` [ limits] ( #limits ) has not been reached yet, a new subflow
189196 will be created using the local address the routing configuration will pick,
190- except if there are endpoints with the [ ` fullmesh ` ] ( #endpoints ) flag. In this
191- case, each endpoints with the [ ` fullmesh ` ] ( #endpoints ) flag will be used to
192- create a new subflow to the announced address.
197+ except if there are endpoints with the [ ` fullmesh ` ] ( #endpoints ) or
198+ [ ` laminar ` ] ( #endpoints ) flags. In the ` fullmesh ` case, each endpoint with the
199+ [ ` fullmesh ` ] ( #endpoints ) flag will be used to create a new subflow to the
200+ announced address. In the ` laminar ` case, an unused [ ` laminar ` ] ( #endpoints )
201+ endpoint, if any, will be picked to create one subflow to the announced
202+ address.
193203
194204Note that when subflows are closed before the end of a connection -- e.g. due to
195205an error on the network, or if the other peer closed subflows -- the
0 commit comments