From owner-soc-status@freebsd.org Tue Jul 28 03:47:08 2020 Return-Path: Delivered-To: soc-status@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 40DA837B3B0 for ; Tue, 28 Jul 2020 03:47:08 +0000 (UTC) (envelope-from ankur.kothiwal99@gmail.com) Received: from mail-qk1-f180.google.com (mail-qk1-f180.google.com [209.85.222.180]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BG2fz374xz3XTQ; Tue, 28 Jul 2020 03:47:07 +0000 (UTC) (envelope-from ankur.kothiwal99@gmail.com) Received: by mail-qk1-f180.google.com with SMTP id g26so17515064qka.3; Mon, 27 Jul 2020 20:47:07 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=wGjHfsG1+YR8k8GYGgVjXoe07iNSqvUzREPH9o6Wm7I=; b=kokCZelvQz6mTl/WubNsj9XhnPj12DtWlIabK8zysedKR/vrku+Wak7bTDIzTJfDJt V/zXmbM+hDN7Lxjh73cNxlkMnvbhQ9vQ7c2kSM1p9r8eYQKqifnnmuEG/21xlRqOY1pI vTQ6Uwr0fq+v4aQrDtn0v92p8iney/IUp4t+BdM5+WlCZbiDoMJU8CjgLuYnzp3SWtE9 0Jof0TX6Vr/VST7tNFwuUwEbC5jnnI/0j8z9B+u1TrBGL+qmirw9Ai7PR3MfXifQ+tmE FHLjlEwed8SE/FRhNYpBO5z0fE0OyBcwuRwDv8qp/Lk9vm1BfY4g1vw/foZoDOezYkHH NawQ== X-Gm-Message-State: AOAM530e4XsJH5w5Ttrz1f0dPOSpwMYz51GJ/XMRdsyFhRE8APyTKjmg i5S1D5MnVADYtey5nwl2NyIWyiOZc7w= X-Google-Smtp-Source: ABdhPJw1FQBjRoWV7udKgL2Cp1a12rp8y3+D5Z0MQCobEE6PL/0Z01AAxRAaQQL6fAnScqxU8RluFQ== X-Received: by 2002:a05:620a:16c4:: with SMTP id a4mr7157954qkn.333.1595908026182; Mon, 27 Jul 2020 20:47:06 -0700 (PDT) Received: from mail-qk1-f182.google.com (mail-qk1-f182.google.com. [209.85.222.182]) by smtp.gmail.com with ESMTPSA id t65sm20044510qkf.119.2020.07.27.20.47.05 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 27 Jul 2020 20:47:05 -0700 (PDT) Received: by mail-qk1-f182.google.com with SMTP id b14so15769362qkn.4; Mon, 27 Jul 2020 20:47:05 -0700 (PDT) X-Received: by 2002:a05:620a:164b:: with SMTP id c11mr25405885qko.91.1595908025691; Mon, 27 Jul 2020 20:47:05 -0700 (PDT) MIME-Version: 1.0 From: Ankur Kothiwal Date: Tue, 28 Jul 2020 09:16:33 +0530 X-Gmail-Original-Message-ID: Message-ID: Subject: [GSoC'20 Weekly Update - Week 7] eBPF XDP Hook To: soc-status@freebsd.org, rstone@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 4BG2fz374xz3XTQ X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of ankurkothiwal99@gmail.com designates 209.85.222.180 as permitted sender) smtp.mailfrom=ankurkothiwal99@gmail.com X-Spamd-Result: default: False [-1.66 / 15.00]; FROM_NEQ_ENVFROM(0.00)[ankur@freebsd.org,ankurkothiwal99@gmail.com]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCVD_TLS_ALL(0.00)[]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; MIME_GOOD(-0.10)[text/plain]; TO_DN_NONE(0.00)[]; ARC_NA(0.00)[]; DMARC_NA(0.00)[freebsd.org]; NEURAL_HAM_LONG(-0.85)[-0.854]; RCVD_COUNT_THREE(0.00)[4]; NEURAL_HAM_MEDIUM(-0.37)[-0.371]; NEURAL_HAM_SHORT(-0.43)[-0.433]; RCPT_COUNT_TWO(0.00)[2]; RCVD_IN_DNSWL_NONE(0.00)[209.85.222.180:from]; FORGED_SENDER(0.30)[ankur@freebsd.org,ankurkothiwal99@gmail.com]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.222.180:from]; R_DKIM_NA(0.00)[]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; MIME_TRACE(0.00)[0:+]; TAGGED_FROM(0.00)[] X-BeenThere: soc-status@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: Summer of Code Status Reports and Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Jul 2020 03:47:08 -0000 Hi all, Project: Implement eBPF XDP for FreeBSD by extending VirtIO ethernet driver if_vtnet The goal of this project is to extend an existing FreeBSD network driver,VirtIO if_vtnet to be able to call into an eBPF program when processing a newly received packet. The driver will perform the basic actions of XDP like PASS and DROP the packet as specified by the program. The project will also implement new map type and other eBPF helper functions.The aim of this project is to add new probe sites into the kernel that will call eBPF functions. Mentor: Ryan Stone and Hiroki Sato Progress made this week: - register the xdp hook and link it to the head - create a xdp_rx function which will pass the received packets to the ebpf program where the packets can be further processed. This function will return XDP actions like DROP and PASS. Currently: - write an eBPF program to process ICMP traffic Project GSoC Wiki: https://wiki.freebsd.org/SummerOfCodeIdeas#eBPF_XDP_Hooks Github repo including the changes : https://github.com/Ankurk99/freebsd/tree/ebpf-import Github Repo for the original code: https://github.com/rysto32/freebsd/tree/ebpf-import Thank you for reading. Please feel free to share feedback. Thanks and Regards Ankur Kothiwal