From patchwork Fri May 1 01:45:05 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexei Starovoitov X-Patchwork-Id: 466781 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 04A3714075A for ; Fri, 1 May 2015 11:45:25 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753032AbbEABpV (ORCPT ); Thu, 30 Apr 2015 21:45:21 -0400 Received: from mail-pa0-f54.google.com ([209.85.220.54]:34576 "EHLO mail-pa0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751236AbbEABpT (ORCPT ); Thu, 30 Apr 2015 21:45:19 -0400 Received: by pacyx8 with SMTP id yx8so77124588pac.1 for ; Thu, 30 Apr 2015 18:45:19 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=TqgVuKdLa9F5npgHPtRqzUZ1IQHvnAWSvrnmT+vCXn4=; b=k6aFRLpl3Q01/4rblW2c5+vagUHrKUE4T/c4JVElK4lHlN105FRRCBLgLEx38ootx8 TSGXhTDorfT7eMYeY2xNSsBo+hCRtR2UrLUiEV88tuYM2/82oxUZKlWoINcmsE5unrEu gkVOOBkbPS8n7QXv/S1CDhf2LbrR6Tqf9N6L+9/guUme1Mw/FqJcCOJxEpX82G2Id/Nt 6GYQWhZA9MYeCG/lCnaUjUTyUEG/idGaRehG6yactAtd9b1HDIktzpvuRMkMEXwpSVnQ sBp4r5mcQ7AfeN1fADQZa5moFFZ/5t3wCvXao6FP2vUtoPtc3GuDFNEi5hAaBNC3jFgq mD3A== X-Gm-Message-State: ALoCoQmZCg3fBA5jELgs/hyxjQGpzF98AnaK0rlaWCdDZom9CUy+DgXK5V4sFjuC0hGbxOFa4+Iw X-Received: by 10.66.179.81 with SMTP id de17mr13335033pac.59.1430444719149; Thu, 30 Apr 2015 18:45:19 -0700 (PDT) Received: from localhost.localdomain ([12.229.56.227]) by mx.google.com with ESMTPSA id af1sm3355671pad.34.2015.04.30.18.45.17 (version=TLSv1.1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 30 Apr 2015 18:45:18 -0700 (PDT) From: Alexei Starovoitov To: "David S. Miller" Cc: Jamal Hadi Salim , Daniel Borkmann , Florian Westphal , netdev@vger.kernel.org Subject: [PATCH net-next] tc: remove unused redirect ttl Date: Thu, 30 Apr 2015 18:45:05 -0700 Message-Id: <1430444705-22132-1-git-send-email-ast@plumgrid.com> X-Mailer: git-send-email 1.7.9.5 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org improves ingress+u32 performance from 22.4 Mpps to 22.9 Mpps Signed-off-by: Jamal Hadi Salim Signed-off-by: Alexei Starovoitov --- The code is from Jamal. I only did testing and benchmarking. include/uapi/linux/pkt_cls.h | 2 ++ net/core/dev.c | 8 -------- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/include/uapi/linux/pkt_cls.h b/include/uapi/linux/pkt_cls.h index bf08e76bf505..f6344a522cd6 100644 --- a/include/uapi/linux/pkt_cls.h +++ b/include/uapi/linux/pkt_cls.h @@ -62,11 +62,13 @@ bits 9,10,11: redirect counter - redirect TTL. Loop avoidance #define SET_TC_NCLS(v) ( TC_NCLS | (v & ~TC_NCLS)) #define CLR_TC_NCLS(v) ( v & ~TC_NCLS) +#ifndef __KERNEL__ #define S_TC_RTTL _TC_MAKE32(9) #define M_TC_RTTL _TC_MAKEMASK(3,S_TC_RTTL) #define G_TC_RTTL(x) _TC_GETVALUE(x,S_TC_RTTL,M_TC_RTTL) #define V_TC_RTTL(x) _TC_MAKEVALUE(x,S_TC_RTTL) #define SET_TC_RTTL(v,n) ((V_TC_RTTL(n)) | (v & ~M_TC_RTTL)) +#endif #define S_TC_AT _TC_MAKE32(12) #define M_TC_AT _TC_MAKEMASK(2,S_TC_AT) diff --git a/net/core/dev.c b/net/core/dev.c index c7ba0388f1be..d1b8498576d7 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -3532,17 +3532,9 @@ EXPORT_SYMBOL_GPL(br_fdb_test_addr_hook); static int ing_filter(struct sk_buff *skb, struct netdev_queue *rxq) { struct net_device *dev = skb->dev; - u32 ttl = G_TC_RTTL(skb->tc_verd); int result = TC_ACT_OK; struct Qdisc *q; - if (unlikely(MAX_RED_LOOP < ttl++)) { - net_warn_ratelimited("Redir loop detected Dropping packet (%d->%d)\n", - skb->skb_iif, dev->ifindex); - return TC_ACT_SHOT; - } - - skb->tc_verd = SET_TC_RTTL(skb->tc_verd, ttl); skb->tc_verd = SET_TC_AT(skb->tc_verd, AT_INGRESS); q = rcu_dereference(rxq->qdisc);