From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-3.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 05755C433DB for ; Fri, 26 Mar 2021 20:17:03 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id D977C61A24 for ; Fri, 26 Mar 2021 20:17:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230261AbhCZUQe (ORCPT ); Fri, 26 Mar 2021 16:16:34 -0400 Received: from p3plsmtpa06-01.prod.phx3.secureserver.net ([173.201.192.102]:49888 "EHLO p3plsmtpa06-01.prod.phx3.secureserver.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230003AbhCZUQR (ORCPT ); Fri, 26 Mar 2021 16:16:17 -0400 Received: from chrisHP110 ([76.103.216.188]) by :SMTPAUTH: with ESMTPA id PssRluyw95NJSPssSlh2vm; Fri, 26 Mar 2021 13:16:17 -0700 X-CMAE-Analysis: v=2.4 cv=bPLTnNyZ c=1 sm=1 tr=0 ts=605e4111 a=ZkbE6z54K4jjswx6VoHRvg==:117 a=ZkbE6z54K4jjswx6VoHRvg==:17 a=kj9zAlcOel0A:10 a=RhfDxTFQNv-UFsv0dfcA:9 a=CjuIK1q_8ugA:10 a=fCgQI5UlmZDRPDxm0A3o:22 X-SECURESERVER-ACCT: don@thebollingers.org From: "Don Bollinger" To: "'Andrew Lunn'" Cc: "'Jakub Kicinski'" , , , , , , , , , , "'netdev'" , "'Moshe Shemesh'" , References: <018701d71772$7b0ba3f0$7122ebd0$@thebollingers.org> <01ae01d71850$db4f5a20$91ee0e60$@thebollingers.org> <20210315103950.65fedf2c@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com> <001201d719c6$6ac826c0$40587440$@thebollingers.org> <009601d72023$b73dbde0$25b939a0$@thebollingers.org> <011301d7226f$dc2426f0$946c74d0$@thebollingers.org> In-Reply-To: Subject: RE: [PATCH v2] eeprom/optoe: driver to read/write SFP/QSFP/CMIS EEPROMS Date: Fri, 26 Mar 2021 13:16:14 -0700 Message-ID: <011901d7227c$e00015b0$a0004110$@thebollingers.org> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Outlook 15.0 Thread-Index: AQGU1SetidobDDbBbPSeytwVQgsqiAJT1D0gAif1GfUCN93UFQH9aXkeAgikA2gCDVXEaQIaigMZAliqgToBPL7YiwHCMwNMqnmDWgA= Content-Language: en-us X-CMAE-Envelope: MS4xfHyUkELn3EA/B12+Sx+cLF0zxakA4dwqL8EgwX2LLa0yuIIISUC+uguilZXaBcRsorkhuUUB1wEwM4wox2qLZMneKA5MyVmbdZ/cNlJJm/Pnczs/i5u+ iZLUVQS+ri6Ryw8POwfyZK2qAGjUW/Baqb1uf8tawjEykH+ISaexqzFUUSZW+vp3guKIaT1qf+6f0QTs6t2KX5UH0EO+X5q+VbfqvmvKiNAlbmRPmOyMN/OZ qDzLmj+qNNVCmtxsiO/f/qUVN/SkblTDuoryLhqDDabh7ZRnhA2GNxfoNLpmFmM/h0UcA/Evw4bBMI1gfXJdvaGEn265EruAAeVCkye7QvfUAJxLcgp/9ksc UyHEfm4hHz46pK5nLTeLSUbvN/wVe3qnYy6EadZwaOUHGS3GmfXzvxwbiJQyzvHsQRIfCXJfigKmfzd5EklppCPiOPNYZ8xAGHQvhtLrdbINJWmbaKO3xMU5 n8t29LTS37jzdDcgzyjZOSdYm/KvjakPp8j5wv1+A9pVOs7A4fgyEpKErX9/0HJG2qn+jGjV8P7RqFmMTqzm4CxDRaQ4Qf1PA+LW+skegR2nO0HjkiydFH0n mhoBSYbrfsAfxldZvT2SG4YN Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > > In my community, the SFP/QSFP/CMIS devices (32 to 128 of them per > > switch) often cost more than the switch itself. Consumers (both > > vendors and > > customers) extensively test these devices to ensure correct and > > reliable operation. Then they buy them literally by the millions. > > Quirks lead to quick rejection in favor of reliable parts from > > reliable vendors. In this environment, for completely different > > reasons, optoe does not need to handle quirks. > > Well, if optoe were to be merged, it would not be just for your community. It > has to work for everybody who wants to use the Linux kernel with an SFP. > You cannot decide to add a KAPI which just supports a subset of SFPs. It > needs to support as many as possible, warts and all. > > So how would you handle these SFPs with the optoe KAPI? Just like they are handled now. Folks who use your stack would filter through sfp.c, with all the quirk handling, and eventually call optoe for the actual device access. Folks who don't use kernel networking would call optoe directly and limit themselves to well behaved SFPs, or would handle quirks in user space. You think that's dumb, but there is clearly a market for that approach. It is working, at scale, today. BTW, why can't we have a driver that only handles devices that work correctly? Indeed, why would we tolerate an endless stream of special cases for each new device that comes along? Don