[fidldoc] Updating fidl reference docs
diff --git a/sdk/fidl/fuchsia.lowpan.device/README.md b/sdk/fidl/fuchsia.lowpan.device/README.md
index 9233940..a5e0138 100644
--- a/sdk/fidl/fuchsia.lowpan.device/README.md
+++ b/sdk/fidl/fuchsia.lowpan.device/README.md
@@ -449,8 +449,176 @@
             </td>
         </tr></table>
 
+## DeviceRoute {#DeviceRoute}
+*Defined in [fuchsia.lowpan.device/device_route.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.lowpan.device/device_route.fidl#102)*
+
+<p>LoWPAN protocol for IPv6 route and prefix management methods that
+do not expose PII.</p>
+<p>Note that methods that deal with PII are located in the
+<code>DeviceRouteExtra</code> protocol.</p>
+
+### RegisterExternalRoute {#fuchsia.lowpan.device/DeviceRoute.RegisterExternalRoute}
+
+<p>Registers an external route to be advertised on the
+current network.</p>
+<p>Subsequent calls with the same value for the <code>subnet</code> field will
+update the properties associated with that route.</p>
+<p>These changes persist like adding an IP address would,
+and will stick around until explicitly removed or
+the interface component is reset/restarted.</p>
+<p>If the given <code>ExternalRoute</code> structure is invalid for some reason
+(missing required fields, invalid values, etc), the channel will be
+closed with the epitaph <code>ZX_ERR_INVALID_ARGUMENT</code>.</p>
+<p>If registering a new external route and the maximum number of
+external routes has already been registered, this channel will
+be closed with the epitaph <code>ZX_ERR_NO_RESOURCES</code>.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>external_route</code></td>
+            <td>
+                <code><a class='link' href='#ExternalRoute'>ExternalRoute</a></code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+### RegisterOnMeshPrefix {#fuchsia.lowpan.device/DeviceRoute.RegisterOnMeshPrefix}
+
+<p>Registers an on-mesh prefix to be advertised on the
+current network.</p>
+<p>Subsequent calls with the same value for the <code>subnet</code> field will
+update the properties associated with that on-mesh prefix.</p>
+<p>These changes persist like adding an IP address would,
+and will stick around until explicitly removed or
+the interface component is reset/restarted.</p>
+<p>If the given <code>OnMeshPrefix</code> structure is invalid for some reason
+(missing required fields, invalid values, etc), the channel will be
+closed with the epitaph <code>ZX_ERR_INVALID_ARGS</code>.</p>
+<p>If registering a new on-mesh prefix and the maximum number of
+on-mesh prefixes has already been registered, this channel will
+be closed with the epitaph <code>ZX_ERR_NO_RESOURCES</code>.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>prefix</code></td>
+            <td>
+                <code><a class='link' href='#OnMeshPrefix'>OnMeshPrefix</a></code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+### UnregisterExternalRoute {#fuchsia.lowpan.device/DeviceRoute.UnregisterExternalRoute}
+
+<p>Unregisters any external route that was previously registered with
+<code>RegisterExternalRoute</code>. It returns once the external route has
+been removed locally.</p>
+<p>If the given external route was not previously registered,
+no action is taken.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>subnet</code></td>
+            <td>
+                <code><a class='link' href='../fuchsia.lowpan/'>fuchsia.lowpan</a>/<a class='link' href='../fuchsia.lowpan/#Ipv6Subnet'>Ipv6Subnet</a></code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+### UnregisterOnMeshPrefix {#fuchsia.lowpan.device/DeviceRoute.UnregisterOnMeshPrefix}
+
+<p>Unregisters any on-mesh prefix that was previously registered with
+<code>RegisterOnMeshPrefix</code>.  It returns once the on-mesh prefix has
+been removed locally.</p>
+<p>If the given mesh prefix was not previously registered,
+no action is taken.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>subnet</code></td>
+            <td>
+                <code><a class='link' href='../fuchsia.lowpan/'>fuchsia.lowpan</a>/<a class='link' href='../fuchsia.lowpan/#Ipv6Subnet'>Ipv6Subnet</a></code>
+            </td>
+        </tr></table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+## DeviceRouteExtra {#DeviceRouteExtra}
+*Defined in [fuchsia.lowpan.device/device_route.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.lowpan.device/device_route.fidl#163)*
+
+<p>LoWPAN protocol for IPv6 route and prefix management methods that
+expose PII.</p>
+<p>Note that methods that do not deal with PII are located in the
+<code>DeviceRoute</code> protocol.</p>
+
+### GetLocalExternalRoutes {#fuchsia.lowpan.device/DeviceRouteExtra.GetLocalExternalRoutes}
+
+<p>Returns a vector containing all of the locally added external routes.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>external_routes</code></td>
+            <td>
+                <code>vector&lt;<a class='link' href='#ExternalRoute'>ExternalRoute</a>&gt;[32]</code>
+            </td>
+        </tr></table>
+
+### GetLocalOnMeshPrefixes {#fuchsia.lowpan.device/DeviceRouteExtra.GetLocalOnMeshPrefixes}
+
+<p>Returns a vector containing all of the locally added on-mesh prefixes.</p>
+
+#### Request
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    </table>
+
+
+#### Response
+<table>
+    <tr><th>Name</th><th>Type</th></tr>
+    <tr>
+            <td><code>prefixes</code></td>
+            <td>
+                <code>vector&lt;<a class='link' href='#OnMeshPrefix'>OnMeshPrefix</a>&gt;[32]</code>
+            </td>
+        </tr></table>
+
 ## Driver {#Driver}
-*Defined in [fuchsia.lowpan.device/service.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.lowpan.device/service.fidl#58)*
+*Defined in [fuchsia.lowpan.device/service.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.lowpan.device/service.fidl#60)*
 
 <p>Protocol representing a LoWPAN driver instance.</p>
 
@@ -499,7 +667,7 @@
         </tr></table>
 
 ## Lookup {#Lookup}
-*Defined in [fuchsia.lowpan.device/service.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.lowpan.device/service.fidl#67)*
+*Defined in [fuchsia.lowpan.device/service.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.lowpan.device/service.fidl#69)*
 
 <p>Protocol for discovering and resolving LoWPAN interfaces and their
 associated control protocol instances.</p>
@@ -627,7 +795,7 @@
         </tr></table>
 
 ## Register {#Register}
-*Defined in [fuchsia.lowpan.device/service.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.lowpan.device/service.fidl#104)*
+*Defined in [fuchsia.lowpan.device/service.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.lowpan.device/service.fidl#106)*
 
 <p>Protocol for registering LoWPAN interfaces and their
 associated control protocols with the LoWPAN service.</p>
@@ -668,7 +836,7 @@
 ## **STRUCTS**
 
 ### DeviceChanges {#DeviceChanges}
-*Defined in [fuchsia.lowpan.device/service.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.lowpan.device/service.fidl#51)*
+*Defined in [fuchsia.lowpan.device/service.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.lowpan.device/service.fidl#53)*
 
 <p>Struct describing changes to the devices being managed
 by the LoWPAN service.</p>
@@ -693,7 +861,7 @@
 </table>
 
 ### Lookup_LookupDevice_Response {#Lookup_LookupDevice_Response}
-*Defined in [fuchsia.lowpan.device/service.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.lowpan.device/service.fidl#71)*
+*Defined in [fuchsia.lowpan.device/service.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.lowpan.device/service.fidl#73)*
 
 
 
@@ -718,7 +886,7 @@
 </table>
 
 ### Register_RegisterDevice_Response {#Register_RegisterDevice_Response}
-*Defined in [fuchsia.lowpan.device/service.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.lowpan.device/service.fidl#107)*
+*Defined in [fuchsia.lowpan.device/service.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.lowpan.device/service.fidl#109)*
 
 
 
@@ -767,6 +935,32 @@
 </td>
         </tr></table>
 
+### RoutePreference {#RoutePreference}
+Type: <code>int8</code>
+
+*Defined in [fuchsia.lowpan.device/device_route.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.lowpan.device/device_route.fidl#13)*
+
+<p>Route preference, as described in RFC4191.</p>
+
+
+<table>
+    <tr><th>Name</th><th>Value</th><th>Description</th></tr><tr id="RoutePreference.LOW">
+            <td><code>LOW</code></td>
+            <td><code>-1</code></td>
+            <td><p>Low route preference.</p>
+</td>
+        </tr><tr id="RoutePreference.MEDIUM">
+            <td><code>MEDIUM</code></td>
+            <td><code>0</code></td>
+            <td><p>Medium route preference.</p>
+</td>
+        </tr><tr id="RoutePreference.HIGH">
+            <td><code>HIGH</code></td>
+            <td><code>1</code></td>
+            <td><p>High route preference.</p>
+</td>
+        </tr></table>
+
 ### ServiceError {#ServiceError}
 Type: <code>int32</code>
 
@@ -923,6 +1117,52 @@
 </td>
         </tr></table>
 
+### ExternalRoute {#ExternalRoute}
+
+
+*Defined in [fuchsia.lowpan.device/device_route.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.lowpan.device/device_route.fidl#74)*
+
+<p>LoWPAN External Route.</p>
+<p>Informed by the Thread 1.1.1 Specification, section 5.13.3.</p>
+
+
+<table>
+    <tr><th>Ordinal</th><th>Name</th><th>Type</th><th>Description</th></tr>
+    <tr id="ExternalRoute.subnet">
+            <td>1</td>
+            <td><code>subnet</code></td>
+            <td>
+                <code><a class='link' href='../fuchsia.lowpan/'>fuchsia.lowpan</a>/<a class='link' href='../fuchsia.lowpan/#Ipv6Subnet'>Ipv6Subnet</a></code>
+            </td>
+            <td><p>Subnet for route. Required.</p>
+</td>
+        </tr><tr id="ExternalRoute.route_preference">
+            <td>2</td>
+            <td><code>route_preference</code></td>
+            <td>
+                <code><a class='link' href='#RoutePreference'>RoutePreference</a></code>
+            </td>
+            <td><p>Indicates the what preference this route should be given relative
+to other devices offering the same external route. If not present,
+<code>MEDIUM</code> preference is assumed.</p>
+<p>Based on <code>R_preference</code> from Section 5.13.3 of the Thread 1.1.1
+Specification.</p>
+</td>
+        </tr><tr id="ExternalRoute.stable">
+            <td>3</td>
+            <td><code>stable</code></td>
+            <td>
+                <code>bool</code>
+            </td>
+            <td><p>True if the route is expected to be available for at least Thread's
+<code>MIN_STABLE_LIFETIME</code>; otherwise, <code>false</code>. If not present, assumed to
+be <code>false</code>.</p>
+<p>The Thread specification defines <code>MIN_STABLE_LIFETIME</code> as 168 hours.</p>
+<p>Based on <code>R_stable</code> from Section 5.13.3 of the Thread 1.1.1
+Specification.</p>
+</td>
+        </tr></table>
+
 ### NetworkScanParameters {#NetworkScanParameters}
 
 
@@ -960,6 +1200,79 @@
 </td>
         </tr></table>
 
+### OnMeshPrefix {#OnMeshPrefix}
+
+
+*Defined in [fuchsia.lowpan.device/device_route.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.lowpan.device/device_route.fidl#27)*
+
+<p>LoWPAN On-Mesh Prefix.</p>
+<p>Informed by the Thread 1.1.1 Specification, section 5.13.2.</p>
+
+
+<table>
+    <tr><th>Ordinal</th><th>Name</th><th>Type</th><th>Description</th></tr>
+    <tr id="OnMeshPrefix.subnet">
+            <td>1</td>
+            <td><code>subnet</code></td>
+            <td>
+                <code><a class='link' href='../fuchsia.lowpan/'>fuchsia.lowpan</a>/<a class='link' href='../fuchsia.lowpan/#Ipv6Subnet'>Ipv6Subnet</a></code>
+            </td>
+            <td><p>Subnet to advertise for devices to use on the network. Required.</p>
+</td>
+        </tr><tr id="OnMeshPrefix.default_route_preference">
+            <td>2</td>
+            <td><code>default_route_preference</code></td>
+            <td>
+                <code><a class='link' href='#RoutePreference'>RoutePreference</a></code>
+            </td>
+            <td><p>If present, indicates that this device is offering a default route
+as well as indicating the what preference this default
+route should be given relative to other devices offering default
+routes. If not present, no default route is advertised.</p>
+<p>Based on <code>P_default</code> and <code>P_preference</code> from Section 5.13.2 of the
+Thread 1.1.1 Specification.</p>
+</td>
+        </tr><tr id="OnMeshPrefix.stable">
+            <td>3</td>
+            <td><code>stable</code></td>
+            <td>
+                <code>bool</code>
+            </td>
+            <td><p>True if the route is expected to be available for at least Thread's
+<code>MIN_STABLE_LIFETIME</code>; otherwise <code>false</code>. If not present, assumed to
+be <code>false</code>.</p>
+<p>The Thread specification defines <code>MIN_STABLE_LIFETIME</code> as 168 hours.</p>
+<p>Based on <code>P_stable</code> from Section 5.13.2 of the
+Thread 1.1.1 Specification.</p>
+</td>
+        </tr><tr id="OnMeshPrefix.slaac_preferred">
+            <td>4</td>
+            <td><code>slaac_preferred</code></td>
+            <td>
+                <code>bool</code>
+            </td>
+            <td><p>True if network devices are allowed to use previously configured
+addresses using this prefix. If not present, assumed to be <code>false</code>.</p>
+<p>&quot;SLAAC&quot; referrs to StateLess Address Auto Configuration, described in
+<a href="https://tools.ietf.org/html/rfc4862">RFC4862</a>.</p>
+<p>Based on <code>P_slaac_preferred</code> from Section 5.13.2 of the
+Thread 1.1.1 Specification.</p>
+</td>
+        </tr><tr id="OnMeshPrefix.slaac_valid">
+            <td>5</td>
+            <td><code>slaac_valid</code></td>
+            <td>
+                <code>bool</code>
+            </td>
+            <td><p>True if network devices are allowed to autoconfigure addresses using
+this prefix. If not present, assumed to be <code>false</code>.</p>
+<p>&quot;SLAAC&quot; referrs to StateLess Address Auto Configuration, described in
+<a href="https://tools.ietf.org/html/rfc4862">RFC4862</a>.</p>
+<p>Based on <code>P_slaac_valid</code> from Section 5.13.2 of the
+Thread 1.1.1 Specification.</p>
+</td>
+        </tr></table>
+
 ### Protocols {#Protocols}
 
 
@@ -992,6 +1305,20 @@
                 <code>request&lt;<a class='link' href='../fuchsia.lowpan.test/'>fuchsia.lowpan.test</a>/<a class='link' href='../fuchsia.lowpan.test/#DeviceTest'>DeviceTest</a>&gt;</code>
             </td>
             <td></td>
+        </tr><tr id="Protocols.device_route">
+            <td>4</td>
+            <td><code>device_route</code></td>
+            <td>
+                <code>request&lt;<a class='link' href='#DeviceRoute'>DeviceRoute</a>&gt;</code>
+            </td>
+            <td></td>
+        </tr><tr id="Protocols.device_route_extra">
+            <td>5</td>
+            <td><code>device_route_extra</code></td>
+            <td>
+                <code>request&lt;<a class='link' href='#DeviceRouteExtra'>DeviceRouteExtra</a>&gt;</code>
+            </td>
+            <td></td>
         </tr></table>
 
 
@@ -999,7 +1326,7 @@
 ## **UNIONS**
 
 ### Lookup_LookupDevice_Result {#Lookup_LookupDevice_Result}
-*Defined in [fuchsia.lowpan.device/service.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.lowpan.device/service.fidl#71)*
+*Defined in [fuchsia.lowpan.device/service.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.lowpan.device/service.fidl#73)*
 
 
 <table>
@@ -1060,7 +1387,7 @@
         </tr></table>
 
 ### Register_RegisterDevice_Result {#Register_RegisterDevice_Result}
-*Defined in [fuchsia.lowpan.device/service.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.lowpan.device/service.fidl#107)*
+*Defined in [fuchsia.lowpan.device/service.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.lowpan.device/service.fidl#109)*
 
 
 <table>
@@ -1085,7 +1412,15 @@
 ## **CONSTANTS**
 
 <table>
-    <tr><th>Name</th><th>Value</th><th>Type</th><th>Description</th></tr><tr id="MAX_LOWPAN_DEVICES">
+    <tr><th>Name</th><th>Value</th><th>Type</th><th>Description</th></tr><tr id="MAX_EXTERNAL_ROUTES">
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.lowpan.device/device_route.fidl#10">MAX_EXTERNAL_ROUTES</a></td>
+            <td>
+                    <code>32</code>
+                </td>
+                <td><code>uint32</code></td>
+            <td></td>
+        </tr>
+    <tr id="MAX_LOWPAN_DEVICES">
             <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.lowpan.device/service.fidl#9">MAX_LOWPAN_DEVICES</a></td>
             <td>
                     <code>8</code>
@@ -1107,6 +1442,14 @@
 cause system stability issues.</p>
 </td>
         </tr>
+    <tr id="MAX_ON_MESH_PREFIXES">
+            <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.lowpan.device/device_route.fidl#9">MAX_ON_MESH_PREFIXES</a></td>
+            <td>
+                    <code>32</code>
+                </td>
+                <td><code>uint32</code></td>
+            <td></td>
+        </tr>
     <tr id="MAX_STREAM_SET_SIZE">
             <td><a href="https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.lowpan.device/misc.fidl#11">MAX_STREAM_SET_SIZE</a></td>
             <td>
diff --git a/sdk/fidl/fuchsia.lowpan/README.md b/sdk/fidl/fuchsia.lowpan/README.md
index 75ef066..02bb4eb 100644
--- a/sdk/fidl/fuchsia.lowpan/README.md
+++ b/sdk/fidl/fuchsia.lowpan/README.md
@@ -73,6 +73,32 @@
         </tr>
 </table>
 
+### Ipv6Subnet {#Ipv6Subnet}
+*Defined in [fuchsia.lowpan/misc.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.lowpan/misc.fidl#28)*
+
+
+
+<table>
+    <tr><th>Name</th><th>Type</th><th>Description</th><th>Default</th></tr><tr id="Ipv6Subnet.addr">
+            <td><code>addr</code></td>
+            <td>
+                <code><a class='link' href='../fuchsia.net/'>fuchsia.net</a>/<a class='link' href='../fuchsia.net/#Ipv6Address'>Ipv6Address</a></code>
+            </td>
+            <td><p>The IPv6 address of the subnet.</p>
+</td>
+            <td>No default</td>
+        </tr><tr id="Ipv6Subnet.prefix_len">
+            <td><code>prefix_len</code></td>
+            <td>
+                <code>uint8</code>
+            </td>
+            <td><p>The length of the IPv6 prefix for the subnet.
+Must be between 0 and 128, inclusive.</p>
+</td>
+            <td>No default</td>
+        </tr>
+</table>
+
 ### ProvisioningParams {#ProvisioningParams}
 *Defined in [fuchsia.lowpan/provisioning_params.fidl](https://fuchsia.googlesource.com/fuchsia/+/master/sdk/fidl/fuchsia.lowpan/provisioning_params.fidl#7)*