From nobody Wed Dec 21 14:58:05 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 4Ncc5F0sv1z1H7nY for ; Wed, 21 Dec 2022 14:58:25 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.169]) (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 1D4" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Ncc5D1xFkz4NNQ; Wed, 21 Dec 2022 14:58:24 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Authentication-Results: mx1.freebsd.org; dkim=none; spf=pass (mx1.freebsd.org: domain of carpeddiem@gmail.com designates 209.85.214.169 as permitted sender) smtp.mailfrom=carpeddiem@gmail.com; dmarc=none Received: by mail-pl1-f169.google.com with SMTP id w20so9171332ply.12; Wed, 21 Dec 2022 06:58:24 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=6JtwNsNrGwTMf+i9ImxOFoztAx72vAsiJPVyxnifX8o=; b=Zd65eTmzTa49d6TYodNuLFX/f/l0n3gjYsCQ6v45NZ8P+0PdiN5uypzqmBS7rE5wMA ugYeAlwI4HR5kvhYV83tNPz4PuCI7eYOXgSkzQ7K+lLjd3/1Vrp20C6P3m8qumdxambe Mwlq5iV8VxyWIIONwaVj7zj/+wNamS5pVuDJMdgrZDj/ter4mUbPNmBmLSngjFBPRKiG vWXeRJ8yOLugRWB4DVIImCrZS2Nw1B3OVwtL5AAMtTrKCgvO2CrdjHDsmZtjJjDaKUJ8 Mv+H1e5LmFkZ2YV8Ju39+R74u9JgFDb/I+NAqDCPYzhwA+dqKE53VcvdeFy7//WFvnGQ nT5w== X-Gm-Message-State: AFqh2koF/mFEDkzVb3QKEFIzv7s0Xn9ekabzL+YHqZDUnN0x+J1Sy7UR NAaXiSh0zeXkgbV1p7ht9kfNOWeDOjjc6AyINh89Lonh X-Google-Smtp-Source: AMrXdXtJnwQw+PVQ4Ca7NWOX7NXmB/03pn5m16NAoL28ZVKpmHOlPeJaDYjFVK59Ib27R5KrxqiryBGtsxXRAO2khe4= X-Received: by 2002:a17:90a:f86:b0:219:ef02:b354 with SMTP id 6-20020a17090a0f8600b00219ef02b354mr160330pjz.168.1671634701439; Wed, 21 Dec 2022 06:58:21 -0800 (PST) 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 References: <20221123143359.2370ed89@ralga-linux> In-Reply-To: <20221123143359.2370ed89@ralga-linux> From: Ed Maste Date: Wed, 21 Dec 2022 09:58:05 -0500 Message-ID: Subject: Re: Modularizing the network stack with a driver API To: Justin Hibbits Cc: freebsd-arch@freebsd.org Content-Type: text/plain; charset="UTF-8" X-Spamd-Result: default: False [-2.13 / 15.00]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; FORGED_SENDER(0.30)[emaste@freebsd.org,carpeddiem@gmail.com]; R_SPF_ALLOW(-0.20)[+ip4:209.85.128.0/17]; RWL_MAILSPIKE_GOOD(-0.10)[209.85.214.169:from]; MIME_GOOD(-0.10)[text/plain]; NEURAL_HAM_SHORT(-0.03)[-0.028]; MIME_TRACE(0.00)[0:+]; RCVD_IN_DNSWL_NONE(0.00)[209.85.214.169:from]; ASN(0.00)[asn:15169, ipnet:209.85.128.0/17, country:US]; MLMMJ_DEST(0.00)[freebsd-arch@freebsd.org]; FREEMAIL_ENVFROM(0.00)[gmail.com]; R_DKIM_NA(0.00)[]; RCPT_COUNT_TWO(0.00)[2]; RCVD_TLS_LAST(0.00)[]; DMARC_NA(0.00)[freebsd.org]; FREEFALL_USER(0.00)[carpeddiem]; ARC_NA(0.00)[]; FROM_NEQ_ENVFROM(0.00)[emaste@freebsd.org,carpeddiem@gmail.com]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; TO_DN_SOME(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-Rspamd-Queue-Id: 4Ncc5D1xFkz4NNQ X-Spamd-Bar: -- X-ThisMailContainsUnwantedMimeParts: N On Wed, 23 Nov 2022 at 14:34, Justin Hibbits wrote: > > 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. Thanks for picking up this long-neglected effort. One comment, let's make sure that documentation gets updated as we go - right now ifnet(9) documents struct ifnet's internals and makes no reference to any of the accessor functions. The man page likely needs significant work at some point as it's already quite long, but we should at least mention that direct access to ifnet internals is undesired, and list the accessors.