From patchwork Mon Jan 21 11:11:23 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nemanja Marjanovic X-Patchwork-Id: 49983 X-Patchwork-Delegate: cristian.dumitrescu@intel.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id A5F445B20; Mon, 21 Jan 2019 12:11:26 +0100 (CET) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by dpdk.org (Postfix) with ESMTP id D39BE4CB5 for ; Mon, 21 Jan 2019 12:11:22 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 21 Jan 2019 03:11:21 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,502,1539673200"; d="scan'208";a="140007608" Received: from silpixa00391954.ir.intel.com (HELO silpixa00391954.ger.corp.intel.com) ([10.237.223.32]) by fmsmga001.fm.intel.com with ESMTP; 21 Jan 2019 03:11:20 -0800 From: Nemanja Marjanovic To: dev@dpdk.org Cc: jasvinder.singh@intel.com, cristian.dumitrescu@intel.com, "Nemanja Marjanovic" Date: Mon, 21 Jan 2019 11:11:23 +0000 Message-Id: <20190121111124.16362-3-nemanja.marjanovic@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190121111124.16362-1-nemanja.marjanovic@intel.com> References: <20190121090210.49103-4-nemanja.marjanovic@intel.com> <20190121111124.16362-1-nemanja.marjanovic@intel.com> Subject: [dpdk-dev] [PATCH v6 3/4] net/softnic: support QinQ PPPoE encap X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: "Nemanja Marjanovic" Add implementation of QinQ PPPoE packet encapsulation action. Signed-off-by: Nemanja Marjanovic Acked-by: Cristian Dumitrescu --- v5:Removing footer from patch. v6:Added missing acks. --- drivers/net/softnic/rte_eth_softnic_cli.c | 44 ++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/drivers/net/softnic/rte_eth_softnic_cli.c b/drivers/net/softnic/rte_eth_softnic_cli.c index 57b623377..c15b57b5b 100644 --- a/drivers/net/softnic/rte_eth_softnic_cli.c +++ b/drivers/net/softnic/rte_eth_softnic_cli.c @@ -1335,7 +1335,7 @@ cmd_port_in_action_profile(struct pmd_internals *softnic, * tc * stats none | pkts | bytes | both] * [tm spp pps ] - * [encap ether | vlan | qinq | mpls | pppoe | + * [encap ether | vlan | qinq | mpls | pppoe | qinq_pppoe | * vxlan offset ipv4 | ipv6 vlan on | off] * [nat src | dst * proto udp | tcp] @@ -1612,10 +1612,14 @@ cmd_table_action_profile(struct pmd_internals *softnic, p.encap.encap_mask = 1LLU << RTE_TABLE_ACTION_ENCAP_VXLAN; n_extra_tokens = 5; + } else if (strcmp(tokens[t0 + 1], "qinq_pppoe") == 0) { + p.encap.encap_mask = + 1LLU << RTE_TABLE_ACTION_ENCAP_QINQ_PPPOE; } else { snprintf(out, out_size, MSG_ARG_MISMATCH, "encap"); return; } + p.action_mask |= 1LLU << RTE_TABLE_ACTION_ENCAP; t0 += 2 + n_extra_tokens; } /* encap */ @@ -3353,6 +3357,7 @@ parse_match(char **tokens, * ether * | vlan * | qinq + * | qinq_pppoe * | mpls unicast | multicast * * label0