From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 20069 invoked from network); 29 Jan 2022 20:53:45 -0000 Received: from tb-ob1.topicbox.com (64.147.108.173) by inbox.vuxu.org with ESMTPUTF8; 29 Jan 2022 20:53:45 -0000 Received: from tb-mx0.topicbox.com (tb-mx0.nyi.icgroup.com [10.90.30.73]) by tb-ob1.topicbox.com (Postfix) with ESMTP id 8C27432033 for ; Sat, 29 Jan 2022 15:53:44 -0500 (EST) (envelope-from bounce.mM89dba67665ed6ae12c21e8b4.r522be890-2105-11eb-b15e-8d699134e1fa@9fans.bounce.topicbox.com) Received: by tb-mx0.topicbox.com (Postfix, from userid 1132) id 890F514666F2; Sat, 29 Jan 2022 15:53:44 -0500 (EST) ARC-Authentication-Results: i=2; topicbox.com; arc=pass; dkim=none (no signatures found); dmarc=none policy.published-domain-policy=none policy.applied-disposition=none policy.evaluated-disposition=none (p=none,d=none,d.eval=none) policy.policy-from=p header.from=orthanc.ca; spf=pass smtp.mailfrom=lyndon@orthanc.ca smtp.helo=orthanc.ca; x-internal-arc=fail (as.1.topicbox.com=pass, ams.1.topicbox.com=fail (message has been altered)) (Message modified while forwarding at Topicbox) ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d= topicbox.com; h=from:to:subject:mime-version:content-type :content-id:date:message-id:list-help:list-id:list-post :list-subscribe:reply-to:content-transfer-encoding :list-unsubscribe; s=sysmsg-1; t=1643489624; bh=TPlOrYidEwjY6a46 WeSXrPzMOh7Zg2FGoJZfRNNRqLk=; b=QU8JzTUZETrj/+XizpRwTwnAEFOe6UcW wO9PoHdrr4FuWBwgwI1zGUktjktaiTqWLZWNPvQNoz1GZ+6R11qt0DrA1lUm80IP xHxd64U/+ej6K1lmDZwSWWGIY+cRgTh5S+4qh1vXSd5qAU0KDdm/3xdoUkdNiaiu NRWqIPXZ5pw= ARC-Seal: i=2; a=rsa-sha256; cv=pass; d=topicbox.com; s=sysmsg-1; t= 1643489624; b=VVO+Kw5SPeoQT/jwUC4ghg/NB8T5mvTp1siqnqbAsjPJT+82su euFzpdUtq9e49feC9IjZP+hp5ovAQM9T+L4biUPGaRPwI5E3t4tylzzzULsUSpG4 PhPotqYxFTepZIsLwKNoiFFyJrRWd3b+cBhIU14i6J21oi4lh9iE6WDUo= Authentication-Results: topicbox.com; arc=pass; dkim=none (no signatures found); dmarc=none policy.published-domain-policy=none policy.applied-disposition=none policy.evaluated-disposition=none (p=none,d=none,d.eval=none) policy.policy-from=p header.from=orthanc.ca; spf=pass smtp.mailfrom=lyndon@orthanc.ca smtp.helo=orthanc.ca; x-internal-arc=fail (as.1.topicbox.com=pass, ams.1.topicbox.com=fail (message has been altered)) (Message modified while forwarding at Topicbox) X-Received-Authentication-Results: tb-mx0.topicbox.com; arc=none (no signatures found); bimi=skipped (DMARC did not pass); dkim=none (no signatures found); dmarc=none policy.published-domain-policy=none policy.applied-disposition=none policy.evaluated-disposition=none (p=none,d=none,d.eval=none) policy.policy-from=p header.from=orthanc.ca; iprev=pass smtp.remote-ip=208.79.93.154 (orthanc.ca); spf=pass smtp.mailfrom=lyndon@orthanc.ca smtp.helo=orthanc.ca; x-aligned-from=pass (Address match); x-me-sender=none; x-ptr=pass smtp.helo=orthanc.ca policy.ptr=orthanc.ca; x-return-mx=pass header.domain=orthanc.ca policy.is_org=yes (MX Records found: orthanc.ca); x-return-mx=pass smtp.domain=orthanc.ca policy.is_org=yes (MX Records found: orthanc.ca); x-tls=pass smtp.version=TLSv1.2 smtp.cipher=ECDHE-RSA-AES256-GCM-SHA384 smtp.bits=256/256; x-vs=clean score=0 state=0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=9fans.net; h=from:to :subject:mime-version:content-type:content-id:date:message-id :list-help:list-id:list-post:list-subscribe:reply-to :content-transfer-encoding:list-unsubscribe; s=dkim-1; bh=3GIRK5 4yi72L1cXbRepsQUNLIa7SsXNaMWKWNpe3L5A=; b=asY5uwbsk62q5nCz2bpRJk otGWumsc3drZ0+CPkwwudLhsucF1xBY9Q9r7Lt7CdK0C3bJawWSVHl7IVhwgXC5/ 3wv9anbdgrj/e9uN2ed+FS2BWA4hua0lSkIxmCmtQauFf/j8Zhd6eFJKFvYC8AwO ZUc6RW3VnBFhToeISE5WM= Received: from tb-mx0.topicbox.com (localhost.local [127.0.0.1]) by tb-mx0.topicbox.com (Postfix) with ESMTP id F08E214662FC for <9fans@9fans.net>; Sat, 29 Jan 2022 15:53:31 -0500 (EST) (envelope-from lyndon@orthanc.ca) Received: from tb-mx0.topicbox.com (localhost [127.0.0.1]) by tb-mx0.topicbox.com (Authentication Milter) with ESMTP id 97E652587EF; Sat, 29 Jan 2022 15:53:31 -0500 ARC-Seal: i=1; a=rsa-sha256; cv=none; d=topicbox.com; s=arcseal; t= 1643489611; b=e9jwajGQVFyJEr+Z/oo4g+wAngJiIekz0heju46y4V7J2Fh1nP L+YzWojobipo66bSROzuq/hhJKfmJEmrkDeonohV2DGTDnvK4lj+lN/HZrQU+3xa 4Od7lQwqSHarYFcCa7iSCMI5aohCwdi6JV24TllJaoTeRxhS6VuJ8rTU2RF3Iov2 kGb440ssSvoYfdC2BeGn2YK2sLmBVdKnH0r1X22tWGSEonKJPqiPv8iX+EMFcTn6 zTkIXKpU7WNeUwfSArFQszIVAetMCY6VQPhr0PWIuDdChuO9m0MRolpuRiO493Sp 9ndS8Ut0uSo0MKwOSOX10vgtfKGaeUOlQgcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d= topicbox.com; h=from:to:subject:mime-version:content-type :content-id:date:message-id; s=arcseal; t=1643489611; bh=aHzOhKx 8tDX5IKQvOZClALhSGW67tTXgv0KkQd087a4=; b=McsubLyBQ/TqdGpHnmwPIid 0tGE6nV8KRK9guFJ79vqIBwdq3BqexTBO8487i+ABnG0DBTo9Sl3iCga6zvKPJgF gsaZgDndjOvhhcF3hcEbD0h/N71CWwXmv/xvgMDOrJjsV7QxbdqM9XdUMaWF27fr zsB7Zpc9Xq0DdIonmyhTfTtxCW8Po/jkXOOu1cGB+xq5+VP7UMPHfF9KbTNBHpu6 pxMVJKhgAWmxGwFmM2+X15xZ19W6mImtb0ck+6MX6a1AEH5A5O0R79jGORwXzsvE wg0aAP4gTzbJ601DNA/gUwwuJZY6oIOy6FGrxwEUz5RF1V7pPHnJPJTsoumU1ng= = ARC-Authentication-Results: i=1; tb-mx0.topicbox.com; arc=none (no signatures found); bimi=skipped (DMARC did not pass); dkim=none (no signatures found); dmarc=none policy.published-domain-policy=none policy.applied-disposition=none policy.evaluated-disposition=none (p=none,d=none,d.eval=none) policy.policy-from=p header.from=orthanc.ca; iprev=pass smtp.remote-ip=208.79.93.154 (orthanc.ca); spf=pass smtp.mailfrom=lyndon@orthanc.ca smtp.helo=orthanc.ca; x-aligned-from=pass (Address match); x-me-sender=none; x-ptr=pass smtp.helo=orthanc.ca policy.ptr=orthanc.ca; x-return-mx=pass header.domain=orthanc.ca policy.is_org=yes (MX Records found: orthanc.ca); x-return-mx=pass smtp.domain=orthanc.ca policy.is_org=yes (MX Records found: orthanc.ca); x-tls=pass smtp.version=TLSv1.2 smtp.cipher=ECDHE-RSA-AES256-GCM-SHA384 smtp.bits=256/256; x-vs=clean score=0 state=0 X-ME-VSCause: gggruggvucftvghtrhhoucdtuddrgedvvddrfeeggdduudduucdltddurdegudehrddttd dmucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgf nhhsuhgsshgtrhhisggvpdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttd enucenucfjughrpefhvffugggtfffksehttdertddttddvnecuhfhrohhmpedfnfihnhgu ohhnucfpvghrvghnsggvrhhgucdlggfgjefvhfgisdgggfeiueeuofdmfdcuoehlhihnug honhesohhrthhhrghntgdrtggrqeenucggtffrrghtthgvrhhnpeevjeffjedutdduledu vdeufeevteegueethfekkeduvdejheelfffhgeeigfffieenucfkphepvddtkedrjeelrd elfedrudehgeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpedv tdekrdejledrleefrdduheegpdhhvghlohepohhrthhhrghntgdrtggrpdhmrghilhhfrh homhepoehlhihnughonhesohhrthhhrghntgdrtggrqe X-ME-VSScore: 0 X-ME-VSCategory: clean Received-SPF: pass (orthanc.ca: 208.79.93.154 is authorized to use 'lyndon@orthanc.ca' in 'mfrom' identity (mechanism 'ip4:208.79.93.154' matched)) receiver=tb-mx0.topicbox.com; identity=mailfrom; envelope-from="lyndon@orthanc.ca"; helo=orthanc.ca; client-ip=208.79.93.154 Received: from orthanc.ca (orthanc.ca [208.79.93.154]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by tb-mx0.topicbox.com (Postfix) with ESMTPS for <9fans@9fans.net>; Sat, 29 Jan 2022 15:53:30 -0500 (EST) (envelope-from lyndon@orthanc.ca) Received: from orthanc.ca (localhost [127.0.0.1]) by orthanc.ca (OpenSMTPD) with ESMTP id ed8c49b4 for <9fans@9fans.net>; Sat, 29 Jan 2022 12:53:29 -0800 (PST) From: "Lyndon Nerenberg (VE7TFX/VE6BBM)" To: 9fans <9fans@9fans.net> Subject: Re: [9fans] building blocks speaking 9p MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-ID: <97013.1643489609.1@orthanc.ca> Date: Sat, 29 Jan 2022 12:53:29 -0800 Message-ID: <4409edc5f8c744c8@orthanc.ca> Topicbox-Policy-Reasoning: allow: sender is a member Topicbox-Message-UUID: 87949364-8145-11ec-9175-cd1f5a5d03e5 Archived-At: =?UTF-8?B?PGh0dHBzOi8vOWZhbnMudG9waWNib3guY29tL2dyb3Vwcy85?= =?UTF-8?B?ZmFucy9UMTgyODdmOTc2ZTg0NjFmMy1NODlkYmE2NzY2NWVkNmFlMTJjMjFl?= =?UTF-8?B?OGI0Pg==?= List-Help: List-Id: "9fans" <9fans.9fans.net> List-Post: List-Software: Topicbox v0 List-Subscribe: Precedence: list Reply-To: 9fans <9fans@9fans.net> Content-Transfer-Encoding: quoted-printable List-Unsubscribe: , Topicbox-Delivery-ID: 2:9fans:437d30aa-c441-11e9-8a57-d036212d11b0:522be890-2105-11eb-b15e-8d699134e1fa:M89dba67665ed6ae12c21e8b4:1:QD6SmPjxfiNehSglf58ZM58QVc9QKHM7Ae65Offd57I A few thoughts after chewing on this for a day ... I think the major architecture components break down like this: 1) a simple protocol wrapper to enable streaming of 9p over arbitrary transports (e.g. USB, i2c, spi, rs485). 2) an addressing scheme that plugs into dial() and ndb. 3) authentication proxies. 4) device libraries. I think (4) is out of scope for the current discussion, so I won't talk about it further. (1) is the key to the whole thing. We need a consistent way to expose these 9p streams in the kernel in a mount-friendly way. I think the netif/ether kernel framework provides a good starting point, where netif hides (or at least abstracts) the device-specific quirks of the underlying physical medium (e.g. X-Base-T, wifi). In the current case, the netif replacement layer would hide the transport-specific warts of the physical tranport medium (e.g. USB, spi, serial uart). Where it gets interesting is how we address the individual components. E.g. at the "device" layer we need to address specific end-points, such as USB device endpoints, or an i2c chip addresses (for both the i2c driver chip, and the device on its i2c bus we want to talk to). Then above that we should have a way to address the generic 9p stream. Or maybe not -- implementation experience will show if this is required. This naturally leads into (2). (3) gets tricky. Devices not directly connected to a TCP transport can't speak with the auth service. Two ideas come to mind. The upstream "gateway" host could export a namespace that provides just enough to allow the device to chat with the auth service; I haven't thought about how this would work. Another option would be to have the "gateway" provide an auth server relay service that would be part of the 9p streaming encapsulation layer -- basically a 9p bent-pipe proxy to the auth service, listening at a well known "address" within the encapsulation layer. I've been thinking about doing something like this for ages, specifically, to allow me to control a stack of radio transceivers via a collection of controllers wired up to a multidrop RS485 bus. So last night I bit the bullet and ordered up a stack of RS485 interfaces of various shapes and flavours for my collection of Pies, Arduinos, and PCs, with a couple of USB adapters thrown in for good measure :-) When they get here I'll get to work on implementing the RS485 bus layer, and see where it all goes from there. --lyndon ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/T18287f976e8461f3-M89dba= 67665ed6ae12c21e8b4 Delivery options: https://9fans.topicbox.com/groups/9fans/subscription