Subject: [homenet] prefix-assignment-03

From: Mikael Abrahamsson <[email-masked]>
Date: Fri, 13 Mar 2015 11:28:10 +0100 (CET)

Hi, I am reading the document and typing as I go along:

I do not know what a "disjoint" delegated prefix is. When googling, 
"disjoint" seems to be a computer science term. Does it warrant 
explanation in the document?

"Flooding mechanism", the description of that seems very specific? 
Shouldn't it be about synchronizing information between the nodes instead 
of talking about "reliable broadcast"?

I have now spent 30 minutes trying to grasp how the state machine works. I 
don't know exactly why, but it's really hard, and it's hard to understand 
why some of the wording was chosen the way they were. "Best Prefix" is 
confusing when I at the same time read about "Current Assignment". Perhaps 
some text explaining the rationale for the choice of words and why they 
are needed, ie not only describing what needs to be done, but also why. 
"case study" or "state study" is perhaps what I'm looking for. I think I 
understand what's going on, but having some concrete examples would help.

Another thing: If I know that I will receive 3 /56:es from my ISP, and I 
always want $LINK to use the $56PREFIX02::/64 for all delegated prefixes, 
I believe this is possible within the current algorithm, but it's not 
specifically stated. It's stated that manually chosen prefixes can be 
done, but not examples of how these might be chosen. I know this example 
from cisco: 
http://www.cisco.com/c/en/us/support/docs/ip/ip-version-6-ipv6/113141-DHCPv6-00.html

Here you can set "ipv6 address prefix-from-provider ::1:0:0:0:1/64" to 
achieve what I just described. In case of multiple delegated /56:es, some 
users might prefer that the same number subnet is chosen from all 
delegated prefixes.

-- 
Mikael Abrahamsson    email: [email-masked]

---

From: Pierre Pfister <[email-masked]>
Date: Sat, 14 Mar 2015 08:53:33 +0100

Thank you Mikael for this review,

> I do not know what a "disjoint" delegated prefix is. When googling, "disjoint" seems to be a computer science term. Does it warrant explanation in the document?

When I google for disjoint, I find http://en.wikipedia.org/wiki/Disjoint_sets. But fair enough. I will add a small explanation of what disjoint prefixes are.

> 
> "Flooding mechanism", the description of that seems very specific? Shouldn't it be about synchronizing information between the nodes instead of talking about "reliable broadcast »?

In a purely theoretical view, I think reliable broadcast and reliable synchronization are equivalent. But I guess your point is valid. ‘reliable broadcast’ is not appropriate. I will think about something else. Proposals are welcome too.

> 
> I have now spent 30 minutes trying to grasp how the state machine works. I don't know exactly why, but it's really hard, and it's hard to understand why some of the wording was chosen the way they were. "Best Prefix" is confusing when I at the same time read about "Current Assignment". Perhaps some text explaining the rationale for the choice of words and why they are needed, ie not only describing what needs to be done, but also why. "case study" or "state study" is perhaps what I'm looking for. I think I understand what's going on, but having some concrete examples would help.

Would it be clearer if I add that the Current Assignment is the prefix assigned by *the node executing the algorithm* ?

> 
> Another thing: If I know that I will receive 3 /56:es from my ISP, and I always want $LINK to use the $56PREFIX02::/64 for all delegated prefixes, I believe this is possible within the current algorithm, but it's not specifically stated. It's stated that manually chosen prefixes can be done, but not examples of how these might be chosen. I know this example from cisco: http://www.cisco.com/c/en/us/support/docs/ip/ip-version-6-ipv6/113141-DHCPv6-00.html

I see your point, but I wonder if it is appropriate. The algorithm is capable of *many* different behaviors. Section 5 specifies that prefixes may be chosen based on any custom selection process specified by configuration. I don’t think it is part of the algorithm to list all the additional features that an implementation may propose.

> 
> Here you can set "ipv6 address prefix-from-provider ::1:0:0:0:1/64" to achieve what I just described. In case of multiple delegated /56:es, some users might prefer that the same number subnet is chosen from all delegated prefixes.

That feature is even available in the current homenet implementation using the ‘link_id’ option (http://www.homewrt.org/doku.php?id=run-conf). 

Cheers,

- Pierre