Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp631572ybi; Wed, 19 Jun 2019 05:23:57 -0700 (PDT) X-Google-Smtp-Source: APXvYqxmsx5s+LycoDsvW5geJhlRumqDN8hhMv+qS0quw3hX/IDx1OH7w5oWol3B84p35PksYgLo X-Received: by 2002:a17:90a:ba94:: with SMTP id t20mr11392933pjr.116.1560947037767; Wed, 19 Jun 2019 05:23:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560947037; cv=none; d=google.com; s=arc-20160816; b=IaWVwU+CqtOKL19Ssno/o7qLptHA/JI09AAX/QnOiLoKR4KkVVwljwNmfzTZXIOYSE brZpeUcGGd/VoEc9Fc6vCqyHX8pPb4RpAdIKHN0gaXl1gcuegb7//YTLphuC1WgfeGGs Kat89vBTkZmAwwARtue1Yxmyt8o+6EvX4uRPqeraOIp7WIGDp20H8oE0Zy7zot6NnNwL foNtszaCWK1U7ylhf8m2EIa3DH7EBYQRxAlxYUtHIR4AVT3I1BWfnDe0D4CdC5JyjHsQ gWnMtNlnvbPO/nKjuLdy7DH0ikBShVo396v1RJAxOEaqGeZfzDBnp3+E91acDK+MBbx9 5B1w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version; bh=QrX9o1dbIy2aZ5toQHumMIX6sMGzZ/T6xkwZyYDZz14=; b=dG69Dh30z+Bx2uuKfGsa9F07iydnR88j1z/l6pASR7shFVC1CXxzBPAz1Fu8bh2uWr yUzwc1wrZ7fBwCqNbswqfPsd0MDXdOLef2otsYXCz36QfrJt2tcj+D1Xd4aSo06IC74W q2uY6e2+K4FCjPDFivfqqj6W/r479wICjgh19GFtpxeBvk0OQVCCyDF952IEHrM3wdwm PZYTRNiehgOmcLdfwVbWuPGzmZYo9fjIrGbI8R/mggoR5i8rpbyFe9S+ptvSlfON6WTQ odGLOsz0Jtbh8WLRYhJXUjFjtF6p+S1CFcOKyV5HSZFCiY2hHDdFDQp2nQMVHRDCWUkN i0Mg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f6si3201320pgk.120.2019.06.19.05.23.41; Wed, 19 Jun 2019 05:23:57 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731715AbfFSMXf (ORCPT + 99 others); Wed, 19 Jun 2019 08:23:35 -0400 Received: from mail-qt1-f196.google.com ([209.85.160.196]:43198 "EHLO mail-qt1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727068AbfFSMXe (ORCPT ); Wed, 19 Jun 2019 08:23:34 -0400 Received: by mail-qt1-f196.google.com with SMTP id w17so13152921qto.10; Wed, 19 Jun 2019 05:23:34 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=QrX9o1dbIy2aZ5toQHumMIX6sMGzZ/T6xkwZyYDZz14=; b=ZH75fDzvgr+v351pzpuF1wJIiGNKCEkUhTepEs8Cqhf2jd9FDqo41i05rqFiKXA992 qFTGU/iCJEG54ltzIArO9Zu0HRVoyNGqOxxhA6iunyxSYANAdMeL7HUFCtXFSzCWuniL wlu9c0XjafBUdKXJaa3Zjyeoz9d0sdnRn8ES8YDqDR7n6GK7O6fO9f1aNydFSw1tuYqS PRpN1Z1M6PvU8JGE6FgrE4YGxz0eB8TdaibiGhB/PzV/G0GOM6+2AwwgyKWP1c/dlhX1 3EZy5YBz/O1L9RwZ914eJxoaN8u2C9A6lgQbveV1Ws5q6LJWeiYNIC3m3XzNKejZbzOC dvnA== X-Gm-Message-State: APjAAAVygYy3jledueOgj3pYEuLAUeAEUs6/wtn/TG+6SLphvm/w4RAK qs2zAhlVbvYSXSdy/AAhy/YT/cq3WiyoRJD1JzI= X-Received: by 2002:aed:33a4:: with SMTP id v33mr70766520qtd.18.1560947013427; Wed, 19 Jun 2019 05:23:33 -0700 (PDT) MIME-Version: 1.0 References: <380a6185-7ad1-6be0-060b-e6e5d4126917@linaro.org> <066e9b39f937586f0f922abf801351553ec2ba1d.camel@sipsolutions.net> <613cdfde488eb23d7207c7ba6258662702d04840.camel@sipsolutions.net> <6c70950d0c78bc02a3d016918ec3929e@codeaurora.org> In-Reply-To: <6c70950d0c78bc02a3d016918ec3929e@codeaurora.org> From: Arnd Bergmann Date: Wed, 19 Jun 2019 14:23:16 +0200 Message-ID: Subject: Re: [PATCH v2 00/17] net: introduce Qualcomm IPA driver To: Subash Abhinov Kasiviswanathan Cc: Johannes Berg , Alex Elder , abhishek.esse@gmail.com, Ben Chan , Bjorn Andersson , cpratapa@codeaurora.org, David Miller , Dan Williams , DTML , Eric Caruso , evgreen@chromium.org, Ilias Apalodimas , Linux ARM , linux-arm-msm@vger.kernel.org, Linux Kernel Mailing List , linux-soc@vger.kernel.org, Networking , syadagir@codeaurora.org Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Jun 18, 2019 at 11:15 PM Subash Abhinov Kasiviswanathan wrote: > > On 2019-06-18 14:55, Arnd Bergmann wrote: > > On Tue, Jun 18, 2019 at 10:36 PM Johannes Berg > > wrote: > >> > >> On Tue, 2019-06-18 at 21:59 +0200, Arnd Bergmann wrote: > >> > > >> > From my understanding, the ioctl interface would create the lower > >> > netdev after talking to the firmware, and then user space would use > >> > the rmnet interface to create a matching upper-level device for that. > >> > This is an artifact of the strong separation of ipa and rmnet in the > >> > code. > >> > >> Huh. But if rmnet has muxing, and IPA supports that, why would you > >> ever > >> need multiple lower netdevs? > > > > From my reading of the code, there is always exactly a 1:1 relationship > > between an rmnet netdev an an ipa netdev. rmnet does the encapsulation/ > > decapsulation of the qmap data and forwards it to the ipa netdev, > > which then just passes data through between a hardware queue and > > its netdevice. > > > > There is a n:1 relationship between rmnet and IPA. > rmnet does the de-muxing to multiple netdevs based on the mux id > in the MAP header for RX packets and vice versa. Oh, so you mean that even though IPA supports multiple channels and multiple netdev instances for a physical device, all the rmnet devices end up being thrown into a single channel in IPA? What are the other channels for in IPA? I understand that there is one channel for commands that is separate, while the others are for network devices, but that seems to make no sense if we only use a single channel for rmnet data. > >> Yeah, but if you actually have a hardware queue per upper netdev then > >> you don't really need this - you just stop the netdev queue when the > >> hardware queue is full, and you have flow control automatically. > >> > >> So I really don't see any reason to have these messages going back and > >> forth unless you plan to have multiple sessions muxed on a single > >> hardware queue. > > > > Hardware may flow control specific PDNs (rmnet interfaces) based on QoS > - > not necessarily only in case of hardware queue full. Right, I guess that makes sense if everything ends up in a single queue in IPA. Arnd