Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp5904740ybi; Tue, 4 Jun 2019 14:30:53 -0700 (PDT) X-Google-Smtp-Source: APXvYqwXafKeaOlMDpMiSr7dXDE5eJyE875CYktAoezcgeA294s4jSt3/T2SoHuba92ktV0g01sl X-Received: by 2002:a17:902:e30e:: with SMTP id cg14mr17331768plb.47.1559683853589; Tue, 04 Jun 2019 14:30:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559683853; cv=none; d=google.com; s=arc-20160816; b=SVIumEvZ/LBKUeSzGDpfYO/Q9Bl2IwoFUaCUDWgMy2f9AuT8KT7H5RJtLAsCRzWGBi MnGBIKRyNpX5gJnSjiOhw3R2/KyeNVCaeEnhVhXG/MxvJbEhgB9kCBen9QDlgKoaLAZ5 PTO6BMV51K55K2MtfcKTVkv+yLX43pLekOwHVFgRysHbKWsN2/gNV01rsNeaPSRVGsUi IC0PFaf5zn3X393uzSAECfRziNZnvWKmf1R2130fN4EF0HnOy3HvU03m6UMiHzH+zln8 r/n0F92ei97im8BG8k59UJ7nymrAd8MwSTW3WG7Dh8PCW1eH/RYRKiSqam+WN51Zu0yy ozNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:date:cc:to:from:subject :message-id; bh=5wBJXTBO1/HbEGkIoSvXRGOyvRc3D1/orx8XXK/3ftM=; b=zUFzl/zAU03EyJxRZS+C67HMrt5rpv16bg8JTI4aydjHmCTGhgTKKOPuz0JdJYB4zO IHGUw14bpf7PMIwrFmQFyHVC74EM0K2X7jhIkXUGPVlXe3WMD8jS8g9f7JOykppk7fYH OR/3EPUjQlH3jL53dOyEX4P5/zk5gMfFrocHdHak3YYw3rwo84mlOhymyqtuV5M67fDP qKOkzg++e5V4HeybG4EEFMRbABo4kMLObkpRewrjiZJPKkxWSRbbIEPJKGdTr6UyLe57 6adZGE3fzHP18BJWwjysd8WqPAzsHKQGLYmTyB+Xo4Ch0NWAnMRYiNJO78vZ+ZdwI6Jd KtdQ== 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id r66si5627723pjb.1.2019.06.04.14.30.37; Tue, 04 Jun 2019 14:30:53 -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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726605AbfFDV3d (ORCPT + 99 others); Tue, 4 Jun 2019 17:29:33 -0400 Received: from mx1.redhat.com ([209.132.183.28]:59564 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726033AbfFDV3d (ORCPT ); Tue, 4 Jun 2019 17:29:33 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id AC5872F8BEA; Tue, 4 Jun 2019 21:29:32 +0000 (UTC) Received: from ovpn-112-67.rdu2.redhat.com (ovpn-112-67.rdu2.redhat.com [10.10.112.67]) by smtp.corp.redhat.com (Postfix) with ESMTP id 5271C5C207; Tue, 4 Jun 2019 21:29:27 +0000 (UTC) Message-ID: <0264d7f9a35430201a89c068bb13c84c622af11a.camel@redhat.com> Subject: Re: [PATCH v2 00/17] net: introduce Qualcomm IPA driver From: Dan Williams To: Arnd Bergmann Cc: Alex Elder , Subash Abhinov Kasiviswanathan , Bjorn Andersson , David Miller , Ilias Apalodimas , evgreen@chromium.org, Ben Chan , Eric Caruso , cpratapa@codeaurora.org, syadagir@codeaurora.org, abhishek.esse@gmail.com, Networking , DTML , Linux Kernel Mailing List , linux-soc@vger.kernel.org, Linux ARM , linux-arm-msm@vger.kernel.org Date: Tue, 04 Jun 2019 16:29:26 -0500 In-Reply-To: References: <20190531035348.7194-1-elder@linaro.org> <065c95a8-7b17-495d-f225-36c46faccdd7@linaro.org> <20190531233306.GB25597@minitux> <040ce9cc-7173-d10a-a82c-5186d2fcd737@linaro.org> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.30.5 (3.30.5-1.fc29) MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.38]); Tue, 04 Jun 2019 21:29:33 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 2019-06-04 at 22:04 +0200, Arnd Bergmann wrote: > On Tue, Jun 4, 2019 at 5:18 PM Dan Williams wrote: > > On Tue, 2019-06-04 at 10:13 +0200, Arnd Bergmann wrote: > > > Can you describe what kind of multiplexing is actually going on? > > > I'm still unclear about what we actually use multiple logical > > > interfaces for here, and how they relate to one another. > > > > Each logical interface represents a different "connection" (PDP/EPS > > context) to the provider network with a distinct IP address and > > QoS. > > VLANs may be a suitable analogy but here they are L3+QoS. > > > > In realistic example the main interface (say rmnet0) would be used > > for > > web browsing and have best-effort QoS. A second interface (say > > rmnet1) > > would be used for VOIP and have certain QoS guarantees from both > > the > > modem and the network itself. > > > > QMAP can also aggregate frames for a given channel > > (connection/EPS/PDP > > context/rmnet interface/etc) to better support LTE speeds. > > Thanks, that's a very helpful explanation! > > Is it correct to say then that the concept of having those separate > connections would be required for any proper LTE modem > implementation, > but the QMAP protocol (and based on that, the rmnet implementation) > is Qualcomm specific and shared only among several generations of > modems from that one vendor? Exactly correct. This is what Johannes is discussing in his "cellular modem APIs - take 2" thread about how this should all be organized at the driver level and I think we should figure that out before we commit to IPA-with-a-useless-netdev that requires rmnets to be created on top. That may end up being the solution but let's have that discussion. > > You mentioned the need to have a common user space interface > for configuration, and if the above is true, I agree that we should > try > to achieve that, either by ensuring rmnet is generic enough to > cover other vendors (and non-QMAP clients), or by creating a > new user level interface that IPA/rmnet can be adapted to. I would not suggest making rmnet generic; it's pretty QMAP specific (but QMAP is spoken by many many modems both SoC, USB stick, and PCIe minicard). Instead, I think what Johannes is discussing is a better approach. A kernel WWAN framework with consistent user API that rmnet/IPA/qmi_wwan/MBIM/QMI/serial/Sierra can all implement. That wouldn't affect the core packet processing of IPA/rmnet but instead: 1) when/how an rmnet device actually gets created on top of the IPA (or qmi_wwan) device AND (one of these two) a) whether IPA creates a netdev on probe OR b) whether there is some "WWAN device" kernel object which userspace interacts with create rmnet channels on top of IPA Dan