All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [MPTCP] Socket layer changes to MPTCP
@ 2018-03-28 21:39 Mat Martineau
  0 siblings, 0 replies; 9+ messages in thread
From: Mat Martineau @ 2018-03-28 21:39 UTC (permalink / raw)
  To: mptcp

[-- Attachment #1: Type: text/plain, Size: 1796 bytes --]


Hi Rao -

On Wed, 28 Mar 2018, Rao Shoaib wrote:

> I have recently noticed that the group is working on socket level 
> changes to MPTCP.
>
> Can a summary of the issues and how the changes will solve them be 
> posted to the list?  That would help any new participants as well. If 
> they have already been discussed please point me to the thread.

I proposed moving away from the metasocket architecture last summer:
https://lists.01.org/pipermail/mptcp/2017-July/000064.html

When I reviewed the multipath-tcp.org implementation of MPTCP, my 
assessment was (and is) that using metasockets resulted in more intrusive 
code changes for TCP. The more partitioned approach of KCM and RDS (using 
internal kernel sockets) shows an example of in-kernel features that the 
maintainers have merged. The approach seemed feasible and I proposed it as 
a direction to go.

> It will also help if it can be made clear how these changes will 
> expedite implementation of a basic MPTCP implementation. I believe that 
> is the current goal, but my understanding may be incorrect.

I think it will expedite upstreaming in the sense that metasockets would 
never get merged upstream, and that a more partitioned approach with 
dedicated subflow sockets has a reasonable shot. That's my opinion based 
on what I've seen from the maintainers (in terms of mailing list 
discussions, conversations, and what they have merged in the past).

Now, Christoph has raised the topic for more detailed discussion with 
regard to the specifics of the multipath-tcp.org implementation. I don't 
think anything is a foregone conclusion in terms of this aspect of the 
upstreaming project, you can propose a different approach to discuss.


Thanks,

--
Mat Martineau
Intel OTC

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [MPTCP] Socket layer changes to MPTCP
@ 2018-04-04 20:24 Rao Shoaib
  0 siblings, 0 replies; 9+ messages in thread
From: Rao Shoaib @ 2018-04-04 20:24 UTC (permalink / raw)
  To: mptcp

[-- Attachment #1: Type: text/plain, Size: 2593 bytes --]



On 04/04/2018 11:56 AM, Mat Martineau wrote:
>
> On Wed, 4 Apr 2018, Rao Shoaib wrote:
>
>>
>>
>> On 04/03/2018 06:20 PM, Mat Martineau wrote:
>>>
>>> Hi Rao,
>>>
>>> On Mon, 2 Apr 2018, Rao Shoaib wrote:
>>>
>>>> Hi Mat,
>>>>
>>>> We have an implementation that implements MPTCP with much much less 
>>>> intrusiveness than the current implementation. It's review has not 
>>>> revealed any serious issues. If it's interaction with TCP can be 
>>>> improved further that is great and patches should be submitted.
>>>>
>>>> I have yet to see any other proposal that would result in any 
>>>> better implementation and contrary to individual belief's that some 
>>>> folks have, no one knows what upstream will accept. I bet even 
>>>> David Miller and Eric do not know what they will accept. That is 
>>>> why they asked for an implementation to start a discussion, which 
>>>> we have now.
>>>>
>>>> There is no reason to keep working in the dark. Once we have the 
>>>> discussion there will be ample opportunity to improve the 
>>>> implementation based on some guideline.
>>>
>>> I do see what you're saying about not knowing with total certainty 
>>> what the maintainers will say until they say it, and I also think 
>>> there are benefits to be had from our smaller MPTCP upstreaming 
>>> community in helping each other shape a proposal.
>>>
>>> I think the call on Thursday will be a great opportunity to discuss 
>>> the current proposals and patch sets. The real-time discussions 
>>> there have been very helpful - without the latency of email I think 
>>> we can more quickly understand where there is consensus.
>>>
>> Sorry I can not make it to the call -- I have been asked to attend a 
>> meeting at the same time. I know that this is disruptive to everyone 
>> but it is beyond my control. We can instead meet on Friday or Monday 
>> or wait till the next call.
>>
>> Sorry for the inconvenience.
>
> No problem, given the complexity of group scheduling and time zones I 
> think the April 12th call is the straightforward solution.
>
We can also start the discussion on line and continue on the conference 
call.
My question is why would we not want to ask netdev. I already have asked 
them and they are willing to allow refactoring of TCP code but want to 
look at it first.
My plan is to post a few examples of the refactoring and ask for input. 
I do not have any plans to post the complete patch just yet.

Discussing via email also keeps detailed records.

Shoaib
> -- 
> Mat Martineau
> Intel OTC


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [MPTCP] Socket layer changes to MPTCP
@ 2018-04-04 18:56 Mat Martineau
  0 siblings, 0 replies; 9+ messages in thread
From: Mat Martineau @ 2018-04-04 18:56 UTC (permalink / raw)
  To: mptcp

[-- Attachment #1: Type: text/plain, Size: 2038 bytes --]


On Wed, 4 Apr 2018, Rao Shoaib wrote:

>
>
> On 04/03/2018 06:20 PM, Mat Martineau wrote:
>> 
>> Hi Rao,
>> 
>> On Mon, 2 Apr 2018, Rao Shoaib wrote:
>> 
>>> Hi Mat,
>>> 
>>> We have an implementation that implements MPTCP with much much less 
>>> intrusiveness than the current implementation. It's review has not 
>>> revealed any serious issues. If it's interaction with TCP can be improved 
>>> further that is great and patches should be submitted.
>>> 
>>> I have yet to see any other proposal that would result in any better 
>>> implementation and contrary to individual belief's that some folks have, 
>>> no one knows what upstream will accept. I bet even David Miller and Eric 
>>> do not know what they will accept. That is why they asked for an 
>>> implementation to start a discussion, which we have now.
>>> 
>>> There is no reason to keep working in the dark. Once we have the 
>>> discussion there will be ample opportunity to improve the implementation 
>>> based on some guideline.
>> 
>> I do see what you're saying about not knowing with total certainty what the 
>> maintainers will say until they say it, and I also think there are benefits 
>> to be had from our smaller MPTCP upstreaming community in helping each 
>> other shape a proposal.
>> 
>> I think the call on Thursday will be a great opportunity to discuss the 
>> current proposals and patch sets. The real-time discussions there have been 
>> very helpful - without the latency of email I think we can more quickly 
>> understand where there is consensus.
>> 
> Sorry I can not make it to the call -- I have been asked to attend a meeting 
> at the same time. I know that this is disruptive to everyone but it is beyond 
> my control. We can instead meet on Friday or Monday or wait till the next 
> call.
>
> Sorry for the inconvenience.

No problem, given the complexity of group scheduling and time zones I 
think the April 12th call is the straightforward solution.

--
Mat Martineau
Intel OTC

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [MPTCP] Socket layer changes to MPTCP
@ 2018-04-04 16:30 Rao Shoaib
  0 siblings, 0 replies; 9+ messages in thread
From: Rao Shoaib @ 2018-04-04 16:30 UTC (permalink / raw)
  To: mptcp

[-- Attachment #1: Type: text/plain, Size: 1840 bytes --]



On 04/03/2018 06:20 PM, Mat Martineau wrote:
>
> Hi Rao,
>
> On Mon, 2 Apr 2018, Rao Shoaib wrote:
>
>> Hi Mat,
>>
>> We have an implementation that implements MPTCP with much much less 
>> intrusiveness than the current implementation. It's review has not 
>> revealed any serious issues. If it's interaction with TCP can be 
>> improved further that is great and patches should be submitted.
>>
>> I have yet to see any other proposal that would result in any better 
>> implementation and contrary to individual belief's that some folks 
>> have, no one knows what upstream will accept. I bet even David Miller 
>> and Eric do not know what they will accept. That is why they asked 
>> for an implementation to start a discussion, which we have now.
>>
>> There is no reason to keep working in the dark. Once we have the 
>> discussion there will be ample opportunity to improve the 
>> implementation based on some guideline.
>
> I do see what you're saying about not knowing with total certainty 
> what the maintainers will say until they say it, and I also think 
> there are benefits to be had from our smaller MPTCP upstreaming 
> community in helping each other shape a proposal.
>
> I think the call on Thursday will be a great opportunity to discuss 
> the current proposals and patch sets. The real-time discussions there 
> have been very helpful - without the latency of email I think we can 
> more quickly understand where there is consensus.
>
Sorry I can not make it to the call -- I have been asked to attend a 
meeting at the same time. I know that this is disruptive to everyone but 
it is beyond my control. We can instead meet on Friday or Monday or wait 
till the next call.

Sorry for the inconvenience.

Shoaib


> Thanks,
>
> -- 
> Mat Martineau
> Intel OTC


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [MPTCP] Socket layer changes to MPTCP
@ 2018-04-04  1:20 Mat Martineau
  0 siblings, 0 replies; 9+ messages in thread
From: Mat Martineau @ 2018-04-04  1:20 UTC (permalink / raw)
  To: mptcp

[-- Attachment #1: Type: text/plain, Size: 1448 bytes --]


Hi Rao,

On Mon, 2 Apr 2018, Rao Shoaib wrote:

> Hi Mat,
>
> We have an implementation that implements MPTCP with much much less 
> intrusiveness than the current implementation. It's review has not revealed 
> any serious issues. If it's interaction with TCP can be improved further that 
> is great and patches should be submitted.
>
> I have yet to see any other proposal that would result in any better 
> implementation and contrary to individual belief's that some folks have, no 
> one knows what upstream will accept. I bet even David Miller and Eric do not 
> know what they will accept. That is why they asked for an implementation to 
> start a discussion, which we have now.
>
> There is no reason to keep working in the dark. Once we have the discussion 
> there will be ample opportunity to improve the implementation based on some 
> guideline.

I do see what you're saying about not knowing with total certainty what 
the maintainers will say until they say it, and I also think there are 
benefits to be had from our smaller MPTCP upstreaming community in helping 
each other shape a proposal.

I think the call on Thursday will be a great opportunity to discuss the 
current proposals and patch sets. The real-time discussions there have 
been very helpful - without the latency of email I think we can more 
quickly understand where there is consensus.

Thanks,

--
Mat Martineau
Intel OTC

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [MPTCP] Socket layer changes to MPTCP
@ 2018-04-03  1:46 Rao Shoaib
  0 siblings, 0 replies; 9+ messages in thread
From: Rao Shoaib @ 2018-04-03  1:46 UTC (permalink / raw)
  To: mptcp

[-- Attachment #1: Type: text/plain, Size: 813 bytes --]

Hi Mat,

We have an implementation that implements MPTCP with much much less 
intrusiveness than the current implementation. It's review has not 
revealed any serious issues. If it's interaction with TCP can be 
improved further that is great and patches should be submitted.

I have yet to see any other proposal that would result in any better 
implementation and contrary to individual belief's that some folks have, 
no one knows what upstream will accept. I bet even David Miller and Eric 
do not know what they will accept. That is why they asked for an 
implementation to start a discussion, which we have now.

There is no reason to keep working in the dark. Once we have the 
discussion there will be ample opportunity to improve the implementation 
based on some guideline.

Shoaib.


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [MPTCP] Socket layer changes to MPTCP
@ 2018-04-02 19:21 Mat Martineau
  0 siblings, 0 replies; 9+ messages in thread
From: Mat Martineau @ 2018-04-02 19:21 UTC (permalink / raw)
  To: mptcp

[-- Attachment #1: Type: text/plain, Size: 6462 bytes --]


Hi Rao,

On Wed, 28 Mar 2018, Rao Shoaib wrote:

>
>
> On 03/28/2018 02:39 PM, Mat Martineau wrote:
>> 
>> Hi Rao -
>> 
>> On Wed, 28 Mar 2018, Rao Shoaib wrote:
>> 
>>> I have recently noticed that the group is working on socket level changes 
>>> to MPTCP.
>>> 
>>> Can a summary of the issues and how the changes will solve them be posted 
>>> to the list?  That would help any new participants as well. If they have 
>>> already been discussed please point me to the thread.
>> 
>> I proposed moving away from the metasocket architecture last summer:
>> https://lists.01.org/pipermail/mptcp/2017-July/000064.html
>> 
>> When I reviewed the multipath-tcp.org implementation of MPTCP, my 
>> assessment was (and is) that using metasockets resulted in more intrusive 
>> code changes for TCP. The more partitioned approach of KCM and RDS (using 
>> internal kernel sockets) shows an example of in-kernel features that the 
>> maintainers have merged. The approach seemed feasible and I proposed it as 
>> a direction to go.
> Thanks for pointing the thread out. That was a proposal we never agreed on 
> it  ?

Yes, I think it's accurate to call it a proposal. The discussion trailed 
off without any specific objection to or endorsement of the metasocket 
point.

> Here is my response to it.
>
> """""
> I agree with the above approach but want to expand on the initial goal.
>
> Our initial goal must be to put a minimal (bare bones) MPTCP implementation 
> in main stream Linux. That could mean no fancy scheduling schemes, just 
> simple round robin or just active/standby. Implementing minimal MPTCP 
> functionality will pretty much expose how main TCP code will be impacted. Any 
> future work to add features will be confined to changes within MPTCP and 
> should not be a concern right now. Such an implementation will also be fully 
> RFC compliant.
>
> I agree with you that upstream folks would want an opt-in option. I am in 
> favor of a completely different socket family as that would leave tcp socket 
> code untouched. However we should talk to upstream folks once again.
>
> I should have been more specific, I was referring to the socket layer 
> changes. Now that I have implemented MPTCP on Linux and understand the design 
> better I don't think using a separate
>
> I would like us to use as much code as possible from the current 
> implementation. In fact if for some reason (I don't see one) we can not ship 
> a minimal implementation than I prefer that we just port the current 
> implementation and worry about architectural issues later.
>
> In short, I would like our focus to be on putting a minimal MPTCP 
> implementation in Linux so that we have a stake in the ground. Performance 
> and Features can come later. That does not mean that the quality of our 
> implementation is so bad that it is unusable.
>
> Shoaib
>
> """"""""""""""
>
> I was OK using KCM or a different socket family, but nothing else, as I say 
> using a socket family would only save changes to the socket code.

Ok - appreciate the clarification.

>
> Since our initial goal was not adhered to and I have had more experience,
> I would like a technical analysis or better yet an implementation that supports 
> the said claims. Any mention of upstream should have pointers to the email 
> threads or should not be used.

I think what people seem to agree on is that an initial upstreamable 
implementation will function with a minimal feature set. My understanding 
is that we have yet to settle on what the steps are to get to that goal, 
and we're working to agree on the steps.

> KCM and RDS are completely different, they do 
> not add options to TCP header or deal with TCP state machine.

I completely agree that they aren't just like MPTCP! And that MPTCP is 
harder to integrate because of exactly the reasons you mention. My 
intent was to point to them as kernel-internal users of TCP with some 
limited design parallels that we can learn from.

>
> I have submitted a patch that provides a complete working implementation 
> based on the current design. It can be used as a reference to point out how 
> the proposed solution would be better.
>
>> 
>>> It will also help if it can be made clear how these changes will 
>>> expedite implementation of a basic MPTCP implementation. I believe 
>>> that is the current goal, but my understanding may be incorrect.
>> 
>> I think it will expedite upstreaming in the sense that metasockets would 
>> never get merged upstream, and that a more partitioned approach with 
>> dedicated subflow sockets has a reasonable shot. That's my opinion based on 
>> what I've seen from the maintainers (in terms of mailing list discussions, 
>> conversations, and what they have merged in the past).
>> 
>> Now, Christoph has raised the topic for more detailed discussion with 
>> regard to the specifics of the multipath-tcp.org implementation. I don't 
>> think anything is a foregone conclusion in terms of this aspect of the 
>> upstreaming project, you can propose a different approach to discuss.
> I want to point out that folks propose a lot of enhancements on Netdev and 
> IETF with valid uses cases. 99.99% get rejected. There has to be very valid 
> reasons -- We are not going to build a kitchen sink of options that will make 
> the design complex and unmaintainable. If a vendor has certain requirements 
> they need to provide us a list that we evaluate and find out the best way to 
> implement it if we choose to. We are not there yet and talking about any kind 
> of options is premature.

To me, the socket-layer changes brought up for discussion are first and 
foremost about modifying the design and architecture of MPTCP to reduce 
the impact on the TCP code. I haven't seen that anyone is putting current 
development effort toward adding bells & whistles - some topics came up 
about possible future APIs that might fit well (like exposing additional 
fds), but I don't see those as in-scope for initial upstreaming.

Part of what we discussed at the last meeting was using a wiki to better 
document what's going on in our MPTCP upstreaming community, I think that 
will do a lot to communicate where contributors are putting their current 
efforts and also help keep track of ideas for the future.


Regards,

--
Mat Martineau
Intel OTC

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [MPTCP] Socket layer changes to MPTCP
@ 2018-03-28 23:16 Rao Shoaib
  0 siblings, 0 replies; 9+ messages in thread
From: Rao Shoaib @ 2018-03-28 23:16 UTC (permalink / raw)
  To: mptcp

[-- Attachment #1: Type: text/plain, Size: 4827 bytes --]



On 03/28/2018 02:39 PM, Mat Martineau wrote:
>
> Hi Rao -
>
> On Wed, 28 Mar 2018, Rao Shoaib wrote:
>
>> I have recently noticed that the group is working on socket level 
>> changes to MPTCP.
>>
>> Can a summary of the issues and how the changes will solve them be 
>> posted to the list?  That would help any new participants as well. If 
>> they have already been discussed please point me to the thread.
>
> I proposed moving away from the metasocket architecture last summer:
> https://lists.01.org/pipermail/mptcp/2017-July/000064.html
>
> When I reviewed the multipath-tcp.org implementation of MPTCP, my 
> assessment was (and is) that using metasockets resulted in more 
> intrusive code changes for TCP. The more partitioned approach of KCM 
> and RDS (using internal kernel sockets) shows an example of in-kernel 
> features that the maintainers have merged. The approach seemed 
> feasible and I proposed it as a direction to go.
Thanks for pointing the thread out. That was a proposal we never agreed 
on it  ?
Here is my response to it.

"""""
I agree with the above approach but want to expand on the initial goal.

Our initial goal must be to put a minimal (bare bones) MPTCP 
implementation in main stream Linux. That could mean no fancy scheduling 
schemes, just simple round robin or just active/standby. Implementing 
minimal MPTCP functionality will pretty much expose how main TCP code 
will be impacted. Any future work to add features will be confined to 
changes within MPTCP and should not be a concern right now. Such an 
implementation will also be fully RFC compliant.

I agree with you that upstream folks would want an opt-in option. I am 
in favor of a completely different socket family as that would leave tcp 
socket code untouched. However we should talk to upstream folks once again.

I should have been more specific, I was referring to the socket layer 
changes. Now that I have implemented MPTCP on Linux and understand the 
design better I don't think using a separate

I would like us to use as much code as possible from the current 
implementation. In fact if for some reason (I don't see one) we can not 
ship a minimal implementation than I prefer that we just port the 
current implementation and worry about architectural issues later.

In short, I would like our focus to be on putting a minimal MPTCP 
implementation in Linux so that we have a stake in the ground. 
Performance and Features can come later. That does not mean that the 
quality of our implementation is so bad that it is unusable.

Shoaib

""""""""""""""

I was OK using KCM or a different socket family, but nothing else, as I 
say using a socket family would only save changes to the socket code.

Since our initial goal was not adhered to and I have had more 
experience, I would like a technical analysis or better yet an 
implementation that supports the said claims. Any mention of upstream 
should have pointers to the email threads or should not be used. KCM and 
RDS are completely different, they do not add options to TCP header or 
deal with TCP state machine.

I have submitted a patch that provides a complete working implementation 
based on the current design. It can be used as a reference to point out 
how the proposed solution would be better.

>
>> It will also help if it can be made clear how these changes will 
>> expedite implementation of a basic MPTCP implementation. I believe 
>> that is the current goal, but my understanding may be incorrect.
>
> I think it will expedite upstreaming in the sense that metasockets 
> would never get merged upstream, and that a more partitioned approach 
> with dedicated subflow sockets has a reasonable shot. That's my 
> opinion based on what I've seen from the maintainers (in terms of 
> mailing list discussions, conversations, and what they have merged in 
> the past).
>
> Now, Christoph has raised the topic for more detailed discussion with 
> regard to the specifics of the multipath-tcp.org implementation. I 
> don't think anything is a foregone conclusion in terms of this aspect 
> of the upstreaming project, you can propose a different approach to 
> discuss.
I want to point out that folks propose a lot of enhancements on Netdev 
and IETF with valid uses cases. 99.99% get rejected. There has to be 
very valid reasons -- We are not going to build a kitchen sink of 
options that will make the design complex and unmaintainable. If a 
vendor has certain requirements they need to provide us a list that we 
evaluate and find out the best way to implement it if we choose to. We 
are not there yet and talking about any kind of options is premature.

Thanks,

Shoaib
> Thanks,
>
> -- 
> Mat Martineau
> Intel OTC


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [MPTCP] Socket layer changes to MPTCP
@ 2018-03-28 17:40 Rao Shoaib
  0 siblings, 0 replies; 9+ messages in thread
From: Rao Shoaib @ 2018-03-28 17:40 UTC (permalink / raw)
  To: mptcp

[-- Attachment #1: Type: text/plain, Size: 525 bytes --]

I have recently noticed that the group is working on socket level 
changes to MPTCP.

Can a summary of the issues and how the changes will solve them be 
posted to the list?  That would help any new participants as well. If 
they have already been discussed please point me to the thread.

It will also help if it can be made clear how these changes will 
expedite implementation of a basic MPTCP implementation. I believe that 
is the current goal, but my understanding may be incorrect.

Thanks,

Shoaib



^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2018-04-04 20:24 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-03-28 21:39 [MPTCP] Socket layer changes to MPTCP Mat Martineau
  -- strict thread matches above, loose matches on Subject: below --
2018-04-04 20:24 Rao Shoaib
2018-04-04 18:56 Mat Martineau
2018-04-04 16:30 Rao Shoaib
2018-04-04  1:20 Mat Martineau
2018-04-03  1:46 Rao Shoaib
2018-04-02 19:21 Mat Martineau
2018-03-28 23:16 Rao Shoaib
2018-03-28 17:40 Rao Shoaib

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.