From owner-soc-status@freebsd.org Mon Aug 31 13:08:05 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 16FD53C13A5 for ; Mon, 31 Aug 2020 13:08:05 +0000 (UTC) (envelope-from denis.sale@gmail.com) Received: from mail-lj1-f195.google.com (mail-lj1-f195.google.com [209.85.208.195]) (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 4Bg9VW4PN7z4VRt for ; Mon, 31 Aug 2020 13:08:03 +0000 (UTC) (envelope-from denis.sale@gmail.com) Received: by mail-lj1-f195.google.com with SMTP id s205so2101749lja.7 for ; Mon, 31 Aug 2020 06:08:03 -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=Z7uTYfd+SXrz6ykBO0MqUz6a2bVQcNHkpx7bOYhJyn8=; b=qPOLpIU4mKODzwYzVWtFGVHKcxxV1J622r2F3YRbuyUHw4G/hE0ptNEng7KvV1T1gY 3eMU1rv6I8G5inA4iW2Kmwtr5s8RU2CNHrhuIGa/AaSky/K54D2261FrTcQLwKnmIX6K WPKGNi5N/HOJccY9TL1diukakRjulEGvtQQEXd5tnCi9LacdwlgV3rcRH0K4P4Q06DRM XFYMTovH03qHp3lBtO+JeHfP8JHh6XZ12NcV2Je5yzOunFy4kERADhsAgIo2efgVAaXa qKSuo+ctcAePPSo8Brw2ekPmQEDoVWWUiVw/Q0Hhh2H3stQ+3p+VZy73ott/DqqkjSDE XMvw== X-Gm-Message-State: AOAM532QV1XY6ClfTDx9Uz+70ajVKKbac6oqe4xHugIJP7LJJlg49Upr SCoVSLe2OTnNW5HmOk/pZR3eW9UTu8cV/w== X-Google-Smtp-Source: ABdhPJyHnLaa5OlAj+MXLfxfs7gX081T/by4ENOIdBAZFaHVNs5evS05NydvitXUgmp6txJELiKaMQ== X-Received: by 2002:a2e:8593:: with SMTP id b19mr424702lji.290.1598879281612; Mon, 31 Aug 2020 06:08:01 -0700 (PDT) Received: from mail-lj1-f174.google.com (mail-lj1-f174.google.com. [209.85.208.174]) by smtp.gmail.com with ESMTPSA id l82sm845663lfd.58.2020.08.31.06.08.01 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 31 Aug 2020 06:08:01 -0700 (PDT) Received: by mail-lj1-f174.google.com with SMTP id r13so6639412ljm.0 for ; Mon, 31 Aug 2020 06:08:01 -0700 (PDT) X-Received: by 2002:a2e:808a:: with SMTP id i10mr668232ljg.313.1598879280820; Mon, 31 Aug 2020 06:08:00 -0700 (PDT) MIME-Version: 1.0 From: Denis Salopek Date: Mon, 31 Aug 2020 15:08:01 +0200 X-Gmail-Original-Message-ID: Message-ID: Subject: [GSoC '20] NetFPGA SUME reference NIC device driver To: soc-status@freebsd.org X-Rspamd-Queue-Id: 4Bg9VW4PN7z4VRt X-Spamd-Bar: - Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of denissale@gmail.com designates 209.85.208.195 as permitted sender) smtp.mailfrom=denissale@gmail.com X-Spamd-Result: default: False [-1.74 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17:c]; TO_DN_NONE(0.00)[]; RCVD_COUNT_THREE(0.00)[4]; NEURAL_HAM_SHORT(-0.00)[-0.001]; FORGED_SENDER(0.30)[denissal@freebsd.org,denissale@gmail.com]; MIME_TRACE(0.00)[0:+,1:+,2:~]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; R_DKIM_NA(0.00)[]; TAGGED_FROM(0.00)[]; TO_DOM_EQ_FROM_DOM(0.00)[]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.79)[-0.791]; FROM_NEQ_ENVFROM(0.00)[denissal@freebsd.org,denissale@gmail.com]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; NEURAL_HAM_LONG(-0.95)[-0.949]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[soc-status@freebsd.org]; DMARC_NA(0.00)[freebsd.org]; RCPT_COUNT_ONE(0.00)[1]; RCVD_IN_DNSWL_NONE(0.00)[209.85.208.195:from]; RWL_MAILSPIKE_POSSIBLE(0.00)[209.85.208.195:from]; RCVD_TLS_ALL(0.00)[]; MAILMAN_DEST(0.00)[soc-status] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.33 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: Mon, 31 Aug 2020 13:08:05 -0000 Hello everyone! Project wiki: https://wiki.freebsd.org/SummerOfCode2020Projects/NetFPGA_SUME_Driver After spending some time in the reviewing process and fixing a couple of hidden bugs, I am happy to report that the driver has been merged in FreeBSD (commit https://reviews.freebsd.org/rS364973 ). While programming the driver and trying out the SUME board with both available SUME NIC designs (reference NIC and NICv2), I was met with various unexpected hardware issues which proved to be difficult to address. To alleviate the problems arising from these issues, the NetFPGA reference NIC driver I've developed with the help from my mentors now includes some additional features, not available in the original Linux version: - more balanced TCP throughput, - link state detection / reporting, - access to hardware counters via sysctl, - watchdog function to reset the HW if it gets stuck in TX state. I plan to further develop for FreeBSD - I have already started working on the improved NetFPGA SUME NICv2 design and the current project really helped me to better understand reading and writing kernel code. Thank you for the chance to participate in this project. This experience was valuable as I have learned something new and further developed my skills which would be difficult for me without this project. Special thanks to my mentors Bjoern A. Zeeb and Marko Zec who provided a critical role in this project with their excellent feedback and contributions. Best regards, Denis Salopek