From: David Miller <davem@davemloft.net>
To: therbert@google.com
Cc: eric.dumazet@gmail.com, franco@lastsummer.de, xiaosuo@gmail.com,
netdev@vger.kernel.org
Subject: Re: [PATCH net-next-2.6] rps: consistent rxhash
Date: Fri, 23 Apr 2010 13:44:54 -0700 (PDT) [thread overview]
Message-ID: <20100423.134454.177103227.davem@davemloft.net> (raw)
In-Reply-To: <g2m65634d661004211212t13714cccyd27936c520515684@mail.gmail.com>
From: Tom Herbert <therbert@google.com>
Date: Wed, 21 Apr 2010 12:12:41 -0700
> On Tue, Apr 20, 2010 at 2:41 PM, David Miller <davem@davemloft.net> wrote:
>> Eric, do you remember that "TCP friends" rough patch I sent you last
>> year that essentailly made TCP sockets over loopback behave like
>> AF_UNIX ones and just queue the SKBs directly to the destination
>> socket without doing any protocol work?
>>
>
> This is sounds very interesting! Could you post a patch? :-)
I'll see if I can find it, I sent it to Eric more than a year
ago...
The basic scheme was pretty simple:
1) Add "struct sock *friend" to struct sk_buff
2) TCP initial handshake SYN and SYN+ACK transmits set "skb->friend =
sk" and TCP receive path notices this and stores this 'friend'
socket pointer locally in the newly created connection socket.
The purpose of skb->friend is to let the receiving socket on
loopback see that the other end is on the local system and
can be directly communicated to.
3) TCP sendmsg queues data directly to sk->friend's receive queue
instead sending TCP protocol packets.
The only complications come from making sendmsg and recvmsg not
try to do all of the sequence handling and checking, stuff like
that. Also, URG would need to be dealt with somehow too.
I'm sure someone suitably motivated could get a working patch
going in no time :-)
next prev parent reply other threads:[~2010-04-23 20:44 UTC|newest]
Thread overview: 60+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-04-16 5:47 [PATCH v5] rfs: Receive Flow Steering Tom Herbert
2010-04-16 6:33 ` David Miller
2010-04-16 6:56 ` Eric Dumazet
2010-04-16 7:18 ` Eric Dumazet
2010-04-16 7:26 ` David Miller
2010-04-16 7:48 ` Eric Dumazet
2010-04-17 7:52 ` [PATCH net-next-2.6] rps: rps_sock_flow_table is mostly read Eric Dumazet
2010-04-17 7:57 ` David Miller
2010-04-16 15:35 ` [PATCH v5] rfs: Receive Flow Steering Tom Herbert
2010-04-16 18:15 ` Eric Dumazet
2010-04-16 18:35 ` Tom Herbert
2010-04-16 18:53 ` Eric Dumazet
2010-04-16 20:42 ` Tom Herbert
2010-04-16 21:12 ` Eric Dumazet
2010-04-16 21:25 ` Eric Dumazet
2010-04-17 16:10 ` Eric Dumazet
2010-04-17 17:38 ` Tom Herbert
2010-04-18 0:06 ` Changli Gao
2010-04-18 11:06 ` Franco Fichtner
2010-04-19 20:09 ` David Miller
2010-04-19 20:23 ` David Miller
2010-04-19 20:32 ` Eric Dumazet
2010-04-19 21:19 ` David Miller
2010-04-26 8:41 ` Eric Dumazet
2010-04-27 21:59 ` David Miller
2010-04-27 22:08 ` Eric Dumazet
2010-04-27 22:10 ` David Miller
2010-04-19 23:38 ` Changli Gao
2010-04-20 5:59 ` Eric Dumazet
2010-04-20 7:56 ` [PATCH net-next-2.6] rps: consistent rxhash Eric Dumazet
2010-04-20 8:18 ` David Miller
2010-04-20 12:48 ` Franco Fichtner
2010-04-20 13:16 ` Eric Dumazet
2010-04-20 14:03 ` Franco Fichtner
2010-04-20 14:57 ` Eric Dumazet
2010-04-20 21:41 ` David Miller
2010-04-20 23:35 ` Changli Gao
2010-04-20 23:38 ` David Miller
2010-04-21 19:12 ` Tom Herbert
2010-04-23 20:44 ` David Miller [this message]
2010-05-06 8:06 ` David Miller
2010-05-06 14:45 ` Tom Herbert
2010-04-20 15:09 ` Tom Herbert
2010-04-21 9:29 ` Franco Fichtner
2010-04-21 9:39 ` Eric Dumazet
2010-04-21 11:06 ` Franco Fichtner
2010-04-21 11:16 ` Eric Dumazet
2010-04-20 15:04 ` [PATCH v5] rfs: Receive Flow Steering Tom Herbert
2010-04-20 15:39 ` Eric Dumazet
2010-04-16 19:37 ` Eric Dumazet
2010-04-16 22:49 ` David Miller
2010-04-16 22:53 ` David Miller
2010-04-16 22:57 ` David Miller
2010-04-17 0:22 ` Tom Herbert
2010-04-17 0:58 ` David Miller
2010-04-16 11:57 ` Andi Kleen
2010-04-16 13:32 ` jamal
2010-04-16 13:42 ` Andi Kleen
2010-04-16 14:05 ` jamal
2010-04-16 15:28 ` Andi Kleen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100423.134454.177103227.davem@davemloft.net \
--to=davem@davemloft.net \
--cc=eric.dumazet@gmail.com \
--cc=franco@lastsummer.de \
--cc=netdev@vger.kernel.org \
--cc=therbert@google.com \
--cc=xiaosuo@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).