Subject: [babel] An Implementation Policy for the Babel WG

From: Donald Eastlake <[email-masked]>
Date: Wed, 13 Feb 2019 01:00:13 -0500

The Routing ADs have recently decided that Working Groups in the
Routing Area should have a policy on how much implementation is
required for protocol documents. For example, you could require 2
independent interoperable implementation or 1 implementation or
whatever. It is even permissible for the policy to be that it will be
decided on a case-by-case basis. But whatever it is, they would like
it to be stated in advance.

So, it would be good to have such a policy for the Babel WG.

Thanks,
Donald
===============================
 Donald E. Eastlake 3rd   +1-508-333-2270 (cell)
 1424 Pro Shop Court, Davenport, FL 33896 USA
 [email-masked]

---

From: Toke Høiland-Jørgensen <[email-masked]>
Date: Wed, 13 Feb 2019 11:36:41 +0100

Donald Eastlake <[email-masked]> writes:

> required for protocol documents.

That's an excellent initiative!

> For example, you could require 2 independent interoperable
> implementation or 1 implementation or whatever. It is even permissible
> for the policy to be that it will be decided on a case-by-case basis.
> But whatever it is, they would like it to be stated in advance.
>

Don't we already basically have a policy of two independent
implementation for everything we do?

-Toke

---

From: Markus Stenberg <[email-masked]>
Date: Wed, 13 Feb 2019 12:40:32 +0200

> On 13.02.2019, at 12.36, Toke Høiland-Jørgensen <[email-masked]> wrote:

Almost. I don't think DTLS has two for example though.

I support two independent implementation as a sensible default though.

-Markus

---

From: Toke Høiland-Jørgensen <[email-masked]>
Date: Wed, 13 Feb 2019 11:46:24 +0100

> Almost. I don't think DTLS has two for example though.

Not publicly available, no. But pretty sure Juliusz and David originally
did two implementations? One of them just ended up stranded inside the
big donut...

-Toke

---

From: Juliusz Chroboczek <[email-masked]>
Date: Wed, 13 Feb 2019 13:45:43 +0100

> required for protocol documents.

I believe that our (unwritten) policy is that:

  - every protocol extension SHOULD have two independent implementations ;
  - every protocol extension MUST have at least one implementation.

In other words, we make a good faith effort at producing two independent
implementations, but try not to be too dogmatic if there is only one
implementation of a protocol extension that is clearly corrent.

Unless I'm mistaken, the current status is:

  - 6126bis has three independent interoperable implementations, of which
    one is not available (I'm not counting sbabeld and BIRD, which are not
    independent) ;

  - source-specific has just one implementation (Toke?) ;

  - delay-based has just one implementation ;

  - babel-HMAC has two independent implementations ;

  - babel-DTLS used to have two independent implementations (of which one
    is no longer available), but I'm not sure if either is fully compliant
    with the current draft.

Does that sound right?

-- Juliusz

---

From: Toke Høiland-Jørgensen <[email-masked]>
Date: Wed, 13 Feb 2019 14:35:06 +0100

>     one is not available (I'm not counting sbabeld and BIRD, which are not

Think you meant something different than BIRD here, right? :)

>   - source-specific has just one implementation (Toke?) ;

Bird implements source-specific; so as soon as Babeld catches up we'll
have two ;)

>     is no longer available), but I'm not sure if either is fully compliant

Yup, think so :)

-Toke

---

From: Juliusz Chroboczek <[email-masked]>
Date: Wed, 13 Feb 2019 15:02:55 +0100

> Think you meant something different than BIRD here, right? :)

I meant FRR of course.  BIRD is a fully independent reimplementation (and
pretty well done, if I may add).

> Bird implements source-specific; so as soon as Babeld catches up we'll

Ah, ok, perfect.  You did tell me, but it somehow escaped my mind.

-- Juliusz

---

From: Toke Høiland-Jørgensen <[email-masked]>
Date: Wed, 13 Feb 2019 15:17:30 +0100

> pretty well done, if I may add).

Right, figured that was what you meant. And thanks :)

-Toke