From patchwork Tue Jan 9 13:55:33 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Safonov X-Patchwork-Id: 857495 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 (1024-bit key; unprotected) header.d=arista.com header.i=@arista.com header.b="ZCFiPR1l"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3zGDGk0CV6z9s75 for ; Wed, 10 Jan 2018 00:57:18 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758332AbeAIN4l (ORCPT ); Tue, 9 Jan 2018 08:56:41 -0500 Received: from mail-wm0-f67.google.com ([74.125.82.67]:41570 "EHLO mail-wm0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758217AbeAINzm (ORCPT ); Tue, 9 Jan 2018 08:55:42 -0500 Received: by mail-wm0-f67.google.com with SMTP id g75so20695816wme.0 for ; Tue, 09 Jan 2018 05:55:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arista.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=iMNcXdGO+a457mI+Fp3z9KFMl2StCMAQT2Ur2njVPFo=; b=ZCFiPR1lgh/ENvYzfCmFFOFBGAzuCutaQeMR9pfErsjUMErKUAPKRbAXF6LwaA1RG5 BithSA4xYe+IPJs0xlrsyvNUxiGuzxMeZeLN+xKiokNVat5QvfY9IObV7aPI1sfWC0fE /OQAucrYKGBi6+PKG+hFcaKDgIXESj27D1R3E= 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=iMNcXdGO+a457mI+Fp3z9KFMl2StCMAQT2Ur2njVPFo=; b=QCcNJJO6ghUKCcMuWAVPN+ZkCvm7uTsOevycpdJul/MqHTyf9zc80bz4gzyb3XIr4N kVjfvJcbthwo5VhzJGoc2C0bWlF5wHUXHiY/bicVAhdD/3uQr0I7UL/adfelhD6kyqQi e3C3PrdQqLkjttWEmPaGiUqJbtv8mzT/xXrMZhaZZnf6N2sbGigy24gZK3xUTYzIelKa e6LQvsskFjdmIIk8GmWPrgV3vhvu3S807iGynpt7Sa6Apu/ibhaiKjjPaZKAJDljAHcq A9i6RHZILkc+GxQRM9OjXVINY4mu6laiDtriSLz6HmwCUxRNJyly2ddLKI4oplh+tk4h WMlA== X-Gm-Message-State: AKwxytfADf3/fpgPiMQC3o7iZOEjb64k/7EIsv19lQPW5GbsD94U513g L72t9CNutxPxCLmyDM7Eyj2DGA== X-Google-Smtp-Source: ACJfBosOuqJp2er1NmSNfDqY9KBItJNdeg2b/YdOaR+hUlPIKZJubDrWT98IyQpX5WcWV/MOir+T/w== X-Received: by 10.80.186.65 with SMTP id 1mr3702276eds.10.1515506141032; Tue, 09 Jan 2018 05:55:41 -0800 (PST) Received: from dhcp.ire.aristanetworks.com ([217.173.96.166]) by smtp.gmail.com with ESMTPSA id n49sm1161697edd.37.2018.01.09.05.55.39 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 09 Jan 2018 05:55:40 -0800 (PST) From: Dmitry Safonov To: linux-kernel@vger.kernel.org Cc: 0x7f454c46@gmail.com, Dmitry Safonov , Arnd Bergmann , "David S. Miller" , David Windsor , Eric Dumazet , Ingo Molnar , Johannes Berg , Mark Rutland , Radu Rendec , "Reshetova, Elena" , netdev@vger.kernel.org Subject: [PATCH 3/5] pktgen: Add behavior flag names array - pkt_flag_names Date: Tue, 9 Jan 2018 13:55:33 +0000 Message-Id: <20180109135535.15237-4-dima@arista.com> X-Mailer: git-send-email 2.13.6 In-Reply-To: <20180109135535.15237-1-dima@arista.com> References: <20180109135535.15237-1-dima@arista.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The array will be used to simplify the code that prints/reads pkg flags. Sorted the array in order of printing the flags in pktgen_if_show() Note: Renamed IPSEC_ON => IPSEC for simplicity. No visible behavior change expected. Signed-off-by: Dmitry Safonov --- net/core/pktgen.c | 64 +++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 41 insertions(+), 23 deletions(-) diff --git a/net/core/pktgen.c b/net/core/pktgen.c index ab63943ffd03..51f273319baf 100644 --- a/net/core/pktgen.c +++ b/net/core/pktgen.c @@ -184,25 +184,43 @@ #define func_enter() pr_debug("entering %s\n", __func__); +#define PKT_FLAGS \ + pf(IPV6) /* Interface in IPV6 Mode */ \ + pf(IPSRC_RND) /* IP-Src Random */ \ + pf(IPDST_RND) /* IP-Dst Random */ \ + pf(TXSIZE_RND) /* Transmit size is random */ \ + pf(UDPSRC_RND) /* UDP-Src Random */ \ + pf(UDPDST_RND) /* UDP-Dst Random */ \ + pf(UDPCSUM) /* Include UDP checksum */ \ + pf(NO_TIMESTAMP) /* Don't timestamp packets (default TS) */ \ + pf(MPLS_RND) /* Random MPLS labels */ \ + pf(QUEUE_MAP_RND) /* queue map Random */ \ + pf(QUEUE_MAP_CPU) /* queue map mirrors smp_processor_id() */ \ + pf(FLOW_SEQ) /* Sequential flows */ \ + pf(IPSEC) /* ipsec on for flows */ \ + pf(MACSRC_RND) /* MAC-Src Random */ \ + pf(MACDST_RND) /* MAC-Dst Random */ \ + pf(VID_RND) /* Random VLAN ID */ \ + pf(SVID_RND) /* Random SVLAN ID */ \ + pf(NODE) /* Node memory alloc*/ \ + +#define pf(flag) flag##_SHIFT, +enum pkt_flags { + PKT_FLAGS +}; +#undef pf + +#define pf(flag) static const __u32 F_##flag = (1<flags & F_IPSEC_ON) { + if (pkt_dev->flags & F_IPSEC) { seq_puts(seq, "IPSEC "); if (pkt_dev->spi) seq_printf(seq, "spi:%u", pkt_dev->spi); @@ -1304,10 +1322,10 @@ static ssize_t pktgen_if_write(struct file *file, pkt_dev->flags &= ~F_QUEUE_MAP_CPU; #ifdef CONFIG_XFRM else if (strcmp(f, "IPSEC") == 0) - pkt_dev->flags |= F_IPSEC_ON; + pkt_dev->flags |= F_IPSEC; else if (strcmp(f, "!IPSEC") == 0) - pkt_dev->flags &= ~F_IPSEC_ON; + pkt_dev->flags &= ~F_IPSEC; #endif else if (strcmp(f, "!IPV6") == 0) @@ -2550,7 +2568,7 @@ static void mod_cur_headers(struct pktgen_dev *pkt_dev) pkt_dev->flows[flow].cur_daddr = pkt_dev->cur_daddr; #ifdef CONFIG_XFRM - if (pkt_dev->flags & F_IPSEC_ON) + if (pkt_dev->flags & F_IPSEC) get_ipsec_sa(pkt_dev, flow); #endif pkt_dev->nflows++; @@ -2655,7 +2673,7 @@ static void free_SAs(struct pktgen_dev *pkt_dev) static int process_ipsec(struct pktgen_dev *pkt_dev, struct sk_buff *skb, __be16 protocol) { - if (pkt_dev->flags & F_IPSEC_ON) { + if (pkt_dev->flags & F_IPSEC) { struct xfrm_state *x = pkt_dev->flows[pkt_dev->curfl].x; int nhead = 0; if (x) {