From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH v2 0/4] rte_flow extension for vSwitch acceleration Date: Tue, 10 Apr 2018 16:12:50 +0200 Message-ID: <1974024.7EKsGxv3Hy@xps> References: <1522279780-34842-1-git-send-email-qi.z.zhang@intel.com> <1522617562-25940-1-git-send-email-qi.z.zhang@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev@dpdk.org, Qi Zhang , declan.doherty@intel.com, sugesh.chandran@intel.com, michael.j.glynn@intel.com, yu.y.liu@intel.com, konstantin.ananyev@intel.com, bruce.richardson@intel.com To: adrien.mazarguil@6wind.com Return-path: Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) by dpdk.org (Postfix) with ESMTP id 454501B899 for ; Tue, 10 Apr 2018 16:12:53 +0200 (CEST) In-Reply-To: <1522617562-25940-1-git-send-email-qi.z.zhang@intel.com> List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Adrien, How this series integrate with yours? Please, we need your review here. 01/04/2018 23:19, Qi Zhang: > v2: > - fix couple typoes in code, doc and commit log > > This patch extend rte_flow API. > The purpose is to provide necessary 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_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. > > 2. Enhanced flow statistics query. > Enhanced action RTE_FLOW_ACTION_COUNT by adding last hit timestamp tracking which is > the requirement from OVS. > > 3. Add protocol headers which will be supported by incoming device. > > New protocal headers include IPV4 ARP, IPV6 ICMP , IPV6 extent header. > > 4. 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 driver to demonstrate the new APIs is still in development, > but we hope it could be accepted early to make OVS integration smoothly. > - Testpmd command line support does not be included and will be submitted > seperately in future. > > Qi Zhang (4): > ether: add flow action to redirect packet to a port > ether: add flow last hit query support > ether: add more protocol support in flow API > ether: add packet modification aciton in flow API > > doc/guides/prog_guide/rte_flow.rst | 111 +++++++++++++++++ > lib/librte_ether/rte_flow.h | 238 ++++++++++++++++++++++++++++++++++++- > 2 files changed, 348 insertions(+), 1 deletion(-) > >