From nobody Wed Nov 23 20:23:03 2022 X-Original-To: freebsd-arch@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4NHXcm6rGtz4jD0N for ; Wed, 23 Nov 2022 20:23:04 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Received: from smtp.freebsd.org (smtp.freebsd.org [96.47.72.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "smtp.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4NHXcm6KNrz3t9b; Wed, 23 Nov 2022 20:23:04 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1669234984; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=wKh4ww5yqcj6bLOuPt6bAD8QMXR4zXyBvSGUm9D+sTA=; b=tZWPBDD1EUmLM11KQEuoEh5eNl4nrXZNjng2G/M3BH8xB0WgbQ2+0+dxaN5QVsFM40Bhso zEO6zJqDCLJUsikEXyaxCGbTJz25ByiKhe4z3OZRGVS1Uj0Mz/mVgH/rSbNUHoKvY58Zwk VjESGqYs5T1fNLtdR6LCYMRUZH09lkt8ksAvHnjawJ9Y96FdTzP9mbTphcL/Mw++bNq6tt F+C6XeY61cU84bhbZ2/M5jUFQkvZ2V/hzv3pG8ZvBV5o9j4eI/fCBT2djLa3H1D3L1pEMi cqf6QFLP92fru96V6zHSuBCVtngwnsjMuUwd9hkzKq3nEQeX5KUNFX0aoZ2oXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1669234984; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=wKh4ww5yqcj6bLOuPt6bAD8QMXR4zXyBvSGUm9D+sTA=; b=L3ql/c6rNF2eeKuHd3oaGzJnFz6/eAWnsqD0ap4yYh5mXxJh2cIJafgwoEmWPJu/CwLWm+ xQg5qRin2JqnW/a4f1n8Wo+81Z7tJL0fxOZ/aQpWoT413/mSr2nI9mSJqkFdFGhUz9FgBf Jib8tdONiukJydek0JNMuewNGhQSlu7ctK2DCvLZuf7EMnrbHsNj/qKZ5oa4U5L126G0fs 9bO9fLk6KXXYYtXVTj1hB32mjT1QU7Jyv/AfLsMwvBeEvpRCjHsTQmtgOUzNnBB9FWo7uH E+RVuLkymDUD70jvByakf+76B2bGH1/yrKsNppS+BTxQ5q0GEIYrzvB/xGsIrQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1669234984; a=rsa-sha256; cv=none; b=qD3oJiWU25RQsDzNE468uO18lNbUXuR3A0vNhAUyDfM/yP0BKXFtIevy6bGsDFV+gZHBtp r+z8TlcHjmjPKNiQeMnylrHZLlUOpR5GPGjZelJMgmyu1t0qRle8BxJaXLoro38m0fjZ2d cBbkCYQB8eJeCSwPyiS72XJQ2ejXwhfTEjerzvn3PJ5m/Aj3s07mbxBtklvnsoGXBg6YCc Y7hwqcYyUwFhEfLEaP+yaDtXgMnwdEq+R8eJJ9wCvvPuwdFmpGRBXc89iNMZxfMUSjj4le rpZV+yDruimwqeGWPlfT3RxyoH/Aw5LUsmzc/sMMUERWBnCY24qrUBEH6phEfA== Received: from ralga-linux (dsl-74-83-251-217.fuse.net [74.83.251.217]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: jhibbits) by smtp.freebsd.org (Postfix) with ESMTPSA id 4NHXcm4NxTz1091; Wed, 23 Nov 2022 20:23:04 +0000 (UTC) (envelope-from jhibbits@FreeBSD.org) Date: Wed, 23 Nov 2022 15:23:03 -0500 From: Justin Hibbits To: George Neville-Neil Cc: freebsd-arch@freebsd.org Subject: Re: Modularizing the network stack with a driver API Message-ID: <20221123152303.6ff602e7@ralga-linux> In-Reply-To: References: <20221123143359.2370ed89@ralga-linux> X-Mailer: Claws Mail 4.1.0 (GTK 3.24.34; powerpc64le-unknown-linux-gnu) List-Id: Discussion related to FreeBSD architecture List-Archive: https://lists.freebsd.org/archives/freebsd-arch List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-arch@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-ThisMailContainsUnwantedMimeParts: N On Wed, 23 Nov 2022 15:09:01 -0500 George Neville-Neil wrote: > On 23 Nov 2022, at 14:33, Justin Hibbits wrote: > > > Hi everyone, > > > > Back in 2014 Marcel Moolenaar started the thread "Roadmap for > > ifnet(9) for FreeBSD 11" > > (https://lists.freebsd.org/pipermail/freebsd-arch/2014-May/015379.html), > > and after 8 years we want to revisit this. This email is to kick > > things off again, and further design discussions. > > > > I've spent time off and on as able over the last couple years > > porting -CURRENT to this "DrvAPI", and have something that > > compiles. Much of the work was committed at the time of the > > initial discussion in 2014, with enhancements done off and on since > > then. Also, much of the shortcomings listed at > > https://wiki.freebsd.org/projects/ifnet have not been addressed at > > all yet. > > > > Most of the work I've done in the recent port has been purely > > mechanical and scripted, fixing build failures along the way. The > > current work in progress can be found in my personal repository at > > https://github.com/chmeeedalf/freebsd/tree/drvapi . The goal of > > this first step is to get things started, address design feedback, > > and move forward in main. > > > > Can you say how this does (or does not) work with the ifLib effort? > I'm happy to have a better driver API for our NIC drivers just > wondering if this replaces, enhances, or has nothing to do with > what's there now. I know that only a few drivers picked up ifLib > (Intel) the last time I looked. > > Best, > George I think they're complementary. Someone can correct my understanding, but iflib looks like a driver library, taking care of the commonalities of hardware drivers (transmit/receive queuing, packet processing), while the DrvAPI is for interfacing with the network stack, abstracting the stack away behind this API - Justin