Received: by 2002:a05:6a10:1d13:0:0:0:0 with SMTP id pp19csp70320pxb; Wed, 25 Aug 2021 20:22:43 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwu5jzr4y2rwLuZ8l0GYt/Kmg8kw8uaQoxnSTtKRsk+ipeah7/HDDHv2zX+ralqu01TQnzw X-Received: by 2002:a02:b697:: with SMTP id i23mr1605171jam.78.1629948163697; Wed, 25 Aug 2021 20:22:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1629948163; cv=none; d=google.com; s=arc-20160816; b=ctV+ZkI0pQMnj7DajeP/DKwGb490mp+b9pwyC7hTX4mOEwXG8xwVqNajCtdNfcWl0c 77MMCxmWrbVo9/UMZr6GLW/AJ863azNCxyQlscPM5d/j/DAJbezig+S2LTa5JvWHb7pV tPOTFhXCKPuOkx4wL9o4DKS+zm/vc/BUMtcXL7dnztjk/o/2lnw7uW9SuHshsa1ZQjky aIPviG8tMddOBJc2mqByX/Xf4IVXGo6boA7iGG/0tQXJkYvMR7FhB7P87fnu57DSjwGe Dr7RwSvv+EI9U5VTq5/MeHMgSUkIYSg5xsaHxzs7T1hnEcFbFf2FFv9fXuKasYHQoLdp dsUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date; bh=U2RYdXjyKcHwk+7ZXNgF6D/4X89jmfuJzMg5qgAoAdA=; b=LOHjb8i5cX2pU17OSVJU+6R/V8uw76yvEdhkSoieHVlMw6kUm3E6OXap4a9YDBp2+H 1jeV2Mfg9a96KkbJxUuif/wxahOsA3KIQZHvG59bU/oXENvEyeSqZ7og1sgsbXeSNkrF hteAndBrQwdgnBPt2cPkHVTvKKuGsWSfCtZv1Vmf18pYET4b7QEB3SGF87n26oPhhy6+ 0UdVRwvBmMNcy7zKad8Fv2KvkkFNZgiAih3TlhvLrJdyqpQOvfXORbNih0F1EJOflaKY qmnmXaS5le48Z6ufZ619ETfWovBbPC6FbjXb8xNo5n6aQGjTbry3vyiRsdt0U9Dlx4l3 vjlw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g3si2050026ile.29.2021.08.25.20.22.20; Wed, 25 Aug 2021 20:22:43 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231959AbhHZDUd (ORCPT + 99 others); Wed, 25 Aug 2021 23:20:33 -0400 Received: from mail.kernel.org ([198.145.29.99]:43874 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229533AbhHZDUc (ORCPT ); Wed, 25 Aug 2021 23:20:32 -0400 Received: from rorschach.local.home (unknown [24.94.146.150]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 676B1610C7; Thu, 26 Aug 2021 03:19:44 +0000 (UTC) Date: Wed, 25 Aug 2021 23:19:42 -0400 From: Steven Rostedt To: Eric Dumazet Cc: Zhongya Yan , Jakub Kicinski , netdev , LKML , Ingo Molnar , David Miller , Hideaki YOSHIFUJI , David Ahern , hengqi.chen@gmail.com, Yonghong Song Subject: Re: [PATCH] net: tcp_drop adds `reason` parameter for tracing v2 Message-ID: <20210825231942.18f9b17e@rorschach.local.home> In-Reply-To: References: <20210825154043.247764-1-yan2228598786@gmail.com> X-Mailer: Claws Mail 3.17.8 (GTK+ 2.24.33; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 25 Aug 2021 08:47:46 -0700 Eric Dumazet wrote: > > @@ -5703,15 +5700,15 @@ static bool tcp_validate_incoming(struct sock *sk, struct sk_buff *skb, > > TCP_INC_STATS(sock_net(sk), TCP_MIB_INERRS); > > NET_INC_STATS(sock_net(sk), LINUX_MIB_TCPSYNCHALLENGE); > > tcp_send_challenge_ack(sk, skb); > > - goto discard; > > + tcp_drop(sk, skb, TCP_DROP_MASK(__LINE__, TCP_VALIDATE_INCOMING)); > > I'd rather use a string. So that we can more easily identify _why_ the > packet was drop, without looking at the source code > of the exact kernel version to locate line number 1057 > > You can be sure that we will get reports in the future from users of > heavily modified kernels. > Having to download a git tree, or apply semi-private patches is a no go. > > If you really want to include __FILE__ and __LINE__, these both can be > stringified and included in the report, with the help of macros. I agree the __LINE__ is pointless, but if this has a tracepoint involved, then you can simply enable the stacktrace trigger to it and it will save a stack trace in the ring buffer for you. echo stacktrace > /sys/kernel/tracing/events/tcp/tcp_drop/trigger And when the event triggers it will record a stack trace. You can also even add a filter to do it only for specific reasons. echo 'stacktrace if reason == 1' > /sys/kernel/tracing/events/tcp/tcp_drop/trigger And it even works for flags: echo 'stacktrace if reason & 0xa' > /sys/kernel/tracing/events/tcp/tcp_drop/trigger Which gives another reason to use an enum over a string. -- Steve