1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00

gnrc/ipv6_auto_subnets: document subnet generation better

This commit is contained in:
Benjamin Valentin 2022-08-03 20:05:53 +02:00
parent e1e99c3bf1
commit 18e74ae8c0
3 changed files with 101 additions and 11 deletions

View File

@ -24,22 +24,25 @@ nwdiagDiagram {
nwdiag {
network level1 {
network level0 {
address = "2001:db8::/60";
description = "level 0: <color:#9a9a9a>0000</color>";
router_a [address = "2001:db8::<color:#8a8a8a>c8f4:13ff:fece:3f43", description = "1st level router"];
leaf_a [address = "2001:db8::<color:#8a8a8a>804b:fcff:feb6:43fb", description = "1st level leaf node"];
}
network level2 {
network level1 {
address = "2001:db8:0:8::/61";
description = "level 1: <b><i>1</i></b><color:#9a9a9a>000</color> ➜ 8";
router_a [address = "2001:db8:0:8:<color:#8a8a8a>3c27:6dff:fe25:e95d"];
router_b [address = "2001:db8:0:8:<color:#8a8a8a>5075:35ff:fefa:30bc", description = "2nd level router"];
}
network level3 {
network level2 {
address = "2001:db8:0:c::/62";
description = "level 2: <color:#9a9a9a>1</color><b><i>1</i></b><color:#9a9a9a>00</color> ➜ c";
router_b [address = "2001:db8:0:c:<color:#8a8a8a>2ca3:9eff:fea9:68f7"];
router_c [address = "2001:db8:0:c:<color:#8a8a8a>fc33:13ff:fe93:5ae4", description = "3rd level router"];
@ -47,11 +50,20 @@ nwdiag {
leaf_b2 [address = "2001:db8:0:c:<color:#8a8a8a>5491:a2ff:fe98:61a2", description = "3rd level leaf node"];
}
network level4 {
address = "2001:db8:0:e::/63";
network level3_1 {
address = "2001:db8:0:d::/64";
description = "level 3.1: <color:#9a9a9a>11</color><b><i>01</i></b> ➜ d";
router_c [address = "2001:db8:0:e:<color:#8a8a8a>a8d9:e1ff:feab:d544"];
leaf_c [address = "2001:db8:0:e:<color:#8a8a8a>1cf5:33ff:fe7c:c70c", description = "4th level leaf node"];
router_c [address = "2001:db8:0:d:<color:#8a8a8a>a8d9:e1ff:feab:d544"];
leaf_d [address = "2001:db8:0:d:<color:#8a8a8a>1cf5:33ff:fe7c:c70c", description = "4th level leaf node"];
}
network level3_2 {
address = "2001:db8:0:e::/64";
description = "level 3.2: <color:#9a9a9a>11</color><b><i>10</i></b> ➜ e";
router_c [address = "2001:db8:0:e:<color:#8a8a8a>3495:ee42:11ef:dc86"];
leaf_e [address = "2001:db8:0:e:<color:#8a8a8a>6dcf:6e6f:6a25:25c4", description = "4th level leaf node"];
}
}
@enduml

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -22,9 +22,10 @@
* subnets from it by dividing it into sub-prefixes for each downstream interface.
*
* When using the `gnrc_ipv6_auto_subnets_simple` module, there can only be a single
* routing node on each level of the network but an arbitrary number of leaf nodes.
* routing node on each level of the network but an arbitrary number of leaf nodes and
* downstream interfaces.
*
* !['Skinny Tree' Example Topology](gnrc_ipv6_auto_subnets_simple.svg)
* ![Example Topology with only one router on each level](gnrc_ipv6_auto_subnets_simple.svg)
*
* If there are multiple routing nodes on the same link, coordination between the
* routers is required.
@ -36,7 +37,7 @@
* The layer 2 address of the sender then determines the order in which the prefixes
* are assigned.
*
* ![Example Topology](gnrc_ipv6_auto_subnets.svg)
* ![Example Topology with multiple routers](gnrc_ipv6_auto_subnets.svg)
*
* The downstream network(s) receive the sub-prefix via Router Advertisements
* and the process repeats until the bits of the prefix are exhausted.