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:
parent
e1e99c3bf1
commit
18e74ae8c0
@ -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 |
@ -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.
|
||||
|
Loading…
Reference in New Issue
Block a user