{"id":741,"url":"http://patchwork.ozlabs.org/api/1.0/patches/741/?format=json","project":{"id":7,"url":"http://patchwork.ozlabs.org/api/1.0/projects/7/?format=json","name":"Linux network development","link_name":"netdev","list_id":"netdev.vger.kernel.org","list_email":"netdev@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null},"msgid":"<1221947278-16715-3-git-send-email-ilpo.jarvinen@helsinki.fi>","date":"2008-09-20T21:47:45","name":"[PATCHv2,net-next,02/15] tcp: move tcp_verify_retransmit_hint","commit_ref":null,"pull_url":null,"state":"accepted","archived":true,"hash":"b6e4d03b3451c4aee721dbb344a5b24c2506acad","submitter":{"id":255,"url":"http://patchwork.ozlabs.org/api/1.0/people/255/?format=json","name":"Ilpo Järvinen","email":"ilpo.jarvinen@helsinki.fi"},"delegate":{"id":34,"url":"http://patchwork.ozlabs.org/api/1.0/users/34/?format=json","username":"davem","first_name":"David","last_name":"Miller","email":"davem@davemloft.net"},"mbox":"http://patchwork.ozlabs.org/project/netdev/patch/1221947278-16715-3-git-send-email-ilpo.jarvinen@helsinki.fi/mbox/","series":[],"check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/741/checks/","tags":{},"headers":{"Return-Path":"<netdev-owner@vger.kernel.org>","X-Original-To":"patchwork-incoming@ozlabs.org","Delivered-To":"patchwork-incoming@ozlabs.org","Received":["from vger.kernel.org (vger.kernel.org [209.132.176.167])\n\tby ozlabs.org (Postfix) with ESMTP id D79CFDDE26\n\tfor <patchwork-incoming@ozlabs.org>;\n\tSun, 21 Sep 2008 07:48:10 +1000 (EST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n\tid S1751683AbYITVsE (ORCPT <rfc822;patchwork-incoming@ozlabs.org>);\n\tSat, 20 Sep 2008 17:48:04 -0400","(majordomo@vger.kernel.org) by vger.kernel.org id S1751561AbYITVsC\n\t(ORCPT <rfc822; netdev-outgoing>); Sat, 20 Sep 2008 17:48:02 -0400","from courier.cs.helsinki.fi ([128.214.9.1]:36807 \"EHLO\n\tmail.cs.helsinki.fi\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n\twith ESMTP id S1751128AbYITVsB (ORCPT\n\t<rfc822;netdev@vger.kernel.org>); Sat, 20 Sep 2008 17:48:01 -0400","from wrl-59.cs.helsinki.fi (wrl-59.cs.helsinki.fi\n\t[128.214.166.179])\n\t(AUTH: PLAIN cs-relay, TLS: TLSv1/SSLv3,256bits,AES256-SHA)\n\tby mail.cs.helsinki.fi with esmtp; Sun, 21 Sep 2008 00:47:58 +0300\n\tid 0005BEDB.48D56F8E.00004F04","by wrl-59.cs.helsinki.fi (Postfix, from userid 50795)\n\tid 944A3A00A3; Sun, 21 Sep 2008 00:47:58 +0300 (EEST)"],"From":"\"=?ISO-8859-1?Q?Ilpo_J=E4rvinen?=\" <ilpo.jarvinen@helsinki.fi>","To":"David Miller <davem@davemloft.net>","Cc":"netdev@vger.kernel.org,\n\t\"=?utf-8?q?Ilpo=20J=E4rvinen?=\" <ilpo.jarvinen@helsinki.fi>","Subject":"[PATCHv2 net-next 02/15] tcp: move tcp_verify_retransmit_hint","Date":"Sun, 21 Sep 2008 00:47:45 +0300","Message-Id":"<1221947278-16715-3-git-send-email-ilpo.jarvinen@helsinki.fi>","X-Mailer":"git-send-email 1.5.4.2.156.ge3c5","In-Reply-To":"<1221947278-16715-2-git-send-email-ilpo.jarvinen@helsinki.fi>","References":"<1221947278-16715-1-git-send-email-ilpo.jarvinen@helsinki.fi>\n\t<1221947278-16715-2-git-send-email-ilpo.jarvinen@helsinki.fi>","MIME-Version":"1.0","Content-Type":"text/plain; charset=ISO-8859-1","Content-Transfer-Encoding":"8bit","Sender":"netdev-owner@vger.kernel.org","Precedence":"bulk","List-ID":"<netdev.vger.kernel.org>","X-Mailing-List":"netdev@vger.kernel.org"},"content":"Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>\n---\n net/ipv4/tcp_input.c |   26 +++++++++++++-------------\n 1 files changed, 13 insertions(+), 13 deletions(-)","diff":"diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c\nindex 7306bfb..9e95ad6 100644\n--- a/net/ipv4/tcp_input.c\n+++ b/net/ipv4/tcp_input.c\n@@ -979,6 +979,19 @@ static void tcp_update_reordering(struct sock *sk, const int metric,\n \t}\n }\n \n+/* RFC: This is from the original, I doubt that this is necessary at all:\n+ * clear xmit_retrans hint if seq of this skb is beyond hint. How could we\n+ * retransmitted past LOST markings in the first place? I'm not fully sure\n+ * about undo and end of connection cases, which can cause R without L?\n+ */\n+static void tcp_verify_retransmit_hint(struct tcp_sock *tp, struct sk_buff *skb)\n+{\n+\tif ((tp->retransmit_skb_hint != NULL) &&\n+\t    before(TCP_SKB_CB(skb)->seq,\n+\t\t   TCP_SKB_CB(tp->retransmit_skb_hint)->seq))\n+\t\ttp->retransmit_skb_hint = NULL;\n+}\n+\n /* This procedure tags the retransmission queue when SACKs arrive.\n  *\n  * We have three tag bits: SACKED(S), RETRANS(R) and LOST(L).\n@@ -2156,19 +2169,6 @@ static int tcp_time_to_recover(struct sock *sk)\n \treturn 0;\n }\n \n-/* RFC: This is from the original, I doubt that this is necessary at all:\n- * clear xmit_retrans hint if seq of this skb is beyond hint. How could we\n- * retransmitted past LOST markings in the first place? I'm not fully sure\n- * about undo and end of connection cases, which can cause R without L?\n- */\n-static void tcp_verify_retransmit_hint(struct tcp_sock *tp, struct sk_buff *skb)\n-{\n-\tif ((tp->retransmit_skb_hint != NULL) &&\n-\t    before(TCP_SKB_CB(skb)->seq,\n-\t\t   TCP_SKB_CB(tp->retransmit_skb_hint)->seq))\n-\t\ttp->retransmit_skb_hint = NULL;\n-}\n-\n /* Mark head of queue up as lost. With RFC3517 SACK, the packets is\n  * is against sacked \"cnt\", otherwise it's against facked \"cnt\"\n  */\n","prefixes":["PATCHv2","net-next","02/15"]}