From owner-freebsd-net@freebsd.org Fri Apr 23 22:12:19 2021 Return-Path: Delivered-To: freebsd-net@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 5C4B15E0AD7 for ; Fri, 23 Apr 2021 22:12:19 +0000 (UTC) (envelope-from kevin.bowling@kev009.com) Received: from mail-yb1-xb35.google.com (mail-yb1-xb35.google.com [IPv6:2607:f8b0:4864:20::b35]) (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 4FRpS240V0z3PD9 for ; Fri, 23 Apr 2021 22:12:18 +0000 (UTC) (envelope-from kevin.bowling@kev009.com) Received: by mail-yb1-xb35.google.com with SMTP id g38so57319623ybi.12 for ; Fri, 23 Apr 2021 15:12:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kev009.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=BNjeacj1swIq4soEgtpu8IV52v9ZVEVD1tTQs9iPGtI=; b=CKAj/TytB5R1IWbCkOEGaijQt6/+cDKBzS1i8UrRxj/pqqnVVgYqIxf9mgFS919cYk gpuUnp0RgEJaBiMwSwWYCOxlZBCqhRFXH/Obi4p048mrWRpa2/eN8DRiNL5Wsne/4CKh yq8Ie9BfhwyMRhx86oO9jCeTp4R9saPZJTbZM= 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=BNjeacj1swIq4soEgtpu8IV52v9ZVEVD1tTQs9iPGtI=; b=QP+QNJgFeA+mygWJUn+0nWHwBTtqDqyHSa4EEjNKePqu+eiu36hRgLXa0Z8yYidn3e zyE7xZdu/KsUdW81/segrrIRfh1nzkW1raUKxW3aQwJo8UHxaMN4NRSBvWtUC6tRqXv5 vFgcP73DoiEYjbcc8rKRMWahrQUIcmzL/PltozeevO7c/0V4Nfxu1vrmkNgJ/maQtAgT TR/G8uA/yHE38FGnO5sjTiS1tUGfkMJwX+XF7Mg7r/7QD4AEHd+kAH26Uz480LMeLTlU tdg2rXl7QNgbxTs7W/0fylkDJOMvB2MfCg+RdZbPMMbJ1jirPePlLXlTiC910o37qU8d GQ5g== X-Gm-Message-State: AOAM533zZi/ELn8dijWwLimoSVDsyiA/nUUVNQ4w8jBefpgjI1nVNw6V qfilayg71fvzP0YT/wxVUXP+iC748TuBVtJ9z16jmw== X-Google-Smtp-Source: ABdhPJyI5z5XD6yxN/DQNmELjk7QxkbTn5Q4CXRgidJ7evzjFpzOQbzUGdKb/62E/RoxdIgKcH++2/J3DVX3Oh5nsjs= X-Received: by 2002:a25:d451:: with SMTP id m78mr5638314ybf.391.1619215937391; Fri, 23 Apr 2021 15:12:17 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Kevin Bowling Date: Fri, 23 Apr 2021 15:12:06 -0700 Message-ID: Subject: Re: Client Networking Issues / NIC Lab To: Rick Macklem Cc: FreeBSD Net Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: 4FRpS240V0z3PD9 X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=none (invalid DKIM record) header.d=kev009.com header.s=google header.b=CKAj/Tyt; dmarc=none; spf=pass (mx1.freebsd.org: domain of kevin.bowling@kev009.com designates 2607:f8b0:4864:20::b35 as permitted sender) smtp.mailfrom=kevin.bowling@kev009.com X-Spamd-Result: default: False [-3.30 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-net@freebsd.org]; DMARC_NA(0.00)[kev009.com]; SPAMHAUS_ZRD(0.00)[2607:f8b0:4864:20::b35:from:127.0.2.255]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[kev009.com:~]; RCPT_COUNT_TWO(0.00)[2]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::b35:from]; NEURAL_HAM_SHORT(-1.00)[-0.999]; R_DKIM_PERMFAIL(0.00)[kev009.com:s=google]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RBL_DBL_DONT_QUERY_IPS(0.00)[2607:f8b0:4864:20::b35:from]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_TLS_ALL(0.00)[]; MAILMAN_DEST(0.00)[freebsd-net]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 23 Apr 2021 22:12:19 -0000 On Fri, Apr 23, 2021 at 6:19 AM Rick Macklem wrote: > > Kyle Evans wrote: > >On Fri, Apr 23, 2021 at 12:22 AM Kevin Bowling wrote: > >> > >> Greetings, > >> > >> [... snip ...] > >> > >> Tehuti Networks seems to have gone out of business. Probably not > >> worth worrying about. > >> > > > >That's unfortunate. I had a box of their 10G NICs and I got them to > >put a driver up for review[0][1], but they weren't very responsive and > >the existing codebase was in pretty rough shape. > > > >Beyond that, your #3 seems to be the most appealing. #2 could probably > >work in the mid-to-long term, but we'd likely be better off > >bootstrapping interest with solid community-supported drivers then > >reaching out to vendors once we can demonstrate that plan field of > >dreams can work and drive some substantial amount of business. > > I'll admit to knowing nothing about it, but is using the linuxKPI > to port Linux drivers into FreeBSD feasible? Hi Rick, I did consider this but do not think it makes sense for PCI Ethernet NIC drivers. I will explain my judgement for consideration. In complex systems such as an Ethernet driver, there are intrinsic and extrinsic complexity. The intrinsic properties of an Ethernet driver are small enough that one person can understand them. So we spend a lot of time fighting against extrinsic problems that I outlined in my email. Put in simpler terms, an iflib driver can be written by one person and there are a number of people that are good at this in the community. The intrinsic complexity of the LKPI on top of an Ethernet driver, as well as some license and social problems people have with LKPI lead it to be a worse fit. If you apply this to drm+i915 etc it is illuminating why the Linux KPI is the right approach. The intrinsic properties of the graphics stack are beyond time and practicality for most in the community, the graphics drivers have become labyrinths that most kernel devs don't have internal knowledge of, rival the size of the rest of the kernel, and keeping up is easier if internal code changes can be kept to a minimum. > Obviously, given the size of the Linux community, it seems > more likely that it will have a driver that handles many chip > variants, plus updates for newer chips, I think. I would agree that Linux has a much better Realtek driver. I am familiar with the Linux e1000 series for instance, and although they tend to have most the workarounds the quality is a lot lower than most users realize. > I do agree that having drivers that at least work for the > basics (maybe no Netmap, TSO, or similar) for the > commodity chips would make it easier for new adopters > of FreeBSD. (I avoid the problem by finding old, used > hardware. The variants of Intel PRO1000 and re chips I > have work fine with the drivers in FreeBSD13/14.;-) Having good inbox network drivers is a way for FreeBSD to differentiate itself. I like nice drivers like cxgbe(4), it is a great piece of engineering and to me even artful. Consider some cxgbe so you can test high speeds :) > Oh, and if TSO support is questionable, I think it would be > better to leave it disabled and at least generate a warning > when someone enables it, if it can be enabled at all. I would like to preserve and correct TSO and other offloads as much as possible. There are consequences to half assing it such as burning more electricity than necessary and causing unnecessary HW upgrade/replacement. Of course, where we can't deliver, we should limit the feature set to known good ones. Striking this balance will require more feedback from the community, with faster turnaround time on PRs. > Good luck with it, rick > > Thanks, > > Kyle Evans > > [0] https://reviews.freebsd.org/D18856 > [1] https://reviews.freebsd.org/D19433 > _______________________________________________ > freebsd-net@freebsd.org mailing list > https://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org" >