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 46473A0471 for ; Tue, 13 Aug 2019 17:46:30 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 0513E1252; Tue, 13 Aug 2019 17:46:29 +0200 (CEST) Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) by dpdk.org (Postfix) with ESMTP id 87C26271 for ; Tue, 13 Aug 2019 17:46:27 +0200 (CEST) Received: by mail-pl1-f182.google.com with SMTP id 4so42444190pld.10 for ; Tue, 13 Aug 2019 08:46:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=GxLo3of9fUiDKdOSmue3XhruewdQGAJb874yBkdVO6c=; b=EBFU+CtU0Ikrw2MXqVAbEE7Xwo7vu+OvkFWuXsgK7I0IxuaulR0N/xeHYCxERIDBHu rc+j1UCqsM/x9DN4xXq4aIFE79BphlU5xI2ZmQhkmmaQxHnExfX6a49jopg/Qx5LjPoH KbkD7CFKQZ5rRj8ghgayliphF6CkOp69qOyWWTUhLQuG5TeWj6YE7g3G+p6tTwjvfvs+ +SkakNyouiYyxXpfPVkgdTQkq4zsszXzacPaztlJsRWmigttIR1Scsen2TRXdq8ed/LO MM2JfZrEaPbukyskLxrHuhJe84cN2ENVyUvtCXTCHpytP6oeAQP7pc3rx59RJHOHcFlJ KH/w== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=GxLo3of9fUiDKdOSmue3XhruewdQGAJb874yBkdVO6c=; b=gVYQ77pCzb2HIYbehe+KL4FJXsSb/OZ+D/C1TIfB3m2S8SFRdPFmTYSnFJ0cosUxDX wJDx9nvk4LUn+yxG82lO1vtC495V0w95XotekFzEIFVc0TiJe10kV4G02aSy1GQbSkCT 61/U94dBdxMgwC0MLRS893tZ+Qi1M3T+re8JOLd361gvqjfw486UNycHlg9KCuLXPpc8 0Yzr+VFdMHY5pmM8VWbigDIXKtuJ7Vg4O/p5vhoC9Ofod156+E1dbjTyG9fTUtzkq7yA ycEVHR4gzTSyI1FJjVKIf4Y4U3FTNgg0p1P7B7sFFMKLphcqbnGPijowxD8R7elTh1ed wDTw== X-Gm-Message-State: APjAAAWaknQyBUSkro6TagEEAHCDAclLyrlRZSlrWZzN6OhZpnh/Zjsn mqhv+rsx5XIAXrRautiondzPXg== X-Google-Smtp-Source: APXvYqwst7pkap0BuwJ82Cqh3IXF6XaxirHSXLDmSc6krwMfhc+eH6xfOiJ3ERN+mNIYksJuqurU5w== X-Received: by 2002:a17:902:3103:: with SMTP id w3mr38939843plb.84.1565711186514; Tue, 13 Aug 2019 08:46:26 -0700 (PDT) Received: from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127]) by smtp.gmail.com with ESMTPSA id z14sm1851472pjr.23.2019.08.13.08.46.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 13 Aug 2019 08:46:26 -0700 (PDT) Date: Tue, 13 Aug 2019 08:46:19 -0700 From: Stephen Hemminger To: Ori Kam Cc: thomas@monjalon.net, ferruh.yigit@intel.com, arybchenko@solarflare.com, shahafs@mellanox.com, viacheslavo@mellanox.com, alexr@mellanox.com, dev@dpdk.org Message-ID: <20190813084619.6b78a7b9@hermes.lan> In-Reply-To: <1565703468-55617-1-git-send-email-orika@mellanox.com> References: <1565703468-55617-1-git-send-email-orika@mellanox.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: Re: [dpdk-dev] [RFC] ethdev: support hairpin queue 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 Tue, 13 Aug 2019 13:37:48 +0000 Ori Kam wrote: > This RFC replaces RFC[1]. > > The hairpin feature (different name can be forward) acts as "bump on the wire", > meaning that a packet that is received from the wire can be modified using > offloaded action and then sent back to the wire without application intervention > which save CPU cycles. > > The hairpin is the inverse function of loopback in which application > sends a packet then it is received again by the > application without being sent to the wire. > > The hairpin can be used by a number of different NVF, for example load > balancer, gateway and so on. > > As can be seen from the hairpin description, hairpin is basically RX queue > connected to TX queue. > > During the design phase I was thinking of two ways to implement this > feature the first one is adding a new rte flow action. and the second > one is create a special kind of queue. Life would be easier for users if the hairpin was an attribute of queue configuration, not a separate API call.