Subject: Re: [babel] Suresh Krishnan's No Objection on charter-ietf-babel-00-02: (with COMMENT)

From: Dave Taht <[email-masked]>
Date: Sat, 4 Jun 2016 08:52:17 -0700

On Thu, Jun 2, 2016 at 11:33 AM, Juliusz Chroboczek
<[email-masked]> wrote:
>> I tend to think making an entirely incompatible version would be a
>> kiss of death.
>
> Not necessarily if the implementation speaks both versions, at least
> initially.  (To be clear -- I sort of agree with you, but try to keep an
> open mind.)
>
> (OTOH, I'm increasingly thinking I'm going to redo source-specific routing
> in an inompatible manner.  I'll write up my thoughts on babel-users.)
>
>> On the gripping hand, merely getting a "rip replacement" routinely
>> shipping and regularly available would be nice.
>
> Yes.  Let's be careful to keep the spec simple.  (Defined as "fits in the
> head of a third year student without swapping".)
>
>> a) self-configuration should be hardened, agreed.
>
> I'm surprised to hear that from you.

I said "self-configuration should be hardened". It was not entirely
related to router_id generation, which may well be robust enough.
(proof that stuff came from a given router_id is not as yet - (see C,
below). Most of my issues tend to cross layers these days...

To give three examples of things that make me mildly crazy. I wish I'd
been paying attention to the evolution of some ipv6 thinking long,
long ago.

If there is a place on a wiki for stuff like this... or elsewhere?

A) Why can you preserve from what source a route came from but not
where an address came from?

ip route add fd01::/64 dev eth0 proto static # boot, dhcp, babel,
quagga, whatever

and not

ip addr add fd01::1/64 dev eth0 proto dhcp # hncp, static, 6to4,
SLAAC, privacy, somevpn, etc

B) The tyranny of the default route

Everywhere I go I turn off the default route supplied by dhcp whenever
I can. Sometimes that is the wrong thing - one source specific network
I have (3 exit nodes) has gateways perpetually putting in a babel
default route in (to some other device already up) long before it's
external interface to the world fetches an address and a good default
route. source specific routing saves the day on ipv6, but the ipv4
dhcp supplied default route fails to insert in the race.

C) Security

I would like to be able to have a basic secured "core" network, and
unsecured leafs (and new as yet to be configured boxes) allowed to
announce their existence, listen and do some limited routing
themselves - but not provide default routes, or anything at all that
overrides the secured routes.

This partially permissionless innovation would make the local routing
I do - to usbnet from any given host - "just work" for anything that
wants to see that sort of resource on the network. Same goes for a
lightbulb announcing itself... (and was why I so liked that bmx7
paper)

> You've been running a production
> Babel network for years, Dave, and providing me with useful bug reports,
> but I don't recall you having issues with router-id collisions.  (See my
> reply to Tony.)

I got my first ones last month when I tested some of toke's bird
patches on arm, where there was some alignment issue (?) causing the
router_id generation to fail to 0. The results were "interesting". I
have not poked into it again since getting back from vacation.

Good description to tony... (but see comments above)

I have long planned to write up the deployment experiences (lessons
learned) I've had thus far with multiple wireless-related routing
protocols in difficult layer-2 environments and 3rd world conditions,
starting with 802.11s... I have notes and logs all over the place for
that (10 years worth), and I think I'd have to write it all out (sigh)
to figure out what was most important.

One of the consistent errors I've done for myself is providing a
persistent default route to somewhere that isn't working right...

still the most important thing to me right now is to get wifi's per
station behavior and fq/aqm stuff fixed, and after that worry about
how the routing protocol(s) work on top of that.

>> b)  I'd like to see source specific routing widely available in all
>> routing protocols. I'd even like to see an extension to RA.
>
> Rtgwg, I believe.  I'm pretty confident the RA extension will happen.
>
>> I'd like to see more interoperable interfaces to other link layers
>> (6lowpan/threads, usb, can, 802.11ad, 5g, homeplug, etc), be they
>> routing, failure mode detection, address assignment, security, or
>> service advertisement.
>
> I'm pessimistic.

You!??

(I am too)

> -- Juliusz

-- 
Dave Täht
Let's go make home routers and wifi faster! With better software!
http://blog.cerowrt.org

---

From: Juliusz Chroboczek <[email-masked]>
Date: Sat, 04 Jun 2016 18:37:37 +0200

> SLAAC, privacy, somevpn, etc

That's a good point, but it's a purely local Linux issue (it's not visible
on the wire).  I'd certainly use such an interface in shncpd.  Speak to
netdev, perhaps?

> but the ipv4 dhcp supplied default route fails to insert in the race.

Babeld supports source-specific routing for IPv4.  Insert the right
source-specific route for IPv4, and it will be more specific than the
default route.  You'll want to speak to Matthieu, or to babel-users.

-- Juliusz