From patchwork Thu Jul 5 14:33:08 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?N=C3=A9lio_Laranjeiro?= X-Patchwork-Id: 42363 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 06A171BED9; Thu, 5 Jul 2018 16:33:22 +0200 (CEST) Received: from mail-wm0-f67.google.com (mail-wm0-f67.google.com [74.125.82.67]) by dpdk.org (Postfix) with ESMTP id 0D5FE1BED8 for ; Thu, 5 Jul 2018 16:33:20 +0200 (CEST) Received: by mail-wm0-f67.google.com with SMTP id v3-v6so7687886wmh.0 for ; Thu, 05 Jul 2018 07:33:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=/osfGuFYx5qIdgqaaUBAC6jd8iDgwiJNcs+ahONNx2w=; b=KIgEHOv3Z1/RUh/oP7wQIr+4O1quG9OoFFNYSBWRK/SkcP7Zdi9oNULEflInJCcqNG W0+4IHA4Figyf0z/r4ZrzO66lT8MHAkat9vc5lYrZWOdrp7d80RQjgFXsz5uCE6/odqS 5barNc0WaDI0iuRj6iaFSL4m04KEUj5R0HDrYwYAgQEw2BUE3NKR19Ke1qdPKvmKM6nZ Mm2I9zf3ZvpYs8CD6/QxL1eC2QPYjojD/piRwlSazECZXGwQy6frw7xVJa8Q6wwOJOc5 0S3J6r9nJinmlL9N8YyV5IGiuHLUnwZTPstc4dx2yF7bqaRXk4Ox8nN4tLJIpwf09HcY x8RQ== 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=/osfGuFYx5qIdgqaaUBAC6jd8iDgwiJNcs+ahONNx2w=; b=RqUz1FB6vflVsFPmXQ6hYPfQNTYKaiJMsTKNFhzaQ3jnBE3pbmReMt1tbq93U1dGUR ZpR47sGnBQClWe4FjTAbkhSsJO9rruKRnoISy2X73BQW/1DIbx3QVlLFyjO+I1YHzJ9E Q7TbeEEvUbO4ujJBK4xSWxx9GHiUcB+pJsKBJKn8uvLAfKBIwoXwwqzl/I9KvqeH1Akq uZBVb6Y9qOyL0MdMNJwVW9OielnD8tsVQGi2mm/y0xJSMeS/M78YlGrEcSkthwbfAzYl jdC29B96jhWlPUutFdgMRmd3EQMRGxutYRASUOW4G+5QfjG7XHsd0wf3FXzX0CM7bJFX SUxw== X-Gm-Message-State: APt69E1SXUum5d0L77znse3CCMiLxGiUU0STYieYCnUrSMTHWbAV6jWx ODkToDEMYWFDgISYaFHauscq+JG25A== X-Google-Smtp-Source: AAOMgpcYjLmFzER8ZyiHPvZ8C2LtuzrEX4cC0SwtGUDYrXUVt2bl6e8QOUKwzjgnJNJYVoex8zgR1Q== X-Received: by 2002:a1c:6fdd:: with SMTP id c90-v6mr4195987wmi.16.1530801199361; Thu, 05 Jul 2018 07:33:19 -0700 (PDT) Received: from laranjeiro-vm.dev.6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id j131-v6sm7583637wmb.35.2018.07.05.07.33.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 05 Jul 2018 07:33:18 -0700 (PDT) From: Nelio Laranjeiro To: dev@dpdk.org, Adrien Mazarguil , Wenzhuo Lu , Jingjing Wu , Bernard Iremonger , Mohammad Abdul Awal , Stephen Hemminger Cc: Ori Kam Date: Thu, 5 Jul 2018 16:33:08 +0200 Message-Id: X-Mailer: git-send-email 2.18.0 In-Reply-To: References: Subject: [dpdk-dev] [PATCH v8 0/2] app/testpmd implement VXLAN/NVGRE Encap/Decap 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" This series adds an easy and maintainable configuration version support for those two actions for 18.08 by using global variables in testpmd to store the necessary information for the tunnel encapsulation. Those variables are used in conjunction of RTE_FLOW_ACTION_{VXLAN,NVGRE}_ENCAP action to create easily the action for flows. A common way to use it: set vxlan ip-version ipv4 vni 4 udp-src 4 udp-dst 4 ip-src 27.0.0.1 ip-dst 128.0.0.1 eth-src 11:11:11:11:11:11 eth-dst 22:22:22:22:22:22 flow create 0 ingress pattern end actions vxlan_encap / queue index 0 / end set vxlan-with-vlan ip-version ipv4 vni 4 udp-src 4 udp-dst 4 p-src 127.0.0.1 ip-dst 128.0.0.1 vlan-tci 34 eth-src 11:11:11:11:11:11 eth-dst 22:22:22:22:22:22 flow create 0 ingress pattern end actions vxlan_encap / queue index 0 / end set vxlan ip-version ipv6 vni 4 udp-src 4 udp-dst 4 ip-src ::1 ip-dst ::2222 eth-src 11:11:11:11:11:11 eth-dst 22:22:22:22:22:22 flow create 0 ingress pattern end actions vxlan_encap / queue index 0 / end set vxlan-with-vlan ip-version ipv6 vni 4 udp-src 4 udp-dst 4 ip-src ::1 ip-dst ::2222 vlan-tci 34 eth-src 11:11:11:11:11:11 eth-dst 22:22:22:22:22:22 flow create 0 ingress pattern end actions vxlan_encap / queue index 0 / end This also replace the proposal done by Mohammad Abdul Awal [1] which handles in a more complex way for the same work. Note this API has already a modification planned for 18.11 [2] thus those series should have a limited life for a single release. [1] https://dpdk.org/ml/archives/dev/2018-May/101403.html [2] https://dpdk.org/ml/archives/dev/2018-June/103485.html Changes in v8: - add static tokens in the command line to be user friendly. Changes in v7: - add missing documentation added in v5 and removed in v6 by mistake. Changes in v6: - fix compilation under redhat 7.5 with gcc 4.8.5 20150623 Changes in v5: - fix documentation generation. - add more explanation on how to generate several encapsulated flows. Changes in v4: - fix big endian issue on vni and tni. - add samples to the documentation. - set the VXLAN UDP source port to 0 by default to let the driver generate it from the inner hash as described in the RFC 7348. - use default rte flow mask for each item. Changes in v3: - support VLAN in the outer encapsulation. - fix the documentation with missing arguments. Changes in v2: - add default IPv6 values for NVGRE encapsulation. - replace VXLAN to NVGRE in comments concerning NVGRE layer. Nelio Laranjeiro (2): app/testpmd: add VXLAN encap/decap support app/testpmd: add NVGRE encap/decap support app/test-pmd/cmdline.c | 345 ++++++++++++++++++++ app/test-pmd/cmdline_flow.c | 274 ++++++++++++++++ app/test-pmd/testpmd.c | 32 ++ app/test-pmd/testpmd.h | 32 ++ doc/guides/testpmd_app_ug/testpmd_funcs.rst | 107 ++++++ 5 files changed, 790 insertions(+) Acked-by: Adrien Mazarguil Tested-by: Mohammad Abdul Awal Acked-by: Mohammad Abdul Awal