Received: by 2002:a05:7412:b10a:b0:f3:1519:9f41 with SMTP id az10csp2660276rdb; Mon, 4 Dec 2023 04:12:35 -0800 (PST) X-Google-Smtp-Source: AGHT+IEoMsdFZwoiqwbg9r1c/bzGs3MziP3pKxeXVwq+nahKezxc6oBKzcAj5MkGA7qBV2PlnZtG X-Received: by 2002:a05:6a20:1594:b0:18c:2d7:b84c with SMTP id h20-20020a056a20159400b0018c02d7b84cmr4881042pzj.61.1701691955560; Mon, 04 Dec 2023 04:12:35 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701691955; cv=none; d=google.com; s=arc-20160816; b=ZS1/HUv3r7HCijnJx+5CRBev7tXQF8KM2x4XZoqMRo4I+M2i+5cDGFCrvL2Jr5YbHm KVsSpOhsQwCJgzgDGmtg5hhRspHr1Fxyje+VZBLKK2qBdCPjQ4wcHlAVEdWF1eI7RXBr +3TL0dnibFWWefBJkTM9p486xo/IdwEP5P5kJh4ET+yTqeYKxlQOu05/okGNhlmJOk3I K0BPUJtlxCWLqidVjJ6jC0A26IWFARpzPKWpnhvfRNDEWCqN9YyuShzVbZMyNNchnRbS Y113j+qy8s5WaYwkrfi0EIQuXuXM6ugXbVzJwbHWAMY7GuYm29zgAQV0TZhDE08ZmetL M1iQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=YCGwGXRc8AWPbM6p5oU9fh3ewd5Eki7b3LIN2iWwphM=; fh=ET7NeJMQVx5fXYyqPnDuF+8rpt6wH2fOswKnIu4sIPo=; b=zqkSwRaeguSfRPkkhGBMCOJpwIR4sfszhYpaU1uySpVtCJqsweiLVM8csIijx09ZDi umAT2BeWSblcnhWOPkisGkJUwoPLMJfgT9f8cgznMILxj3ygFixmBr8wEY1IiTyy4L+x h4yJ2lNW8Z0rTXpF3BzHAtZo12NXwy3mEWy5/xcKMb/l2zHY0unrvdDez4GKukzWSPFP PqL2m/2VPxiybHprQa5A7mMmjVoiLdeTwDJoyLNiGWATIg7hcZpVGAEpoN1ni8N8xsdh KWZEjIDs4MV09dK76wMWCtWfBbMfr/LVWTxOifD8YJA3yX4IIJ838lzuahjdv/1uPira wpCg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=dmE4a9yF; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from pete.vger.email (pete.vger.email. [23.128.96.36]) by mx.google.com with ESMTPS id x2-20020a654542000000b005c648edd16csi5123457pgr.884.2023.12.04.04.12.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 Dec 2023 04:12:35 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) client-ip=23.128.96.36; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=dmE4a9yF; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.36 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by pete.vger.email (Postfix) with ESMTP id 5D1E98057474; Mon, 4 Dec 2023 04:12:32 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230351AbjLDMMS (ORCPT + 99 others); Mon, 4 Dec 2023 07:12:18 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50172 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229848AbjLDMMR (ORCPT ); Mon, 4 Dec 2023 07:12:17 -0500 Received: from mail-yw1-x112b.google.com (mail-yw1-x112b.google.com [IPv6:2607:f8b0:4864:20::112b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D4C13D2 for ; Mon, 4 Dec 2023 04:12:23 -0800 (PST) Received: by mail-yw1-x112b.google.com with SMTP id 00721157ae682-5d8d2b5d1b5so4512817b3.0 for ; Mon, 04 Dec 2023 04:12:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1701691943; x=1702296743; darn=vger.kernel.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=YCGwGXRc8AWPbM6p5oU9fh3ewd5Eki7b3LIN2iWwphM=; b=dmE4a9yFjGI8pQ2+nlgpQFHPrYAnUi74fqeW7poNAqSSwRlAGTx71LdmEAk1GOmZdC 9ERD6+esNKsBDcgajnHfmU2tg90Db0bbn2KZVvh78e3IlE+OtBYmB7PMATAdArLBmIIm MGb69z5C7iwFqlBS/pbAe5xfS9dcZM0bqfCaX8nprGiwQbZkSMyWaQ9mbj7JqOKctvHw 81QMVsglNjFjMcZ0OSgWO2hPo6my73pgavav6NiXoM8gS+G9PfOkJYrpb+VuXRnD39d+ iao9G2YJ4fhWhtR+TyBUhoNDCYNpT2owu1Wb96X6GJ/WlhhnZr0HN6kw23EjyPRDfsdR vymQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701691943; x=1702296743; 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=YCGwGXRc8AWPbM6p5oU9fh3ewd5Eki7b3LIN2iWwphM=; b=sGxWEMbMougvHPAY7JceKnZsOFf4D2Efd4ZKMHPTZ5XFHQVybc9s58UzIne29sK2RI /1Ajs0/4kbZ+zJoSEi7vdDfFPDGA+HqcRbaojIHOFCGu9TNnj2Yf1CoG97YQ6D6UUt/R Q0geap1savW5LN1GlZ99+GUIeR/kfgiih3KAFboO/BfpoQln1DHR5IPPpEVs2VAXFiXe WqnwlLasyt1fRf2EmPrPlmQgccP0jeMlYCjgnZp4WO5HvBtuxTZr+TGGuqtVZxCU2bCd 5/pEXQ+C4D2erEsvd6p8OeX03FDMtWjP62wh7MWg34p07VytiGn0yPh+iFHuiNVY/CC+ +mYA== X-Gm-Message-State: AOJu0Yw32rgh6ompI4pj4Ja8M9IV+0h7DLkwakkzd58Rvo06S2jFucVq 1QZU3rEEEn2ZuyaJ92bZygtFY12naQK5/ChMv6eRnw== X-Received: by 2002:a81:c84c:0:b0:5ca:61c7:4ac4 with SMTP id k12-20020a81c84c000000b005ca61c74ac4mr1278078ywl.51.1701691942997; Mon, 04 Dec 2023 04:12:22 -0800 (PST) MIME-Version: 1.0 References: <20230607152427.108607-1-manivannan.sadhasivam@linaro.org> <20230607094922.43106896@kernel.org> <20230607171153.GA109456@thinkpad> <20230607104350.03a51711@kernel.org> <20230608123720.GC5672@thinkpad> <20231117070602.GA10361@thinkpad> <20231117162638.7cdb3e7d@kernel.org> <20231127060439.GA2505@thinkpad> <20231127084639.6be47207@kernel.org> <20231128125808.7a5f0028@kernel.org> In-Reply-To: <20231128125808.7a5f0028@kernel.org> From: Dmitry Baryshkov Date: Mon, 4 Dec 2023 14:12:12 +0200 Message-ID: Subject: Re: [PATCH v2 0/2] Add MHI Endpoint network driver To: Jakub Kicinski Cc: Manivannan Sadhasivam , davem@davemloft.net, edumazet@google.com, pabeni@redhat.com, mhi@lists.linux.dev, linux-arm-msm@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, loic.poulain@linaro.org Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (pete.vger.email [0.0.0.0]); Mon, 04 Dec 2023 04:12:32 -0800 (PST) On Tue, 28 Nov 2023 at 22:58, Jakub Kicinski wrote: > > On Tue, 28 Nov 2023 22:35:50 +0200 Dmitry Baryshkov wrote: > > Also, please excuse me if this was already answered, just for my understanding: > > - If we limit functionality to just networking channels which are used > > to pass IP data between host and EP, will that be accepted? > > That's too hard to enforce. We have 200+ drivers, we can't carefully > review every single line of code to make sure you stick to the "just > networking" promise you make us. Plus the next guy will come and tell > us "but you let the company X do it". > > > - If we were to implement the PCIe networking card running Linux (e.g. > > using Freescale PowerQUICC or Cavium Octeon chips), would you also be > > opposed to implementing the EP side of the link as the netdev? > > Yes. > > It's very tempting to reuse existing code, written for traffic to build > a control channel. This becomes painful because: > - the lifetime rules for interfaces to configure vs to pass traffic > are different, which inevitably leads to bugs in common code, > - the use cases are different, which leads to hacks / abuse, > and then it's a lot harder for us to refactor and optimize core > code / data structures, > - IDK how "channel to talk to FW" fits with the normal IP stack... Ok, here you are talking about the control path. I can then assume that you consider it to be fine to use netdev for the EP data path, if the control path is kept separate and those two can not be mixed. Does that sound correct? > > The "FW channel netdevs" exist for decades now, and are very popular > with middle box SDKs, I know. Your choices are: > - keep the code out of tree, > - use a generic interface with a strong standard definition, like > virtio, and expect that no customizations will be allowed. -- With best wishes Dmitry