From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f65.google.com (mail-wm0-f65.google.com [74.125.82.65]) by dpdk.org (Postfix) with ESMTP id 13F151B2A1 for ; Fri, 19 Jan 2018 07:48:54 +0100 (CET) Received: by mail-wm0-f65.google.com with SMTP id 143so1276653wma.5 for ; Thu, 18 Jan 2018 22:48:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=R1MszwT6GKbe+TNlHiVlQ9bDSAFzzK1VhPS3fanaQ0I=; b=KrDyjIvflCStaXSvMFBJzLXYIBWh1KRGKwo22KM5hgcMxEcpufuzlhvNzQP8hVtJtT kgJIJtYs+cTgET4Sz2DrqwVHEHSXx3X2SpFrlYfr/Z5kbXFIw6Y83eq/Cr/xFmohtUro NS7p70yAmZ02scEXDOO4cgChfONz6KGHYNkl4+PvwCp8ThuVKrJnshBkmvWlsv8PqJEs PhIzOP9DeYi0c5Czlj3HXl92/vJOANmBLiUIlz1oI0IdPgE4om578T+/enKabwWdwhMm lFVFJ6PI1iY0OLR1wnqXh35PDXU4uWyCOBzlEUP8q0+NQGw2UffZ98mEF24JKkPVcJ5z 6V/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=R1MszwT6GKbe+TNlHiVlQ9bDSAFzzK1VhPS3fanaQ0I=; b=GVky5CLv9bjnCWmp4aZ2jwbyozHNlrOFT/acXQBxZlerHgrmepPnN5LornAsutGAvP B5jLOiZH5MiKohL7J1fWZkLvaI+xDqJNdmh62kk2PMg6NNZ822RCrLsag2PfgaKEn87w fGKacvdF+oRUy2TrLrReBKvm7TXUiqdXhEMviBpda7EfT0M2Q3Iu7ftb3WEIyjQYt8LA ievMziZzdNNNF79IRrIT8L36zNPGwCC2SebOLyITuL0GmDwr9N0m4vm54rQiFZUXdYuO Chl6QV+NMQow2yWXbEb2XoV0DsV+DtBniDiY+sm1ahiEoQHlMe3+9aEjaX7i8AFqqZ0s FKqw== X-Gm-Message-State: AKwxytckvmJogUNqAKV87fRR3svI4uEf9aIL3F6Xf+9MCu44M08EJeMg AeJdygrvCfagiU081ivyPKw1rW13RvEdEQ== X-Google-Smtp-Source: ACJfBotnweRsMudFozb3WldPY8kPdTR7xO+Zvh09efAmLv34aNBJrFY9826Du7TUpxwA5mEVOc+hBQ== X-Received: by 10.80.146.134 with SMTP id k6mr11345904eda.107.1516344533736; Thu, 18 Jan 2018 22:48:53 -0800 (PST) Received: from [192.168.1.79] (82.107.69.91.rev.sfr.net. [91.69.107.82]) by smtp.gmail.com with ESMTPSA id q11sm305506edj.64.2018.01.18.22.48.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 18 Jan 2018 22:48:52 -0800 (PST) To: Ophir Munk , dev@dpdk.org Cc: Thomas Monjalon , Olga Shern References: <1515692751-25257-1-git-send-email-ophirmu@mellanox.com> <1516282691-29698-1-git-send-email-ophirmu@mellanox.com> From: Pascal Mazon Message-ID: <40669d31-ba1d-7d20-04f2-004a0c5a6da2@6wind.com> Date: Fri, 19 Jan 2018 07:48:51 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.2 MIME-Version: 1.0 In-Reply-To: <1516282691-29698-1-git-send-email-ophirmu@mellanox.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Content-Language: en-US Subject: Re: [dpdk-dev] [PATCH v5 0/6] TAP RSS eBPF cover letter 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: Fri, 19 Jan 2018 06:48:54 -0000 Hi, It seems more logical to me to introduce tap_program (patch 3) before its compiled version (patch 2). Source code is indeed written down before compiling it. The doc section is a good addition. I'll be happy to see the upcoming utility for turning eBPF bytecode to C arrays. I'd have liked to see automation code (in a not-executed Makefile target typically) for generating the bytecode. I'm being told it should happen in the upcoming series along with the aforementioned utility. Otherwise code looks good enough (I couldn't see everything for lack of time), considering that later patches are expected in next release. Acked-by: Pascal Mazon Best regards, Pascal On 18/01/2018 14:38, Ophir Munk wrote: > The patches of TAP RSS eBPF follow the RFC on this issue > https://dpdk.org/dev/patchwork/patch/31781/ > > v5 changes with respect to v4 > ============================= > Update TAP document guide with RSS > > v4 changes with respect to v3 > ============================= > * Code updates based on review comments > * New commits organization (2-->5) based on review comments > 1. net/tap: support actions for different classifiers (preparations for BPF. > No BPF code yet) > 2. net/tap: add eBPF bytes code (BPF bytes code in a separate file) > 3. net/tap: add eBPF program file (Program source code of bytes code) > 4. net/tap: add eBPF API (BPF API to be used by TAP) > 5. net/tap: implement TAP RSS using eBPF > > v3 changes with respect to v2 > ============================= > * Add support for IPv6 RSS in BPF program > * Bug fixes > * Updated compatibility to kernel versions: > eBPF requires Linux version 4.9 configured with BPF > * New license header (SPDX) for newly added files > > v2 changes with respect to v1 > ============================= > * v2 has new commits organization (3 --> 2) > * BPF program was revised. It is successfully tested on > IPv4 L3 L4 layers (compatible to mlx4 device) > * Licensing: no comments received for using "Dual BSD/GPL" > string during BPF program loading to the kernel. > (v1 and v2 are using the same license strings) > Any comments are welcome. > * Compatibility to kernel versions: > eBPF requires Linux version 4.2 configured with BPF. TAP PMD will > successfully compile on systems with old or non-BPF configured kernels. > During compilation time the required Linux headers are searched for. > If they are not present missing definitions are locally added > (tap_autoconf.h). > If the kernel cannot support a BPF operation - at runtime it will > gracefully reject the netlink message (with BPF) sent to it. > > Ophir Munk (6): > net/tap: support actions for different classifiers > net/tap: add eBPF bytes code > net/tap: add eBPF program file > net/tap: add eBPF API > net/tap: implement TAP RSS using eBPF > doc: detail new tap RSS feature in guides > > doc/guides/nics/tap.rst | 60 ++ > drivers/net/tap/Makefile | 34 + > drivers/net/tap/rte_eth_tap.h | 9 +- > drivers/net/tap/tap_bpf.h | 112 +++ > drivers/net/tap/tap_bpf_api.c | 190 +++++ > drivers/net/tap/tap_bpf_insns.h | 1693 +++++++++++++++++++++++++++++++++++++ > drivers/net/tap/tap_bpf_program.c | 221 +++++ > drivers/net/tap/tap_flow.c | 648 +++++++++++--- > drivers/net/tap/tap_flow.h | 13 + > drivers/net/tap/tap_rss.h | 34 + > drivers/net/tap/tap_tcmsgs.h | 4 + > 11 files changed, 2922 insertions(+), 96 deletions(-) > create mode 100644 drivers/net/tap/tap_bpf.h > create mode 100644 drivers/net/tap/tap_bpf_api.c > create mode 100644 drivers/net/tap/tap_bpf_insns.h > create mode 100644 drivers/net/tap/tap_bpf_program.c > create mode 100644 drivers/net/tap/tap_rss.h >