From patchwork Wed Dec 20 03:12:54 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yafang Shao X-Patchwork-Id: 851184 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="mW8Bi151"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3z1fxZ1btqz9sCZ for ; Wed, 20 Dec 2017 14:13:54 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754193AbdLTDNj (ORCPT ); Tue, 19 Dec 2017 22:13:39 -0500 Received: from mail-pg0-f68.google.com ([74.125.83.68]:35907 "EHLO mail-pg0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754156AbdLTDNe (ORCPT ); Tue, 19 Dec 2017 22:13:34 -0500 Received: by mail-pg0-f68.google.com with SMTP id k134so11409178pga.3; Tue, 19 Dec 2017 19:13:33 -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:in-reply-to:references; bh=9FXZu2Kz27E+5+wUzkXUFq+h2QJVhD/K+D7mnWgc3H0=; b=mW8Bi151Z1Mu4difv+L+hcET4uiv2Gju5GRppZLt5PL2x29jCSG4VOJ+7jYoHWr2ZN eAkntbfLE+oicjfO0ggxe9df6kFqJ6R8xdd+OQwQpzWgmmAYNyqtuZJfWpcSu76dh9Si iEDdDoDSHrVeozO7rfNgdW2ESK3j4NOw+2y02mGk5oArm6I35WMXIz5ffG4p93xs4Jba T0a4/pifdzk2XwCpbRVFzMG9SfHOlL7i9idJ44o1z5WEsQKE8hgOVfHAxfF0+rn7POe6 2udQSoRHqinoH/vRVQX1V185hBZEOucFATHaRJc8Nso+743IHeVl68naxvBYvy8MhrOE AMEg== 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:in-reply-to :references; bh=9FXZu2Kz27E+5+wUzkXUFq+h2QJVhD/K+D7mnWgc3H0=; b=l61s95ij2Bkx1Neg4I1vdTGGxr+ODtj2vqHDeF2/GU/OziRd2f9RLrBTgjT9KZRUeT 7OIz3uZwuGokp9XeFoeyT/7oBsUOwcnS+5E78TYRRCFnITCjhrwfjAyXntWAR0xdTfEj OgMyKlgvHIXq2qH6+h0+QgcNbfPd9qYzmgJlywfxYdMpH55Z4CuzEkwl5rD7SyPMQIVg ZiwEIz1zbRczVTC/0gUXZ1hHJM8k4t3MVLZ4bQCRmmAIzAmYwfGzqy2ct02FXT0IpY52 dcw5DdVIX1VBxXVJAdgjI5B00sAa6FY+tIO4rECIysMFxT7XjS06eRP9ohOPkBtCN1LT fnhA== X-Gm-Message-State: AKGB3mJV4mR5LKn/Z4xiREPnjp7JvngyiC4+Nt8BYYWQzYblLxRUskxh rmxtkBJvrtSF7xntzQ6dL/gG4LwO X-Google-Smtp-Source: ACJfBouEUo7WO40afRE49ecxFxijGLFOZSXfdmSC4dxHJoN0/Dq1OYuhjDF/wXccdxd3LXAqxPeUIg== X-Received: by 10.101.97.15 with SMTP id z15mr4850477pgu.267.1513739613015; Tue, 19 Dec 2017 19:13:33 -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 x4sm31401314pfb.13.2017.12.19.19.13.30 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 19 Dec 2017 19:13:32 -0800 (PST) From: Yafang Shao To: songliubraving@fb.com, davem@davemloft.net, marcelo.leitner@gmail.com, rostedt@goodmis.org Cc: bgregg@netflix.com, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Yafang Shao Subject: [PATCH v3 net-next 5/5] net: tracepoint: using sock_set_state tracepoint to trace SCTP state transition Date: Wed, 20 Dec 2017 11:12:54 +0800 Message-Id: <1513739574-3345-6-git-send-email-laoar.shao@gmail.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1513739574-3345-1-git-send-email-laoar.shao@gmail.com> References: <1513739574-3345-1-git-send-email-laoar.shao@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org With changes in inet_ files, SCTP state transitions are traced with inet_sock_set_state tracepoint. As SCTP state names, i.e. SCTP_SS_CLOSED, SCTP_SS_ESTABLISHED, have the same value with TCP state names. So the output info still print the TCP state names, that makes the code easy. Signed-off-by: Yafang Shao --- net/sctp/endpointola.c | 2 +- net/sctp/sm_sideeffect.c | 4 ++-- net/sctp/socket.c | 12 ++++++------ 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/net/sctp/endpointola.c b/net/sctp/endpointola.c index ee1e601..8b31468 100644 --- a/net/sctp/endpointola.c +++ b/net/sctp/endpointola.c @@ -232,7 +232,7 @@ void sctp_endpoint_free(struct sctp_endpoint *ep) { ep->base.dead = true; - ep->base.sk->sk_state = SCTP_SS_CLOSED; + inet_sk_set_state(ep->base.sk, SCTP_SS_CLOSED); /* Unlink this endpoint, so we can't find it again! */ sctp_unhash_endpoint(ep); diff --git a/net/sctp/sm_sideeffect.c b/net/sctp/sm_sideeffect.c index 8adde71..c0c3ec6 100644 --- a/net/sctp/sm_sideeffect.c +++ b/net/sctp/sm_sideeffect.c @@ -878,12 +878,12 @@ static void sctp_cmd_new_state(struct sctp_cmd_seq *cmds, * successfully completed a connect() call. */ if (sctp_state(asoc, ESTABLISHED) && sctp_sstate(sk, CLOSED)) - sk->sk_state = SCTP_SS_ESTABLISHED; + inet_sk_set_state(sk, SCTP_SS_ESTABLISHED); /* Set the RCV_SHUTDOWN flag when a SHUTDOWN is received. */ if (sctp_state(asoc, SHUTDOWN_RECEIVED) && sctp_sstate(sk, ESTABLISHED)) { - sk->sk_state = SCTP_SS_CLOSING; + inet_sk_set_state(sk, SCTP_SS_CLOSING); sk->sk_shutdown |= RCV_SHUTDOWN; } } diff --git a/net/sctp/socket.c b/net/sctp/socket.c index 7eec0a0..59b5689 100644 --- a/net/sctp/socket.c +++ b/net/sctp/socket.c @@ -1544,7 +1544,7 @@ static void sctp_close(struct sock *sk, long timeout) lock_sock_nested(sk, SINGLE_DEPTH_NESTING); sk->sk_shutdown = SHUTDOWN_MASK; - sk->sk_state = SCTP_SS_CLOSING; + inet_sk_set_state(sk, SCTP_SS_CLOSING); ep = sctp_sk(sk)->ep; @@ -4653,7 +4653,7 @@ static void sctp_shutdown(struct sock *sk, int how) if (how & SEND_SHUTDOWN && !list_empty(&ep->asocs)) { struct sctp_association *asoc; - sk->sk_state = SCTP_SS_CLOSING; + inet_sk_set_state(sk, SCTP_SS_CLOSING); asoc = list_entry(ep->asocs.next, struct sctp_association, asocs); sctp_primitive_SHUTDOWN(net, asoc, NULL); @@ -7509,13 +7509,13 @@ static int sctp_listen_start(struct sock *sk, int backlog) * sockets. * */ - sk->sk_state = SCTP_SS_LISTENING; + inet_sk_set_state(sk, SCTP_SS_LISTENING); if (!ep->base.bind_addr.port) { if (sctp_autobind(sk)) return -EAGAIN; } else { if (sctp_get_port(sk, inet_sk(sk)->inet_num)) { - sk->sk_state = SCTP_SS_CLOSED; + inet_sk_set_state(sk, SCTP_SS_CLOSED); return -EADDRINUSE; } } @@ -8538,10 +8538,10 @@ static void sctp_sock_migrate(struct sock *oldsk, struct sock *newsk, * is called, set RCV_SHUTDOWN flag. */ if (sctp_state(assoc, CLOSED) && sctp_style(newsk, TCP)) { - newsk->sk_state = SCTP_SS_CLOSED; + inet_sk_set_state(newsk, SCTP_SS_CLOSED); newsk->sk_shutdown |= RCV_SHUTDOWN; } else { - newsk->sk_state = SCTP_SS_ESTABLISHED; + inet_sk_set_state(newsk, SCTP_SS_ESTABLISHED); } release_sock(newsk);