From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 35AAEA0350; Fri, 26 Jun 2020 13:10:52 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 94ADB1BED5; Fri, 26 Jun 2020 13:10:46 +0200 (CEST) Received: from mail-il1-f194.google.com (mail-il1-f194.google.com [209.85.166.194]) by dpdk.org (Postfix) with ESMTP id 191331BED2 for ; Fri, 26 Jun 2020 13:10:46 +0200 (CEST) Received: by mail-il1-f194.google.com with SMTP id x9so8121806ila.3 for ; Fri, 26 Jun 2020 04:10:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=4EeAVJtZ3mlZYgg8mH56RMJMA9owHTMbsmwOO9sPAAw=; b=YI4yNV8hkfrUFLNPclHElUZ9ewfgZjYnKGZI6aqUJ7elf96pMpx/OwcVFuS1ZToJiv BmUqlAzcmeKIK2GlPZfq/w3L/+fKySGaXPYNW5kAbzEtK1a+R0+0SNaUj9u7N+KnbYZq /5n0lMDV3MpF6wPc0JLPPe9QTasonFSHGmWFUG7xjGlJ7wyDrXwfXr045mpqSIjyKeLz hF4J+oMfzjh/SNN1w3FazSF/2HMV7+mdSfLd3dty5QmrfRGKc519wqt7MZz7+dIdNziI Yyy1fDpOHCYS+jegLAo7U6fiWqOLiyNs+PQt84f4AGtvFfaumjSYGzbI+OkHfKGzNFKP 89Bw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=4EeAVJtZ3mlZYgg8mH56RMJMA9owHTMbsmwOO9sPAAw=; b=itw6tYMVK5s03swJ/F6HyozcCiHtpC7LVl4M7efSIo5o5Be1lFHjUW2piiLYbbBAIG xzl/ERiSylcfdo2gbCubB+Hfg5TlnGdqI6fLIEy1IakbRpIqlDg9exti3WtrnlwXT842 teILS9xph7Q6kAPObbcaIpL6woUK2UpBGVFPn2yaETYN21t+X0e1FpWQ07Mo50KIhkKc hsstvc37iHywJSVamZk3YWPvjqL1TNyHb2YjxmnWO6rJaPFaPO/RrLEWlVuqg711dZU7 b3S2pMYM4Kq+86b0JcCS3Ch2xbq8VqYVfnb0WE+wph2F0aCqjjDSnI89w6T74okvJgQi QWOA== X-Gm-Message-State: AOAM530RsLEZECZTw+81FsabwdPEBodWLF3n/nKsW36HMH2B2xfGgV4A V5tsvj8ZW98V8RSWxOPAzjShxcuICCsPw1KwtpU= X-Google-Smtp-Source: ABdhPJxuGhIAo69IXvYP9me+99qDtbzuwGF0q8XVjmGXpUNNmCoir+nBXskilJz+ZqHtMU83NMzwwcsSstAWgoo13IA= X-Received: by 2002:a92:d0a:: with SMTP id 10mr2500363iln.162.1593169845329; Fri, 26 Jun 2020 04:10:45 -0700 (PDT) MIME-Version: 1.0 References: <1593102379-400132-1-git-send-email-jiaweiw@mellanox.com> <17660414.AQMWyGVKyv@thomas> <7719744.nB5e5IOROX@thomas> In-Reply-To: <7719744.nB5e5IOROX@thomas> From: Jerin Jacob Date: Fri, 26 Jun 2020 16:40:29 +0530 Message-ID: To: Thomas Monjalon Cc: Jiawei Wang , Ori Kam , Slava Ovsiienko , Matan Azrad , dpdk-dev , Raslan Darawsheh , ian.stokes@intel.com, fbl@redhat.com, Ferruh Yigit , Andrew Rybchenko Content-Type: text/plain; charset="UTF-8" Subject: Re: [dpdk-dev] [PATCH 1/8] ethdev: introduce sample action for rte flow 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" On Fri, Jun 26, 2020 at 4:16 PM Thomas Monjalon wrote: > > 26/06/2020 12:35, Jerin Jacob: > > On Fri, Jun 26, 2020 at 12:59 AM Thomas Monjalon wrote: > > > > > > 25/06/2020 19:55, Jerin Jacob: > > > > On Thu, Jun 25, 2020 at 10:20 PM Jiawei Wang wrote: > > > > > > > > > > When using full offload, all traffic will be handled by the HW, and > > > > > directed to the requested vf or wire, the control application loses > > > > > visibility on the traffic. > > > > > So there's a need for an action that will enable the control application > > > > > some visibility. > > > > > > > > > > The solution is introduced a new action that will sample the incoming > > > > > traffic and send a duplicated traffic in some predefined ratio to the > > > > > application, while the original packet will continue to the target > > > > > destination. > > > > > > > > > > The packets sampled equals is '1/ratio', if the ratio value be set to 1 > > > > > , means that the packets would be completely mirrored. The sample packet > > > > > can be assigned with different set of actions from the original packet. > > > > > > > > > > In order to support the sample packet in rte_flow, new rte_flow action > > > > > definition RTE_FLOW_ACTION_TYPE_SAMPLE and structure rte_flow_action_sample > > > > > > > > Isn't mirroring the packet? How about, RTE_FLOW_ACTION_TYPE_MIRROR > > > > I am not able to understand, Why it is called sample. > > > > > > Sampling is a partial mirroring. > > > > I think, By definition, _sampling_ is the _selection_ of items from a > > specific group. > > I think, _sampling_ is not dictating, what is the real action for the > > "selected" items. > > One can get confused with the selected ones can be for forward, drop > > any other action. > > I see. Good design question (I will let others reply). > > > So IMO, explicit mirror keyword usage makes it is clear. > > > > Some more related questions: > > 1) What is the real use case for ratio? I am not against adding a > > ratio attribute if the MLX hardware supports it. It will be good to > > know the use case from the application perspective? And what basics > > application set ratio != 1? > > If I understand well, some applications want to check, > by picking random packets, that the processing is not failing. Not clear to me. I will wait for another explanation if any. In what basics application set .1 vs .8? > > > 2) If it is for "rate-limiting" or "policing", why not use rte_mtr > > object (rte_mtr.h) via rte_flow action. > > 3) One of the issue for driver developers and application writers are > > overlapping APIs. This would overlap with rte_eth_mirror_rule_set() > > API. > > > > Can we deprecate rte_eth_mirror_rule_set() API? It will be a pain for > > all to have overlapping APIs. We have not fixed the VLAN filter API > > overlap with rte_flow in ethdev. Its being TODO for multiple releases > > now. > > Ooooooooh yes! > I think flow-based API is more powerful, and should deprecate > old port-based API. +1 from me. it is taking too much effort and time to make support duplicate APIs. > I want to help deprecating such API in 20.11 if possible. Please start that discussion. In this case, it is clear API overlap with rte_eth_mirror_rule_set(). We should not have two separate paths for the same function in the same ethdev library. > > > > Full mirroring is sampling 100% packets (ratio = 1). > > > That's why only one action is enough. > > >