lzma with TCP/IP and libertas driver... and still some room

Dan Williams dcbw at redhat.com
Wed Oct 4 14:09:53 EDT 2006


On Wed, 2006-10-04 at 13:29 -0400, Andres Salomon wrote:
> On Wed, 2006-10-04 at 11:48 -0400, Dan Williams wrote:
> > On Wed, 2006-10-04 at 10:26 -0400, Jim Gettys wrote:
> > > Yeah, and the other headache in IPv4 is lack of autoconfiguration: you
> > > need a dhcp server for two machines to talk to each other.  If we want
> > > to clone systems from nearby kids, this then means a dhcp server, and
> > > all that rot.
> > 
> > What about self-assigned IP4 addresses?  That's pretty standard in all 3
> > major OSes, and there's a well-defined process to come up with one.  You
> > essentially pick an address at random from the 169.xxx.xxx.xxx range,
> > and send out some packets to see if anyone else has it.  If somebody
> > does, you pick a new address and repeat.
> > 
> > We're already going to ship Avahi for userspace, and it can do this just
> > fine.  For the BIOS side of things, this should be trivial to implement
> > as the state machine is quite simple.
> 
> I took a peek at avahi's source, and I have a few questions/issues:
> 
> ARP is used to determine whether an IP is in use.  That means any IP
> addresses that aren't on the local link but are routable may conflict w/
> the chosen IP.  Will that be a problem?

The whole mesh segment is effectively the local link at this point,
until we figure out how far broadcast packets go.

In the end, we can only fit a small-ish number of people on one radio
channel (30?  50?) before 802.11 rf protocol starts breaking down.
We're certainly not going to stick all 500 students on the same radio
channel.  And that means some manner of routing/bridging packets from
cloud/channel to cloud/channel.  Nobody yet knows if we're going to do
actual _routing_ between mesh clouds or whether it will be layer 2
bridging.  If Michalis does, he hasn't told anyone that I'm aware of.

With IPv4 LL addressing we may not be able to get to a server (depending
on the routing/bridging issue and how the mesh forwarding forwards
broadcast packets), but we'd definitely be able to talk the kids around
us and pull a signed BIOS/OS image from them or something like that.

Jim, the point of all this was that we weren't sure whether or not we
could fit the whole IPv6 stack into Linux BIOS, along with the Marvell
driver, firmware, and mesh config tools.  Until the space question is
answered from the Linux BIOS people, we can't really say definitively
whether or not we're IPv6 _only_ in the BIOS.

Dan

> It looks like it uses rand() to get an IP address, seeded
> from /dev/urandom and time().  rfc3927 describes (in section 2.1) using
> the MAC address to seed its PRNG.  Does LB make /dev/urandom available?
> Do we even want to consider using that?  Why not use the MAC address?
> 
> How long would we be waiting for an ARP probe to timeout?
> 
> 
> 




More information about the Devel mailing list