From patchwork Sun Jan 7 06:31:47 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yafang Shao X-Patchwork-Id: 856481 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="dq0HFtXd"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3zDpV80D0Jz9s1h for ; Sun, 7 Jan 2018 17:32:15 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751491AbeAGGb7 (ORCPT ); Sun, 7 Jan 2018 01:31:59 -0500 Received: from mail-pl0-f65.google.com ([209.85.160.65]:37003 "EHLO mail-pl0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751197AbeAGGb6 (ORCPT ); Sun, 7 Jan 2018 01:31:58 -0500 Received: by mail-pl0-f65.google.com with SMTP id s3so5692356plp.4; Sat, 06 Jan 2018 22:31:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=actWNtDQsBW7corv8xYHV+l3CV/DS8l3dGYl/IkcEKw=; b=dq0HFtXduXfL9mSwzwzDQcaxRYptN9307GxFoCrO3GpL8Lmz5KOCrUvrAFSuFl/MEj VMfYSrEVpZ3n0IDl0nbAD18EOyEl0D3P66LKaZGiJH1O72ojGc0vPS2nRJlZvH/HnGc3 YSmtT3aOQb071cxIGx6b0uLtiQYrnfxlwjgtyVjINdDiIekuFuavolvN4kXJ67SxVfIG 9tiZz/Xp9Uz+gZoWTKJWNDRB5wUSs3d0oA85CNYF5QTD1WL6Iv6aLsa7TsjAEKaP9BhM 8iGQ2j61GCBwt4eQsxOifJtxuZUAJs5OB3xiA55/4+oQQUmO/aT60p9SCDvFJR1ojrg3 4RfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=actWNtDQsBW7corv8xYHV+l3CV/DS8l3dGYl/IkcEKw=; b=mCDzwfDQn2Fp7xlKaZw7QhBtP0DmDWZWxSEBASjTTMaPqZhqAaX5YkoEJY1h86GNPM Pfv7kFZFZ5w7b83oKmnE0c0JQNxVeWPMkdEtN9RJKTIaNZ4dG0xG43jvlr++Jfx/YxDI e2yVjkf1WjkpJgGrvCPL32fikDDlhaOAjUz5xML2H3SpF1Cz9zzbqEvaplF2VJw2UbiM SQlD3bBtl6KBOSQbSa02hYbh8O0yg6zlsdzZBRidVF0d71GJX230zGzISuORMHRAvbH3 V2/KI+rIIOO5+D3G9znIHB9iOB+cb0YxehtjwbK63XKo7lqcWw8hbAhGcg0SE7hHY9gs wYVw== X-Gm-Message-State: AKGB3mJqAd2/EPe99Ault3dEK5qt2RAzRpyzxUrM8z3dfjikSlGLWvf/ AfIjyzQbVMl0xfoQV5fJ2YM= X-Google-Smtp-Source: ACJfBou3TPwEajML2j/KGtY4Cq888QYdPLlLNQlKlt/O/oeACaLS29YdhjlJ0iMjplIHffg1IC3Uew== X-Received: by 10.159.253.148 with SMTP id q20mr8494756pls.131.1515306718089; Sat, 06 Jan 2018 22:31:58 -0800 (PST) Received: from li1588-6.members.linode.com (li1588-6.members.linode.com. [139.162.104.6]) by smtp.gmail.com with ESMTPSA id v64sm20245124pfi.187.2018.01.06.22.31.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sat, 06 Jan 2018 22:31:57 -0800 (PST) From: Yafang Shao To: songliubraving@fb.com, davem@davemloft.net, brendan.d.gregg@gmail.com Cc: marcelo.leitner@gmail.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Yafang Shao Subject: [PATCH v2 net-next] net: tracepoint: exposing sk_faimily in tracepoint inet_sock_set_state Date: Sun, 7 Jan 2018 14:31:47 +0800 Message-Id: <1515306707-1759-1-git-send-email-laoar.shao@gmail.com> X-Mailer: git-send-email 1.8.3.1 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org As of now, there're two sk_family are traced with sock:inet_sock_set_state, which are AF_INET and AF_INET6. So the sk_family are exposed as well. Then we can conveniently use it to do the filter. Both sk_family and sk_protocol are showed in the printk message, so we need not expose them as tracepoint arguments. Suggested-by: Brendan Gregg Suggested-by: Song Liu Signed-off-by: Yafang Shao Reviewed-by: Song Liu --- include/trace/events/sock.h | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) -- 1.8.3.1 diff --git a/include/trace/events/sock.h b/include/trace/events/sock.h index 3537c5f..3176a39 100644 --- a/include/trace/events/sock.h +++ b/include/trace/events/sock.h @@ -11,7 +11,11 @@ #include #include -/* The protocol traced by sock_set_state */ +#define family_names \ + EM(AF_INET) \ + EMe(AF_INET6) + +/* The protocol traced by inet_sock_set_state */ #define inet_protocol_names \ EM(IPPROTO_TCP) \ EM(IPPROTO_DCCP) \ @@ -37,6 +41,7 @@ #define EM(a) TRACE_DEFINE_ENUM(a); #define EMe(a) TRACE_DEFINE_ENUM(a); +family_names inet_protocol_names tcp_state_names @@ -45,6 +50,9 @@ #define EM(a) { a, #a }, #define EMe(a) { a, #a } +#define show_family_name(val) \ + __print_symbolic(val, family_names) + #define show_inet_protocol_name(val) \ __print_symbolic(val, inet_protocol_names) @@ -118,6 +126,7 @@ __field(int, newstate) __field(__u16, sport) __field(__u16, dport) + __field(__u16, family) __field(__u8, protocol) __array(__u8, saddr, 4) __array(__u8, daddr, 4) @@ -134,6 +143,7 @@ __entry->oldstate = oldstate; __entry->newstate = newstate; + __entry->family = sk->sk_family; __entry->protocol = sk->sk_protocol; __entry->sport = ntohs(inet->inet_sport); __entry->dport = ntohs(inet->inet_dport); @@ -160,7 +170,8 @@ } ), - TP_printk("protocol=%s sport=%hu dport=%hu saddr=%pI4 daddr=%pI4 saddrv6=%pI6c daddrv6=%pI6c oldstate=%s newstate=%s", + TP_printk("family=%s protocol=%s sport=%hu dport=%hu saddr=%pI4 daddr=%pI4 saddrv6=%pI6c daddrv6=%pI6c oldstate=%s newstate=%s", + show_family_name(__entry->family), show_inet_protocol_name(__entry->protocol), __entry->sport, __entry->dport, __entry->saddr, __entry->daddr,