From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f67.google.com (mail-wm0-f67.google.com [74.125.82.67]) by dpdk.org (Postfix) with ESMTP id 2AA027D19 for ; Tue, 2 Jan 2018 09:13:45 +0100 (CET) Received: by mail-wm0-f67.google.com with SMTP id g75so60105293wme.0 for ; Tue, 02 Jan 2018 00:13:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=Q2CUDJi/MWhdJmrFQHJIUpxMAqIrDpO7CSG+JsiK1So=; b=114kvTFQ7HbDK1bgVRc3snmItzKDf0z7fsG3jnHybGSo2Ul2VDKMWA/2hc/iUeyg4c aobR4Su5P3KHaB9PVsze2ZbKCPRATNVkdAr7tXbd7T1CuF3O/tWN2J28tpUJ6RYInl+Q TQ2K61fqB+fTty50LzmRVhnlGQrFzy9puGjA6f+EpaK2aDpAQTzQdU+xA9CkDPmZCxhG wFzRBrYeYONkJTrarEh1L2ErbXg1sa/dh2MEoammFGuX15Tt2o58HpbcHoR2L2blPIeb ycu1vb1IvSVANel6qbiQnOw5goDdNEaTHjlBStVJizR9Kfrk6+bsEiyhQZqEHvb8YfrB nelA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=Q2CUDJi/MWhdJmrFQHJIUpxMAqIrDpO7CSG+JsiK1So=; b=aZrL8BJh5fFT5l6hxMTb1/d6+jQyPCByy93qWOie35gJFKqqLLJRp9nFNWikSO34ih 2NSrMZdYgRdBOX2c8ETqiFWKnGVdhXyStrzNQY7oQdsAOJ/i9FaktV/De8OKohTmx9x2 9lfwqDunPypth8Zvdhqg9oyvV1a9xwy1UbAoarE3Cxp6cImO4uqA+mS3fcCrqq8xmLQA 40OnyS4wGQIAGGcbg9bkR4/kAMOfUqUFQzmiXVW+Ju29YTexYlAvzNwEGTkxwsdJqk8G Vu4AtfpNC0ZkZ0d1onoUNBW5vvpiLlAVGJw/GRVYFFDepv3teZUjV/N/yAYowjc7Y4PY MdXA== X-Gm-Message-State: AKGB3mJJ3XA6OmqT+AU1u7fJJD7PqFu6KODhoEpajuJLqv35BHhW/xOb qYPuazwGGAHS+GkOhdNXCWQc X-Google-Smtp-Source: ACJfBouKbxQjjUh7dwHyxizsmcocbs+lFkWiFsVRry24cv1royQP2jO8ecfWPW7rh5nU9wKrEAMOEg== X-Received: by 10.80.172.122 with SMTP id w55mr61829385edc.144.1514880824665; Tue, 02 Jan 2018 00:13:44 -0800 (PST) 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 c33sm36012267edd.36.2018.01.02.00.13.43 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 02 Jan 2018 00:13:44 -0800 (PST) Date: Tue, 2 Jan 2018 09:12:55 +0100 From: Nelio Laranjeiro To: Qi Zhang Cc: adrien.mazarguil@6wind.com, dev@dpdk.org, declan.doherty@intel.com Message-ID: <20180102081255.fivvu5apxry6ntsx@laranjeiro-vm.dev.6wind.com> References: <1513805689-28202-1-git-send-email-qi.z.zhang@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1513805689-28202-1-git-send-email-qi.z.zhang@intel.com> User-Agent: NeoMutt/20170113 (1.7.2) Subject: Re: [dpdk-dev] [RFC 0/5] rte_flow extension for vSwitch acceleration 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: , X-List-Received-Date: Tue, 02 Jan 2018 08:13:45 -0000 Hi Zhang, On Wed, Dec 20, 2017 at 04:34:44PM -0500, Qi Zhang wrote: > This patch extend rte_flow API. > The purpose is to provide comfortable programming interface for virtual switch > software (such as OVS) to take advantage of incoming device's vSwitch acceleration > capability when using DPDK as data plane. > > Below is summary of changes: > > 1. Support to specify flow's destination as an ethdev interface. > > Add action RTE_FLOW_ACTION_TYPE_ETHDEV_PORT, use port_id as the identification > of the destitation. A typical use case is, with a smart NIC used for vSwitch > acceleration, flow is defined to redirect packet between switch port that is > managed by a Port Representor. > See patch for Port Representor: http://dpdk.org/dev/patchwork/patch/31458/ > > 2. Enhanced flow statistics query. > Enhanced action RTE_FLOW_ACTION_COUNT by adding last hit timestamp tracking which is > the requirement from OVS. Seems this introduce a regression for drop flows and for hardware unable to timestamp packets which are already using the count action. Why not using the timestamp API in conjunction with the mark id action? > 3. Add flow timeout support as the requirement from OVS > Application is able to > a) Setup the time duration of a flow, the flow is expected to be deleted automatically > when timeout. > b) Ping a flow to check if it is active or not. > c) Register a callback function when a flow is deleted due to timeout. > > 4. Add protocol headers which will be supported by incoming device. > > New protocal headers include IPV4 ARP, IPV6 ICMP , IPV6 extent header. > > 5. Add packet modification actions which will be supported by incoming device. > > Add new actions that be used to modify packet content with generic semantic: > > RTE_FLOW_ACTION_TYPE_FIELD_UPDATE: update specific field of packet > RTE_FLWO_ACTION_TYPE_FIELD_INCREMENT: increament specific field of packet > RTE_FLWO_ACTION_TYPE_FIELD_DECREMENT: decreament specific field of packet > RTE_FLWO_ACTION_TYPE_FIELD_COPY: copy data from one field to another in packet. > > All action use struct rte_flow_item parameter to match the pattern that going > to be modified, if no pattern match, the action just be skipped. > These action are non-terminating action. they will not impact the fate of the > packets, since pattern match is expected to be performed before packet be modified. > > Note: > The RFC patch is based on v17.11. > Testpmd command line support is not included. > > Qi Zhang (4): > ether: add flow action to redirect packet in a switch domain > ether: add flow last hit query support > ether: Add flow timeout support > ether: add packet modification aciton in rte_flow > > Thomas Monjalon (1): > version: 17.11.0 > > doc/guides/prog_guide/rte_flow.rst | 148 +++++++++++++++++++++++++++ > lib/librte_eal/common/include/rte_version.h | 4 +- > lib/librte_ether/rte_flow.c | 38 +++++++ > lib/librte_ether/rte_flow.h | 149 +++++++++++++++++++++++++++- > lib/librte_ether/rte_flow_driver.h | 12 +++ > pkg/dpdk.spec | 2 +- > 6 files changed, 349 insertions(+), 4 deletions(-) > > -- > 2.7.4 > Regards, -- Nélio Laranjeiro 6WIND