From owner-freebsd-net@freebsd.org Mon Jul 27 12:06:59 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 CFDFF360D80 for ; Mon, 27 Jul 2020 12:06:59 +0000 (UTC) (envelope-from saimabaig11@gmail.com) Received: from mail-oi1-x234.google.com (mail-oi1-x234.google.com [IPv6:2607:f8b0:4864:20::234]) (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 4BFdpB5lfxz4tl6 for ; Mon, 27 Jul 2020 12:06:58 +0000 (UTC) (envelope-from saimabaig11@gmail.com) Received: by mail-oi1-x234.google.com with SMTP id u24so4227771oiv.7 for ; Mon, 27 Jul 2020 05:06:58 -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=yX6n7bznnQ+ejw3K7otbCQsvo54OiqhLRrBBV4xopxQ=; b=GT/kLm41OY6I5JdYGdqIhZaTFZGK0Hde3TCmgNXNGZp4HJAbNYRdSBE+GWsw6rET/0 JTDS7bBEE/S6l6VUPwDQv5HIGvrTBGI9s0vEJ4PjgjyennXPu864BjibocO+xliqtbfK WZCed0kjfpwzOsOsGdyMrTHDOi2vS4bzBxqvMCqp714knT/6O/HHW4exaLvfbF4oKzYR joS9e9Jy+opo0HDA0K89f01EJPlCFfZTxzz7pjuDLzyHP+EOLZiTgYD8XBNlNCUXGhfl 1IeGLAd0tWJXggrjJ4AjAfzbqZm57KI6v0OvND+UAXy5ztAiyLmF4v6Rl+O9NEqH8uEy qfXQ== 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=yX6n7bznnQ+ejw3K7otbCQsvo54OiqhLRrBBV4xopxQ=; b=UNVSfHkMm6sb6nMmNeW5T/ZaM+Kxl9XxIao6Yhc3ObkrUgfpjwBw8ku5uNQllKGV2j OJH1vnjUkLK97gtOmpFs0d5TeIUJpx10yP+2xzLtHskNSoOPkXvJQ6a5twgEpOleUO7x 4AkiObQ/BEs4lKHMR9ZRct+TbW5VQZjDTPqCbYIH2+LP3k5CB3kF1FG8k8pRvUgHCA60 kcyXnSGIWp0lQ3qiCe1Q1DBXU91pzGDcs9VlR0b5d5pNUBn5njA/ZJPIKgDP3LR7vECh RafsB0csa/Jd+nGibpUS273ont1j8M3SfOeLy4V31Uugu/oZoodOGc/P27AbAYrpgCXR mY+g== X-Gm-Message-State: AOAM530jfiD02i9+7Pr6xlTmFfVv3YpVSOXMzVsa46Zw/ujYrHiUL5Jj Cl/ABX27qiepSvE/fygcolWd+HIrS7w4Z2VtvW6hCRnAVf4= X-Google-Smtp-Source: ABdhPJyUr0/JB4qzVOT8CLRjPzskDpGvTRgP2jSJB66e5kMNT0P45kXXIG8u4N0LyLhhDHxqmZ8O8ZVqrNlSpU6K3v4= X-Received: by 2002:a05:6808:3b8:: with SMTP id n24mr17202902oie.84.1595851617639; Mon, 27 Jul 2020 05:06:57 -0700 (PDT) MIME-Version: 1.0 From: Saima Baig Date: Mon, 27 Jul 2020 17:36:46 +0530 Message-ID: Subject: Network driver development To: freebsd-net@freebsd.org X-Rspamd-Queue-Id: 4BFdpB5lfxz4tl6 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=GT/kLm41; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of saimabaig11@gmail.com designates 2607:f8b0:4864:20::234 as permitted sender) smtp.mailfrom=saimabaig11@gmail.com X-Spamd-Result: default: False [-2.75 / 15.00]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.06)[-1.059]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36:c]; FREEMAIL_FROM(0.00)[gmail.com]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-net@freebsd.org]; TO_DN_NONE(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; NEURAL_HAM_LONG(-0.99)[-0.995]; TO_MATCH_ENVRCPT_ALL(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; RCVD_IN_DNSWL_NONE(0.00)[2607:f8b0:4864:20::234:from]; NEURAL_SPAM_SHORT(0.31)[0.306]; 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 12:06:59 -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, as a meta question, where do questions on freebsd network drivers belong to? This mailing list or the generic drivers mailing list? Or should I post it to net@freebsd.org? waiting to hear from the experts here. Regards, Ms. S