From patchwork Thu Jan 31 18:24:19 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vijay Subramanian X-Patchwork-Id: 217234 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id D8BB32C0086 for ; Fri, 1 Feb 2013 05:24:34 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755612Ab3AaSYc (ORCPT ); Thu, 31 Jan 2013 13:24:32 -0500 Received: from mail-da0-f49.google.com ([209.85.210.49]:60840 "EHLO mail-da0-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751796Ab3AaSYb (ORCPT ); Thu, 31 Jan 2013 13:24:31 -0500 Received: by mail-da0-f49.google.com with SMTP id v40so1397026dad.36 for ; Thu, 31 Jan 2013 10:24:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:from:to:cc:subject:date:message-id:x-mailer; bh=Egxb286E086gMfS5Qp9xIvc0RqSBvLCitVGdHWkzxDo=; b=P1E1E7jpPEqk/gh4d1ZP1850DviNiOFtvd0AQM5J74pSxo0JfIZJ6lCrs9QTU0i4De cbn6abRtfR8zwxGDsOLgJIS4EXgP+nq1Clxra5XPHVGoYU9zY1YZDWKxobxjhVMcXG9B aBuWkYRgKxA/ecLj3JXb61Y/lDmJQXZfM+wXslvV+C61lNeGmuq8z/qvP9BLmQM+Lujc ACkxDkdutLQhrwTKuyc4+bYUVhn+os/k7/tSrTjiGdOpNNSNlCUrZFQOmodl3O0Vrf4P yQmeKS2n+1QiTCDixDiVBOgZC/nE+ja0R6DwjZdGok2uy0sbjOL+WFXco0BF6eiNp/c7 0Mww== X-Received: by 10.68.136.2 with SMTP id pw2mr24568647pbb.97.1359656670596; Thu, 31 Jan 2013 10:24:30 -0800 (PST) Received: from localhost.localdomain (c-50-136-206-76.hsd1.ca.comcast.net. [50.136.206.76]) by mx.google.com with ESMTPS id pv8sm5688105pbc.26.2013.01.31.10.24.29 (version=TLSv1 cipher=RC4-SHA bits=128/128); Thu, 31 Jan 2013 10:24:29 -0800 (PST) From: Vijay Subramanian To: netdev@vger.kernel.org Cc: davem@davemloft.net, eric.dumazet@gmail.com, niveditasinghvi@gmail.com, Vijay Subramanian Subject: [PATCH net v2] tcp: ipv6: Update MIB counters for drops Date: Thu, 31 Jan 2013 10:24:19 -0800 Message-Id: <1359656659-29375-1-git-send-email-subramanian.vijay@gmail.com> X-Mailer: git-send-email 1.7.0.4 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This patch updates LINUX_MIB_LISTENDROPS and LINUX_MIB_LISTENOVERFLOWS in tcp_v6_conn_request() and tcp_v6_err(). tcp_v6_conn_request() in particular can drop SYNs for various reasons which are not currently tracked. Signed-off-by: Vijay Subramanian --- Changes from V1: Removed one needless update to ListenOverflows. net/ipv6/tcp_ipv6.c | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c index 93825dd..4f43537 100644 --- a/net/ipv6/tcp_ipv6.c +++ b/net/ipv6/tcp_ipv6.c @@ -423,6 +423,7 @@ static void tcp_v6_err(struct sk_buff *skb, struct inet6_skb_parm *opt, } inet_csk_reqsk_queue_drop(sk, req, prev); + NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_LISTENDROPS); goto out; case TCP_SYN_SENT: @@ -958,8 +959,10 @@ static int tcp_v6_conn_request(struct sock *sk, struct sk_buff *skb) goto drop; } - if (sk_acceptq_is_full(sk) && inet_csk_reqsk_queue_young(sk) > 1) + if (sk_acceptq_is_full(sk) && inet_csk_reqsk_queue_young(sk) > 1) { + NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_LISTENOVERFLOWS); goto drop; + } req = inet6_reqsk_alloc(&tcp6_request_sock_ops); if (req == NULL) @@ -1108,6 +1111,7 @@ drop_and_release: drop_and_free: reqsk_free(req); drop: + NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_LISTENDROPS); return 0; /* don't send reset */ }