Re: [homenet] Next Steps for Routing Protocol

Dave Taht <dave.taht@gmail.com> Tue, 18 November 2014 13:14 UTC

Return-Path: <dave.taht@gmail.com>
X-Original-To: homenet@ietfa.amsl.com
Delivered-To: homenet@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 505CE1A0390 for <homenet@ietfa.amsl.com>; Tue, 18 Nov 2014 05:14:46 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.775
X-Spam-Level:
X-Spam-Status: No, score=-1.775 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, SPF_PASS=-0.001, URI_TRY_3LD=0.225] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SrQf8vkIk3nJ for <homenet@ietfa.amsl.com>; Tue, 18 Nov 2014 05:14:44 -0800 (PST)
Received: from mail-ob0-x234.google.com (mail-ob0-x234.google.com [IPv6:2607:f8b0:4003:c01::234]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EDC021A037F for <homenet@ietf.org>; Tue, 18 Nov 2014 05:14:43 -0800 (PST)
Received: by mail-ob0-f180.google.com with SMTP id wp4so5564009obc.39 for <homenet@ietf.org>; Tue, 18 Nov 2014 05:14:43 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=4pvLKMKr7dZYhkM29qqwFEHjTKu3HW+glzG9wl5tRpU=; b=TzNYI+MX8xpx26vujWZxoY0O3/2H7sM5uRCidXMNYBARUfCM45Ir9pRtUTUtTW8Ojs jARdPBbKTRLQa+sBM8gWv3vnuwxLzi6rLSSOWDf/fqrU6oRk1jVj2g0IkAAkA5AinKfv jF2dpnaOXJO+wQP4LLHSnwuMSBAVZcGJRLPX+Gs02ydibghl0IJt6GwQAq8cMdeoy+qN a0n2e1td2NhgmSPcTiaczGHl2e0maTb9HEzJm/Sz3ltCDwx/g6UOScaYR/2Gc0QN7nLI mFnEmIYSppkGZp41oqIFefuwzsEtYz3gorLr/sGDuo/TBqLrAbwad2aRbnO9gEvDzCxT /3AQ==
MIME-Version: 1.0
X-Received: by 10.60.17.67 with SMTP id m3mr1078091oed.75.1416316483254; Tue, 18 Nov 2014 05:14:43 -0800 (PST)
Received: by 10.202.227.211 with HTTP; Tue, 18 Nov 2014 05:14:43 -0800 (PST)
In-Reply-To: <CADhXe515pLCkuxKuDP+vQiYU+gEn9ge8j2zzw8Prg=S_rE26ZA@mail.gmail.com>
References: <CAESTAVvW5YrL03xhsE11LZT5P2Sxz0=itJQ9nNoji9mXDPGgsw@mail.gmail.com> <87wq6w5ugq.wl-jch@pps.univ-paris-diderot.fr> <CAA93jw4uJ+dWKXwsvM35ZCYWD-epJmnSj=5L9cJj6XtRWV3vwg@mail.gmail.com> <CADhXe515pLCkuxKuDP+vQiYU+gEn9ge8j2zzw8Prg=S_rE26ZA@mail.gmail.com>
Date: Tue, 18 Nov 2014 05:14:43 -0800
Message-ID: <CAA93jw6hO0Y013i1+ZsEu9T_Br6X7bAXigpoQ0frtNJS92aF7g@mail.gmail.com>
From: Dave Taht <dave.taht@gmail.com>
To: James Woodyatt <jhw@nestlabs.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Archived-At: http://mailarchive.ietf.org/arch/msg/homenet/3ISOBJ9IQ9mAgZWurFcuV1wYnOk
Cc: "homenet@ietf.org Group" <homenet@ietf.org>
Subject: Re: [homenet] Next Steps for Routing Protocol
X-BeenThere: homenet@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: <homenet.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/homenet>, <mailto:homenet-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/homenet/>
List-Post: <mailto:homenet@ietf.org>
List-Help: <mailto:homenet-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/homenet>, <mailto:homenet-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 18 Nov 2014 13:14:46 -0000

so by my lights the thermostat has a simply astonishing amount
of flash (38MB), and an A8 class processor...

https://learn.sparkfun.com/tutorials/nest-thermostat-teardown-

Peeking at the board from the pics I cant see how much memory
it has, and the OS seems to be quite small (1.5MB) but I have trouble
thinking that a better-then-rasberry pi class processor could be hooked to
less than 16MB ram effectively and certainly not work well as an AP,
as you do need quite a lot of ram to forward aggregates....

Back in 1998 I had given up on scaling up vxworks to do ipv4, and
worked on scaling linux down to fit into 16MB of ram and a floppy disk
to boot from
in order to make an AP (
http://the-edge.blogspot.com/2010/10/who-invented-embedded-linux-based.html
)

(and thus, an industry was born)

And these days we regularly run APs with 4MB of flash doing ipv4, and
8-16MB of flash
doing ipv6, routing, etc, etc in openwrt, usually with about 32MB of
ram as a base - on
much weaker processors than an A8.

So it is unclear how good the thermostat is as an AP, but if it has a
smaller OS (BSD?), possibly
16MB of ram is enough these days to run as a basic AP + 802.14
gateway, and we have already
shown babel and hnetd as being very, very lightweight.


On Mon, Nov 17, 2014 at 12:23 PM, James Woodyatt <jhw@nestlabs.com> wrote:
> Dave,
>
> At Nest, we have different OS platforms we use depending on the constraints
> of the hardware.
>
> For things like the Nest Learning Thermostat, where there is a graphics
> subsystem and such, we use a $POSIX variant commonly found in larger
> embedded systems.  It has not much flash and even less memory.  We cut a lot
> of things out to make everything we need to fit, and we feel significant
> volatile and non-volatile memory pressure on this platform.
>
> For things like the Nest Protect, which are much smaller, we use a
> library-oriented $RTOS variant.  The current Nest Protect device, for
> example, executes code from 512 kB of flash, using 64 kB of RAM.  It has a
> very lightweight IPv6 stack, over which we have implemented all our
> communications protocols and our application logic.  We are under truly
> extraordinary memory pressures on this platform, of the sort that I believe
> only somebody with experience working in the C64 demoware scene can fully
> appreciate. (Seriously, you can't even. Don't try.)
>
> I'm hoping future evolutions both in these product lines might have
> incrementally more resources, in which it may be possible to demand space
> for Comms Engineering to insert HNCP, when it's finally deployable. Assuming
> HNCP can be made to work. Lot of ifs. However, whatever happens, we
> eventually will need something that does what HNCP does, and I like HNCP
> itself better than I like the idea of rolling something proprietary.
>
> Does that help explain matters?
>
> On Sat, Nov 15, 2014 at 8:46 AM, Dave Taht <dave.taht@gmail.com> wrote:
>>
>> On Sat, Nov 15, 2014 at 7:55 AM, Juliusz Chroboczek
>> <jch@pps.univ-paris-diderot.fr> wrote:
>> >> This included technical discussion around a partially unanticipated
>>
>> I have always felt that we needed to have something that could route
>> packets as best as possible based on conditions (and in particular
>> transport configuration information) across many disparate link layers
>> - homeplug, MoCa, 802.11, 802.11ad, 802.14, 6lowpan, VPNs, and sharks
>> with lasers.
>> (https://twitter.com/RalfMuehlen/status/533414954167070720/photo/1
>> ).
>>
>> While full compliance with rfc2549 is not required, wires as we knew
>> them are going the way of the dodo, and already have, in most homes
>> and small businesses.
>>
>> >> requirement for HNCP to support a stub network with a gateway that
>> >> doesn't have sufficient resources to run a routing protocol.
>>
>> Could someone describe what sort of resources these gateways (nest, I
>> assume) actually have? - What OS they run, how much ram and flash is
>> on them, is there virtual memory, etc?
>>
>> Are there devices in this category that can be hacked on? I am
>> reminded of the dnssec debate put to rest by merely producing a proof
>> of concept on an ancient cpe... I mean, babel, for example, is like,
>> 61k, on mips with the sole dependency on libc. Other daemons, like
>> pimd are in the same size category.
>>
>> >
>> > Mark,
>> >
>> > Could you please spell out the requirements for a stub-only
>> > implementation?  Do you expect the stub router to hold the full routing
>> > table, or just two routes (connected network and default route)?
>> >
>> > Is there interest in a stub-only implementation of Babel?  Should it be
>> > a standalone daemon, or should it be integrated in the HNCP daemon?
>> >
>> > -- Juliusz
>> >
>> > _______________________________________________
>> > homenet mailing list
>> > homenet@ietf.org
>> > https://www.ietf.org/mailman/listinfo/homenet
>>
>>
>>
>> --
>> Dave Täht
>>
>> thttp://www.bufferbloat.net/projects/bloat/wiki/Upcoming_Talks
>>
>> _______________________________________________
>> homenet mailing list
>> homenet@ietf.org
>> https://www.ietf.org/mailman/listinfo/homenet
>
>
>
>
> --
> james woodyatt <jhw@nestlabs.com>
> Nest Labs, Communications Engineering



-- 
Dave Täht

thttp://www.bufferbloat.net/projects/bloat/wiki/Upcoming_Talks