From owner-freebsd-net@freebsd.org Mon Jul 27 11:30:44 2020 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 BE32D37EB81 for ; Mon, 27 Jul 2020 11:30:44 +0000 (UTC) (envelope-from saimabaig11@gmail.com) Received: from mailman.nyi.freebsd.org (unknown [127.0.1.3]) by mx1.freebsd.org (Postfix) with ESMTP id 4BFd0N3zywz4r90 for ; Mon, 27 Jul 2020 11:30:44 +0000 (UTC) (envelope-from saimabaig11@gmail.com) Received: by mailman.nyi.freebsd.org (Postfix) id 871D437EB80; Mon, 27 Jul 2020 11:30:44 +0000 (UTC) Delivered-To: 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 86E0737EA86 for ; Mon, 27 Jul 2020 11:30:44 +0000 (UTC) (envelope-from saimabaig11@gmail.com) Received: from mail-oi1-x232.google.com (mail-oi1-x232.google.com [IPv6:2607:f8b0:4864:20::232]) (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 4BFd0M3WGVz4qtC for ; Mon, 27 Jul 2020 11:30:43 +0000 (UTC) (envelope-from saimabaig11@gmail.com) Received: by mail-oi1-x232.google.com with SMTP id w17so14031392oie.6 for ; Mon, 27 Jul 2020 04:30:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=H1ZEBUzGmTJLLligPy1xa5QW8XFO+B7eS2P4MtrrYSA=; b=UaJ50lmZfahdm56783p/eiwTJylTUfOJMhbPzFO/A3CDHwqiGYzGWwXC374R1Uq22+ kyqDrveVSrkKZmIXCL11LGG65slMDFnmDi49Rqp302/FfmfC1PyXxTv8bQAckgB2DIFZ cxQiu8ujvKTz/6MyVb1Z8BEmavUszx6BwW7O7hCIceJ46iQmkjkJE0e83ATenEbm7b7/ /621ANapHWTYw281qkBTbInDf8CxVQsB1VA5waJqbfTAL96idTTMGZu1yP3b2PudvzRk Gwk+QqU0cq0HFteB6hMBX7EAHgFdYdt8xIA36YZ0RD142Yx1D0vRNovXCqaS3vjesED2 y5HA== 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=H1ZEBUzGmTJLLligPy1xa5QW8XFO+B7eS2P4MtrrYSA=; b=pH85AD+zpMpEwYdzpTCgMWKMIsvHZFtCcrVF1TeE4K3sXxsZuhRK0Gy0vC7qrqI2YK rrjgj3g/mUskPSLbDowtB6vMSEtGmDjQAzKIpoOF3a5xnxMzM2CVWVvm4wV3+qZhmv7R 3ay4Shq1jTOXe4fGX7mKUIX0+eQFOwbxUAhz5wcEjKgaY69FZBEKEIfYKokf/hAflO9h VvHXZ2/C8GWAhbZaYYpOFERP7Fl04aWdoKkok6pzD0NO1bD4o5jiILhmiPRv52qEPRYK 5UJbi/hjzzN5lvwXvIfQCH83T5Hm/45H5aGxQI7rIiUsNXmLvPIBTXzWofiFgjcSmAbV iowA== X-Gm-Message-State: AOAM532/7EYQLDb24nIV/7UgjqCJAQN3oWN3a3mb4m2UpIftQGv7rzMm Izzwy9tloqEB9yfKAa37Ogn3cJOhUoDkOEEExkHd0G0U X-Google-Smtp-Source: ABdhPJwju8Lqv2adPeyqxRiTV2nDeQoOE29YAzKqw0iF1UjpQ6QKLwpz9aF8sqt8V4Ixg9zrsjO2KDdul0kTEtBgu9M= X-Received: by 2002:a05:6808:88:: with SMTP id s8mr17189227oic.124.1595849442034; Mon, 27 Jul 2020 04:30:42 -0700 (PDT) MIME-Version: 1.0 From: Saima Baig Date: Mon, 27 Jul 2020 17:00:31 +0530 Message-ID: Subject: getting started with FreeBSD network driver development To: net@freebsd.org X-Rspamd-Queue-Id: 4BFd0M3WGVz4qtC X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=UaJ50lmZ; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of saimabaig11@gmail.com designates 2607:f8b0:4864:20::232 as permitted sender) smtp.mailfrom=saimabaig11@gmail.com X-Spamd-Result: default: False [-3.27 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.06)[-1.056]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; FREEMAIL_FROM(0.00)[gmail.com]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[net@freebsd.org]; TO_DN_NONE(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; NEURAL_HAM_LONG(-1.00)[-1.004]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::232:from]; NEURAL_HAM_SHORT(-0.21)[-0.207]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:~]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com:dkim] Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.33 X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Jul 2020 11:30:44 -0000 Hello I'm getting started with driver development in FreeBSD. Im reading the classic 'design and implementation' text by Kirk and Neville et all. As expected I have a bunch of questions and general doubts about things. Here are some of the questions I have: 1. Why are the number of Transmit and Receive descriptors hardware dependent? AFAIK, the driver merely programs the base address of the buffer descriptor ring isn't it? Why would the hardware care if this linked list has 100 elements or 1000? 2. Most examples I find on the internet is for the e1000 adapter, which is a 1Gbps adapter. Things seem to have gotten a lot more complex since the introduction of 10Gbps (and now 40Gbps) adapters and newer hardware techniques like RSS, LRO and TSO. Is there a blog/text that introduces the implementation challenges for these technologies? Lastly, is this the right forum for asking these questions? Where is the web interface to it? Or do these questions belong to the freebsd-net mailing list? waiting to hear from the experts here. Regards, Ms. S