[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20100423.134454.177103227.davem@davemloft.net>
Date: Fri, 23 Apr 2010 13:44:54 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: therbert@...gle.com
Cc: eric.dumazet@...il.com, franco@...tsummer.de, xiaosuo@...il.com,
netdev@...r.kernel.org
Subject: Re: [PATCH net-next-2.6] rps: consistent rxhash
From: Tom Herbert <therbert@...gle.com>
Date: Wed, 21 Apr 2010 12:12:41 -0700
> On Tue, Apr 20, 2010 at 2:41 PM, David Miller <davem@...emloft.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 :-)
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists