* Re: tcp option added by driver
[not found] <d17085b0713540e88332f201d0296f69@UCL-MBX03.OASIS.UCLOUVAIN.BE>
@ 2014-04-22 8:14 ` Christoph Paasch
[not found] ` <0fe153ade3744537ba78651580ae8444@UCL-MBX03.OASIS.UCLOUVAIN.BE>
0 siblings, 1 reply; 2+ messages in thread
From: Christoph Paasch @ 2014-04-22 8:14 UTC (permalink / raw)
To: Madhan; +Cc: linux-kernel
Hello,
On 22/04/14 - 05:27:55, Madhan wrote:
> hi ,
> Is it possible to update the option field of the tcp header dynamically by the driver rather than the change in tcp/ip stack .
> i.e Can i add a driver to implement mptcp rather than building entire kernel again ?
in principle it seems possible to do this at a driver-level. Alcatel-Lucent
implemented something similar using netfilter-hooks:
https://open-innovation.alcatel-lucent.com/projects/mptcp-proxy
Regular TCP was running on top, and the netfilter hooks allowed to
rewrite the TCP/IP header.
However, I think that doing it that way will be huge implementation effort
(considering that there exists already an open-source implementation at
multipath-tcp.org) and it might be hard to achieve good performance and make it
scale properly.
You basically have to reimplement a full TCP-stack at the driver as each
TCP-subflow has to behave as regular TCP (3-way handshake, retransmissions,...)
Cheers,
Christoph
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: tcp option added by driver
[not found] ` <0fe153ade3744537ba78651580ae8444@UCL-MBX03.OASIS.UCLOUVAIN.BE>
@ 2014-04-22 11:21 ` Christoph Paasch
0 siblings, 0 replies; 2+ messages in thread
From: Christoph Paasch @ 2014-04-22 11:21 UTC (permalink / raw)
To: Rishi Madhan; +Cc: Madhan, linux-kernel
On 22/04/14 - 10:00:43, Rishi Madhan wrote:
> >You basically have to reimplement a full TCP-stack at the driver as each
> >TCP-subflow has to behave as regular TCP (3-way handshake, retransmissions,...)
> Can it be done like the usb modem driver ? Like adding the NCM or QMI or RNDIS header on the data field .
> Rather than changing the entire tcp header in the driver level .
I don't know exactly what the usb modem driver does, but for MPTCP it is
much more complex than just adding some bits to a segment.
> In case of mptcp only the option field has to be changed .
And the TCP/IP-header as you want to send your traffic via different paths.
> And instead of sending the mptcp flags (such as mp_cap ,mp_join)
> inside option . Can it be done on the data ?
Then, this would be a whole new protocol, no more MPTCP. That's a different
story, and the idea of putting everything inside the data instead of the
TCP-option space has been widely discussed at the IETF, but got rejected
because of deadlock-issues with such an approach.
> The main reason why i am tryin to implement in this way is the effect of the MIDDLEBOX .
What do you mean by the effect of the middlebox?
Btw., I'm not sure if lkml is the right place to discuss this. Maybe
move the discussion to mptcp-dev.
Cheers,
Christoph
> and also that server need not
> rebuild kernel (most of them dont want to also) and can dynamically load/unload driver on need basis .
>
> Regards,
> Madhan
>
> On Tue, Apr 22, 2014 at 1:44 PM, Christoph Paasch <christoph.paasch@uclouvain.be<mailto:christoph.paasch@uclouvain.be>> wrote:
> Hello,
>
> On 22/04/14 - 05:27:55, Madhan wrote:
> > hi ,
> > Is it possible to update the option field of the tcp header dynamically by the driver rather than the change in tcp/ip stack .
> > i.e Can i add a driver to implement mptcp rather than building entire kernel again ?
>
> in principle it seems possible to do this at a driver-level. Alcatel-Lucent
> implemented something similar using netfilter-hooks:
> https://open-innovation.alcatel-lucent.com/projects/mptcp-proxy
>
> Regular TCP was running on top, and the netfilter hooks allowed to
> rewrite the TCP/IP header.
>
>
> However, I think that doing it that way will be huge implementation effort
> (considering that there exists already an open-source implementation at
> multipath-tcp.org<http://multipath-tcp.org>) and it might be hard to achieve good performance and make it
> scale properly.
>
> You basically have to reimplement a full TCP-stack at the driver as each
> TCP-subflow has to behave as regular TCP (3-way handshake, retransmissions,...)
>
>
> Cheers,
> Christoph
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org<mailto:majordomo@vger.kernel.org>
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2014-04-22 11:21 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <d17085b0713540e88332f201d0296f69@UCL-MBX03.OASIS.UCLOUVAIN.BE>
2014-04-22 8:14 ` tcp option added by driver Christoph Paasch
[not found] ` <0fe153ade3744537ba78651580ae8444@UCL-MBX03.OASIS.UCLOUVAIN.BE>
2014-04-22 11:21 ` Christoph Paasch
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®