diff --git a/com/intel/jndn/management/Nfdc.html b/com/intel/jndn/management/Nfdc.html
new file mode 100644
index 0000000..be1997d
--- /dev/null
+++ b/com/intel/jndn/management/Nfdc.html
@@ -0,0 +1,926 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc (1.8.0_66) on Mon Feb 22 16:40:14 PST 2016 -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Nfdc (jndn-management 1.1.0 API)</title>
+<meta name="date" content="2016-02-22">
+<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="Nfdc (jndn-management 1.1.0 API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9,"i8":9,"i9":9,"i10":9,"i11":9,"i12":9,"i13":9,"i14":9,"i15":9,"i16":9,"i17":9,"i18":9,"i19":9,"i20":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Nfdc.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../com/intel/jndn/management/NdnPingClient.html" title="class in com.intel.jndn.management"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?com/intel/jndn/management/Nfdc.html" target="_top">Frames</a></li>
+<li><a href="Nfdc.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">com.intel.jndn.management</div>
+<h2 title="Class Nfdc" class="title">Class Nfdc</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>com.intel.jndn.management.Nfdc</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public final class <span class="typeNameLabel">Nfdc</span>
+extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
+<div class="block">Helper class for interacting with an NDN forwarder daemon; see
+ <a href="http://redmine.named-data.net/projects/nfd/wiki/Management">NFD Management</a>
+ for explanations of the various protocols used.</div>
+<dl>
+<dt><span class="simpleTagLabel">Author:</span></dt>
+<dd>Andrew Brown <andrew.brown@intel.com></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/intel/jndn/management/Nfdc.html#createFace-net.named_data.jndn.Face-java.lang.String-">createFace</a></span>(net.named_data.jndn.Face&nbsp;face,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;uri)</code>
+<div class="block">Create a new face on the given forwarder.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/intel/jndn/management/Nfdc.html#destroyFace-net.named_data.jndn.Face-int-">destroyFace</a></span>(net.named_data.jndn.Face&nbsp;face,
+           int&nbsp;faceId)</code>
+<div class="block">Destroy a face on given forwarder.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/intel/jndn/management/Nfdc.html#disableLocalControlHeader-net.named_data.jndn.Face-com.intel.jndn.management.enums.LocalControlHeader-">disableLocalControlHeader</a></span>(net.named_data.jndn.Face&nbsp;face,
+                         <a href="../../../../com/intel/jndn/management/enums/LocalControlHeader.html" title="enum in com.intel.jndn.management.enums">LocalControlHeader</a>&nbsp;header)</code>
+<div class="block">Disable a local control feature on the given forwarder.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/intel/jndn/management/Nfdc.html#enableLocalControlHeader-net.named_data.jndn.Face-com.intel.jndn.management.enums.LocalControlHeader-">enableLocalControlHeader</a></span>(net.named_data.jndn.Face&nbsp;face,
+                        <a href="../../../../com/intel/jndn/management/enums/LocalControlHeader.html" title="enum in com.intel.jndn.management.enums">LocalControlHeader</a>&nbsp;header)</code>
+<div class="block">Enable a local control feature on the given forwarder.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../com/intel/jndn/management/types/ChannelStatus.html" title="class in com.intel.jndn.management.types">ChannelStatus</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/intel/jndn/management/Nfdc.html#getChannelStatusList-net.named_data.jndn.Face-">getChannelStatusList</a></span>(net.named_data.jndn.Face&nbsp;face)</code>
+<div class="block">Retrieve the list of channel status entries from the NFD; calls
+ /localhost/nfd/faces/channels which requires a local Face (all non-local packets
+ are dropped).</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../com/intel/jndn/management/types/FaceStatus.html" title="class in com.intel.jndn.management.types">FaceStatus</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/intel/jndn/management/Nfdc.html#getFaceList-net.named_data.jndn.Face-">getFaceList</a></span>(net.named_data.jndn.Face&nbsp;face)</code>
+<div class="block">Retrieve a list of faces and their status from the given forwarder; calls
+ /localhost/nfd/faces/list which requires a local Face (all non-local
+ packets are dropped).</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../com/intel/jndn/management/types/FibEntry.html" title="class in com.intel.jndn.management.types">FibEntry</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/intel/jndn/management/Nfdc.html#getFibList-net.named_data.jndn.Face-">getFibList</a></span>(net.named_data.jndn.Face&nbsp;face)</code>
+<div class="block">Retrieve a list of FIB entries and their NextHopRecords from the given
+ forwarder; calls /localhost/nfd/fib/list which requires a local Face (all
+ non-local packets are dropped).</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../com/intel/jndn/management/types/ForwarderStatus.html" title="class in com.intel.jndn.management.types">ForwarderStatus</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/intel/jndn/management/Nfdc.html#getForwarderStatus-net.named_data.jndn.Face-">getForwarderStatus</a></span>(net.named_data.jndn.Face&nbsp;face)</code>
+<div class="block">Retrieve the status of the given forwarder; calls /localhost/nfd/status/general
+ which requires a local Face (all non-local packets are dropped).</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>static net.named_data.jndn.KeyLocator</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/intel/jndn/management/Nfdc.html#getKeyLocator-net.named_data.jndn.Face-">getKeyLocator</a></span>(net.named_data.jndn.Face&nbsp;face)</code>
+<div class="block">Retrieve the <code>KeyLocator</code> for an NFD.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../com/intel/jndn/management/types/RibEntry.html" title="class in com.intel.jndn.management.types">RibEntry</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/intel/jndn/management/Nfdc.html#getRouteList-net.named_data.jndn.Face-">getRouteList</a></span>(net.named_data.jndn.Face&nbsp;face)</code>
+<div class="block">Retrieve a list of routing entries from the RIB; calls
+ /localhost/nfd/rib/list which requires a local Face (all non-local packets
+ are dropped).</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../com/intel/jndn/management/types/StrategyChoice.html" title="class in com.intel.jndn.management.types">StrategyChoice</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/intel/jndn/management/Nfdc.html#getStrategyList-net.named_data.jndn.Face-">getStrategyList</a></span>(net.named_data.jndn.Face&nbsp;face)</code>
+<div class="block">Retrieve the list of strategy choice entries from the NFD; calls
+ /localhost/nfd/rib/list which requires a local Face (all non-local packets
+ are dropped).</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/intel/jndn/management/Nfdc.html#register-net.named_data.jndn.Face-net.named_data.jndn.ControlParameters-">register</a></span>(net.named_data.jndn.Face&nbsp;face,
+        net.named_data.jndn.ControlParameters&nbsp;controlParameters)</code>
+<div class="block">Register a route on the forwarder.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/intel/jndn/management/Nfdc.html#register-net.named_data.jndn.Face-int-net.named_data.jndn.Name-int-">register</a></span>(net.named_data.jndn.Face&nbsp;forwarder,
+        int&nbsp;faceId,
+        net.named_data.jndn.Name&nbsp;route,
+        int&nbsp;cost)</code>
+<div class="block">Register a route on a forwarder; this will not create a new face since it
+ is provided a faceId.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/intel/jndn/management/Nfdc.html#register-net.named_data.jndn.Face-net.named_data.jndn.Name-int-">register</a></span>(net.named_data.jndn.Face&nbsp;face,
+        net.named_data.jndn.Name&nbsp;route,
+        int&nbsp;cost)</code>
+<div class="block">Register a route on a forwarder; this will create a new face on the
+ forwarder towards the face (e.g., self registration).</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/intel/jndn/management/Nfdc.html#register-net.named_data.jndn.Face-java.lang.String-net.named_data.jndn.Name-int-">register</a></span>(net.named_data.jndn.Face&nbsp;face,
+        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;uri,
+        net.named_data.jndn.Name&nbsp;route,
+        int&nbsp;cost)</code>
+<div class="block">Register a route on a forwarder; this will create a new face on the
+ forwarder to the given URI/route pair.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/intel/jndn/management/Nfdc.html#setStrategy-net.named_data.jndn.Face-net.named_data.jndn.Name-net.named_data.jndn.Name-">setStrategy</a></span>(net.named_data.jndn.Face&nbsp;face,
+           net.named_data.jndn.Name&nbsp;prefix,
+           net.named_data.jndn.Name&nbsp;strategy)</code>
+<div class="block">Set a strategy on the forwarder
+ <p/>
+ Ensure the forwarding face is on the local machine (management requests are to /localhost/...) and that command
+ signing has been set up using forwarder.setCommandSigningInfo().</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/intel/jndn/management/Nfdc.html#unregister-net.named_data.jndn.Face-net.named_data.jndn.ControlParameters-">unregister</a></span>(net.named_data.jndn.Face&nbsp;face,
+          net.named_data.jndn.ControlParameters&nbsp;controlParameters)</code>
+<div class="block">Unregister a route on a forwarder
+ <p/>
+ Ensure the forwarding face is on the local machine (management requests are to /localhost/...) and that command
+ signing has been set up (e.g.</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/intel/jndn/management/Nfdc.html#unregister-net.named_data.jndn.Face-net.named_data.jndn.Name-">unregister</a></span>(net.named_data.jndn.Face&nbsp;face,
+          net.named_data.jndn.Name&nbsp;route)</code>
+<div class="block">Unregister a route on a forwarder.</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/intel/jndn/management/Nfdc.html#unregister-net.named_data.jndn.Face-net.named_data.jndn.Name-int-">unregister</a></span>(net.named_data.jndn.Face&nbsp;face,
+          net.named_data.jndn.Name&nbsp;route,
+          int&nbsp;faceId)</code>
+<div class="block">Unregister a route on a forwarder; see
+ <p/>
+ Ensure the forwarding face is on the local machine (management requests are to /localhost/...) and that command
+ signing has been set up (e.g.</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/intel/jndn/management/Nfdc.html#unregister-net.named_data.jndn.Face-net.named_data.jndn.Name-java.lang.String-">unregister</a></span>(net.named_data.jndn.Face&nbsp;face,
+          net.named_data.jndn.Name&nbsp;route,
+          <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;uri)</code>
+<div class="block">Unregister a route on a forwarder
+ <p/>
+ Ensure the forwarding face is on the local machine (management requests are to /localhost/...) and that command
+ signing has been set up using forwarder.setCommandSigningInfo().</div>
+</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../com/intel/jndn/management/Nfdc.html#unsetStrategy-net.named_data.jndn.Face-net.named_data.jndn.Name-">unsetStrategy</a></span>(net.named_data.jndn.Face&nbsp;face,
+             net.named_data.jndn.Name&nbsp;prefix)</code>
+<div class="block">Set a strategy on the forwarder; see
+ <a href="../../../../com/intel/jndn/management/Nfdc.html#setStrategy-net.named_data.jndn.Face-net.named_data.jndn.Name-net.named_data.jndn.Name-"><code>setStrategy(net.named_data.jndn.Face, net.named_data.jndn.Name, net.named_data.jndn.Name)</code></a>
+ for more information.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="getForwarderStatus-net.named_data.jndn.Face-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getForwarderStatus</h4>
+<pre>public static&nbsp;<a href="../../../../com/intel/jndn/management/types/ForwarderStatus.html" title="class in com.intel.jndn.management.types">ForwarderStatus</a>&nbsp;getForwarderStatus(net.named_data.jndn.Face&nbsp;face)
+                                          throws <a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></pre>
+<div class="block">Retrieve the status of the given forwarder; calls /localhost/nfd/status/general
+ which requires a local Face (all non-local packets are dropped).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>face</code> - only a localhost Face</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the forwarder status object</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></code> - if the network request failed or the returned status could not be decoded</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="http://redmine.named-data.net/projects/nfd/wiki/ForwarderStatus">ForwarderStatus</a></dd>
+</dl>
+</li>
+</ul>
+<a name="getFaceList-net.named_data.jndn.Face-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFaceList</h4>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../com/intel/jndn/management/types/FaceStatus.html" title="class in com.intel.jndn.management.types">FaceStatus</a>&gt;&nbsp;getFaceList(net.named_data.jndn.Face&nbsp;face)
+                                    throws <a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></pre>
+<div class="block">Retrieve a list of faces and their status from the given forwarder; calls
+ /localhost/nfd/faces/list which requires a local Face (all non-local
+ packets are dropped).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>face</code> - only a localhost Face</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a list of face status objects</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></code> - if the network request failed or if the NFD rejected the request</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="http://redmine.named-data.net/projects/nfd/wiki/FaceMgmt">FaceManagement</a></dd>
+</dl>
+</li>
+</ul>
+<a name="getFibList-net.named_data.jndn.Face-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getFibList</h4>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../com/intel/jndn/management/types/FibEntry.html" title="class in com.intel.jndn.management.types">FibEntry</a>&gt;&nbsp;getFibList(net.named_data.jndn.Face&nbsp;face)
+                                 throws <a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></pre>
+<div class="block">Retrieve a list of FIB entries and their NextHopRecords from the given
+ forwarder; calls /localhost/nfd/fib/list which requires a local Face (all
+ non-local packets are dropped).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>face</code> - only a localhost Face</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a list of FIB entries</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></code> - if the network request failed or if the NFD rejected the request</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="http://redmine.named-data.net/projects/nfd/wiki/FibMgmt#FIB-Dataset">FIB Dataset</a></dd>
+</dl>
+</li>
+</ul>
+<a name="getRouteList-net.named_data.jndn.Face-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getRouteList</h4>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../com/intel/jndn/management/types/RibEntry.html" title="class in com.intel.jndn.management.types">RibEntry</a>&gt;&nbsp;getRouteList(net.named_data.jndn.Face&nbsp;face)
+                                   throws <a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></pre>
+<div class="block">Retrieve a list of routing entries from the RIB; calls
+ /localhost/nfd/rib/list which requires a local Face (all non-local packets
+ are dropped).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>face</code> - only a localhost Face</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a list of RIB entries, i.e. routes</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></code> - if the network request failed or if the NFD rejected the request</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="http://redmine.named-data.net/projects/nfd/wiki/RibMgmt#RIB-Dataset">RIB Dataset</a></dd>
+</dl>
+</li>
+</ul>
+<a name="getStrategyList-net.named_data.jndn.Face-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getStrategyList</h4>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../com/intel/jndn/management/types/StrategyChoice.html" title="class in com.intel.jndn.management.types">StrategyChoice</a>&gt;&nbsp;getStrategyList(net.named_data.jndn.Face&nbsp;face)
+                                            throws <a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></pre>
+<div class="block">Retrieve the list of strategy choice entries from the NFD; calls
+ /localhost/nfd/rib/list which requires a local Face (all non-local packets
+ are dropped).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>face</code> - only a localhost Face</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a list of strategy choice entries, i.e. routes</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></code> - if the network request failed, the NFD response could not be decoded, or
+                             the NFD rejected the request</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="http://redmine.named-data.net/projects/nfd/wiki/StrategyChoice">StrategyChoice</a></dd>
+</dl>
+</li>
+</ul>
+<a name="getChannelStatusList-net.named_data.jndn.Face-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getChannelStatusList</h4>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../com/intel/jndn/management/types/ChannelStatus.html" title="class in com.intel.jndn.management.types">ChannelStatus</a>&gt;&nbsp;getChannelStatusList(net.named_data.jndn.Face&nbsp;face)
+                                                throws <a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></pre>
+<div class="block">Retrieve the list of channel status entries from the NFD; calls
+ /localhost/nfd/faces/channels which requires a local Face (all non-local packets
+ are dropped).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>face</code> - only a localhost Face</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a list of channel status entries</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></code> - if the network request failed, the NFD response could not be decoded, or
+                             the NFD rejected the request</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="http://redmine.named-data.net/projects/nfd/wiki/FaceMgmt#Channel-Dataset">Face Management</a></dd>
+</dl>
+</li>
+</ul>
+<a name="getKeyLocator-net.named_data.jndn.Face-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getKeyLocator</h4>
+<pre>public static&nbsp;net.named_data.jndn.KeyLocator&nbsp;getKeyLocator(net.named_data.jndn.Face&nbsp;face)
+                                                    throws <a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></pre>
+<div class="block">Retrieve the <code>KeyLocator</code> for an NFD.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>face</code> - only a localhost <code>Face</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the <code>KeyLocator</code> of the NFD's key</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></code> - if the network request failed, if the NFD rejected the request, or no
+                             KeyLocator was found</dd>
+</dl>
+</li>
+</ul>
+<a name="createFace-net.named_data.jndn.Face-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createFace</h4>
+<pre>public static&nbsp;int&nbsp;createFace(net.named_data.jndn.Face&nbsp;face,
+                             <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;uri)
+                      throws <a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></pre>
+<div class="block">Create a new face on the given forwarder. Ensure the forwarding face is on
+ the local machine (management requests are to /localhost/...) and that
+ command signing has been set up (e.g. forwarder.setCommandSigningInfo()).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>face</code> - only a localhost <code>Face</code></dd>
+<dd><code>uri</code> - a string like "tcp4://host.name.com" (see nfd-status channels
+             for more protocol options)</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the newly created face ID</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></code> - if the network request failed, the NFD response could not be decoded, or
+                             the NFD rejected the request</dd>
+</dl>
+</li>
+</ul>
+<a name="destroyFace-net.named_data.jndn.Face-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>destroyFace</h4>
+<pre>public static&nbsp;void&nbsp;destroyFace(net.named_data.jndn.Face&nbsp;face,
+                               int&nbsp;faceId)
+                        throws <a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></pre>
+<div class="block">Destroy a face on given forwarder. Ensure the forwarding face is on the
+ local machine (management requests are to /localhost/...) and that command
+ signing has been set up (e.g. forwarder.setCommandSigningInfo()).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>face</code> - only a localhost <code>Face</code></dd>
+<dd><code>faceId</code> - the ID of the face to destroy</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></code> - if the network request failed, the NFD response could not be decoded, or
+                             the NFD rejected the request</dd>
+</dl>
+</li>
+</ul>
+<a name="enableLocalControlHeader-net.named_data.jndn.Face-com.intel.jndn.management.enums.LocalControlHeader-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>enableLocalControlHeader</h4>
+<pre>public static&nbsp;void&nbsp;enableLocalControlHeader(net.named_data.jndn.Face&nbsp;face,
+                                            <a href="../../../../com/intel/jndn/management/enums/LocalControlHeader.html" title="enum in com.intel.jndn.management.enums">LocalControlHeader</a>&nbsp;header)
+                                     throws <a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></pre>
+<div class="block">Enable a local control feature on the given forwarder.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>face</code> - only a localhost <code>Face</code></dd>
+<dd><code>header</code> - the control feature to enable</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></code> - if the network request failed, the NFD response could not be decoded, or
+                             the NFD rejected the request</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="http://redmine.named-data.net/projects/nfd/wiki/FaceMgmt">Face Management</a></dd>
+</dl>
+</li>
+</ul>
+<a name="disableLocalControlHeader-net.named_data.jndn.Face-com.intel.jndn.management.enums.LocalControlHeader-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>disableLocalControlHeader</h4>
+<pre>public static&nbsp;void&nbsp;disableLocalControlHeader(net.named_data.jndn.Face&nbsp;face,
+                                             <a href="../../../../com/intel/jndn/management/enums/LocalControlHeader.html" title="enum in com.intel.jndn.management.enums">LocalControlHeader</a>&nbsp;header)
+                                      throws <a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></pre>
+<div class="block">Disable a local control feature on the given forwarder.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>face</code> - only a localhost <code>Face</code></dd>
+<dd><code>header</code> - the control feature to disable</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></code> - if the network request failed, the NFD response could not be decoded, or
+                             the NFD rejected the request</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="http://redmine.named-data.net/projects/nfd/wiki/FaceMgmt">Face Management</a></dd>
+</dl>
+</li>
+</ul>
+<a name="register-net.named_data.jndn.Face-net.named_data.jndn.ControlParameters-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>register</h4>
+<pre>public static&nbsp;void&nbsp;register(net.named_data.jndn.Face&nbsp;face,
+                            net.named_data.jndn.ControlParameters&nbsp;controlParameters)
+                     throws <a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></pre>
+<div class="block">Register a route on the forwarder.
+ <p/>
+ Ensure the forwarding face is on the local machine (management requests are to /localhost/...) and that command
+ signing has been set up (e.g. forwarder.setCommandSigningInfo()).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>face</code> - only a localhost <code>Face</code></dd>
+<dd><code>controlParameters</code> - the <code>ControlParameters</code> command options</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></code> - if the network request failed, the NFD response could not be decoded, or
+                             the NFD rejected the request</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="http://named-data.net/doc/NFD/current/manpages/nfdc.html">nfdc</a>, 
+<a href="http://redmine.named-data.net/projects/nfd/wiki/RibMgmt">RIB Management</a></dd>
+</dl>
+</li>
+</ul>
+<a name="register-net.named_data.jndn.Face-net.named_data.jndn.Name-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>register</h4>
+<pre>public static&nbsp;void&nbsp;register(net.named_data.jndn.Face&nbsp;face,
+                            net.named_data.jndn.Name&nbsp;route,
+                            int&nbsp;cost)
+                     throws <a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></pre>
+<div class="block">Register a route on a forwarder; this will create a new face on the
+ forwarder towards the face (e.g., self registration).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>face</code> - only a localhost <code>Face</code></dd>
+<dd><code>route</code> - the <code>Name</code> prefix of the route</dd>
+<dd><code>cost</code> - the numeric cost of forwarding along the route</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></code> - if the network request failed, the NFD response could not be decoded, or
+                             the NFD rejected the request</dd>
+</dl>
+</li>
+</ul>
+<a name="register-net.named_data.jndn.Face-java.lang.String-net.named_data.jndn.Name-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>register</h4>
+<pre>public static&nbsp;void&nbsp;register(net.named_data.jndn.Face&nbsp;face,
+                            <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;uri,
+                            net.named_data.jndn.Name&nbsp;route,
+                            int&nbsp;cost)
+                     throws <a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></pre>
+<div class="block">Register a route on a forwarder; this will create a new face on the
+ forwarder to the given URI/route pair. See register(Face,
+ ControlParameters) for more detailed documentation.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>face</code> - only a localhost <code>Face</code></dd>
+<dd><code>uri</code> - the URI (e.g. "tcp4://10.10.2.2:6363") of the remote node; note
+              that this must be one of the canonical forms described in the wiki
+              (http://redmine.named-data.net/projects/nfd/wiki/FaceMgmt#TCP) for NFD to
+              accept the registration--otherwise you will see 400 errors</dd>
+<dd><code>route</code> - the <code>Name</code> prefix of the route</dd>
+<dd><code>cost</code> - the numeric cost of forwarding along the route</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></code> - if the network request failed, the NFD response could not be decoded, or
+                             the NFD rejected the request</dd>
+</dl>
+</li>
+</ul>
+<a name="register-net.named_data.jndn.Face-int-net.named_data.jndn.Name-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>register</h4>
+<pre>public static&nbsp;void&nbsp;register(net.named_data.jndn.Face&nbsp;forwarder,
+                            int&nbsp;faceId,
+                            net.named_data.jndn.Name&nbsp;route,
+                            int&nbsp;cost)
+                     throws <a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></pre>
+<div class="block">Register a route on a forwarder; this will not create a new face since it
+ is provided a faceId. See register(Face, ControlParameters) for full
+ documentation.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>forwarder</code> - only a localhost <code>Face</code></dd>
+<dd><code>faceId</code> - the ID of the <code>Face</code> to assign to the route</dd>
+<dd><code>route</code> - the <code>Name</code> prefix of the route</dd>
+<dd><code>cost</code> - the numeric cost of forwarding along the route</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></code> - if the network request failed, the NFD response could not be decoded, or
+                             the NFD rejected the request</dd>
+</dl>
+</li>
+</ul>
+<a name="unregister-net.named_data.jndn.Face-net.named_data.jndn.ControlParameters-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unregister</h4>
+<pre>public static&nbsp;void&nbsp;unregister(net.named_data.jndn.Face&nbsp;face,
+                              net.named_data.jndn.ControlParameters&nbsp;controlParameters)
+                       throws <a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></pre>
+<div class="block">Unregister a route on a forwarder
+ <p/>
+ Ensure the forwarding face is on the local machine (management requests are to /localhost/...) and that command
+ signing has been set up (e.g. forwarder.setCommandSigningInfo().</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>face</code> - only a localhost <code>Face</code></dd>
+<dd><code>controlParameters</code> - the <code>ControlParameters</code> command options</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></code> - if the network request failed, the NFD response could not be decoded, or
+                             the NFD rejected the request</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="http://named-data.net/doc/NFD/current/manpages/nfdc.html">nfdc</a>, 
+<a href="http://redmine.named-data.net/projects/nfd/wiki/RibMgmt">RIB Management</a></dd>
+</dl>
+</li>
+</ul>
+<a name="unregister-net.named_data.jndn.Face-net.named_data.jndn.Name-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unregister</h4>
+<pre>public static&nbsp;void&nbsp;unregister(net.named_data.jndn.Face&nbsp;face,
+                              net.named_data.jndn.Name&nbsp;route)
+                       throws <a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></pre>
+<div class="block">Unregister a route on a forwarder.
+ <p/>
+ Ensure the forwarding face is on the local machine (management requests are to /localhost/...) and that command
+ signing has been set up (e.g. forwarder.setCommandSigningInfo().</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>face</code> - only a localhost <code>Face</code></dd>
+<dd><code>route</code> - the <code>Name</code> prefix of the route</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></code> - if the network request failed, the NFD response could not be decoded, or
+                             the NFD rejected the request</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="http://named-data.net/doc/NFD/current/manpages/nfdc.html">nfdc</a>, 
+<a href="http://redmine.named-data.net/projects/nfd/wiki/RibMgmt">RIB Management</a></dd>
+</dl>
+</li>
+</ul>
+<a name="unregister-net.named_data.jndn.Face-net.named_data.jndn.Name-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unregister</h4>
+<pre>public static&nbsp;void&nbsp;unregister(net.named_data.jndn.Face&nbsp;face,
+                              net.named_data.jndn.Name&nbsp;route,
+                              int&nbsp;faceId)
+                       throws <a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></pre>
+<div class="block">Unregister a route on a forwarder; see
+ <p/>
+ Ensure the forwarding face is on the local machine (management requests are to /localhost/...) and that command
+ signing has been set up (e.g. forwarder.setCommandSigningInfo().</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>face</code> - only a localhost <code>Face</code></dd>
+<dd><code>route</code> - the <code>Name</code> prefix of the route</dd>
+<dd><code>faceId</code> - the specific ID of the face to remove (more than one face can
+               be registered to a route)</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></code> - if the network request failed, the NFD response could not be decoded, or
+                             the NFD rejected the request</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="http://named-data.net/doc/NFD/current/manpages/nfdc.html">nfdc</a>, 
+<a href="http://redmine.named-data.net/projects/nfd/wiki/RibMgmt">RIB Management</a></dd>
+</dl>
+</li>
+</ul>
+<a name="unregister-net.named_data.jndn.Face-net.named_data.jndn.Name-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unregister</h4>
+<pre>public static&nbsp;void&nbsp;unregister(net.named_data.jndn.Face&nbsp;face,
+                              net.named_data.jndn.Name&nbsp;route,
+                              <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;uri)
+                       throws <a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></pre>
+<div class="block">Unregister a route on a forwarder
+ <p/>
+ Ensure the forwarding face is on the local machine (management requests are to /localhost/...) and that command
+ signing has been set up using forwarder.setCommandSigningInfo().</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>face</code> - only a localhost <code>Face</code></dd>
+<dd><code>route</code> - the <code>Name</code> prefix of the route</dd>
+<dd><code>uri</code> - the URI (e.g. "tcp4://some.host.com") of the remote node (more
+              than one face can be registered to a route)</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></code> - if the network request failed, the NFD response could not be decoded, or
+                             the NFD rejected the request</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="http://named-data.net/doc/NFD/current/manpages/nfdc.html">nfdc command-line usage</a>, 
+<a href="http://redmine.named-data.net/projects/nfd/wiki/RibMgmt">RibMgmt</a></dd>
+</dl>
+</li>
+</ul>
+<a name="setStrategy-net.named_data.jndn.Face-net.named_data.jndn.Name-net.named_data.jndn.Name-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setStrategy</h4>
+<pre>public static&nbsp;void&nbsp;setStrategy(net.named_data.jndn.Face&nbsp;face,
+                               net.named_data.jndn.Name&nbsp;prefix,
+                               net.named_data.jndn.Name&nbsp;strategy)
+                        throws <a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></pre>
+<div class="block">Set a strategy on the forwarder
+ <p/>
+ Ensure the forwarding face is on the local machine (management requests are to /localhost/...) and that command
+ signing has been set up using forwarder.setCommandSigningInfo().</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>face</code> - only a localhost <code>Face</code></dd>
+<dd><code>prefix</code> - the <code>Name</code> prefix</dd>
+<dd><code>strategy</code> - the <code>Name</code> of the strategy to set, e.g.
+                 /localhost/nfd/strategy/broadcast</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></code> - if the network request failed, the NFD response could not be decoded, or
+                             the NFD rejected the request</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="http://named-data.net/doc/NFD/current/manpages/nfdc.html">nfdc command-line usage</a>, 
+<a href="http://redmine.named-data.net/projects/nfd/wiki/StrategyChoice">StrategyChoice</a></dd>
+</dl>
+</li>
+</ul>
+<a name="unsetStrategy-net.named_data.jndn.Face-net.named_data.jndn.Name-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>unsetStrategy</h4>
+<pre>public static&nbsp;void&nbsp;unsetStrategy(net.named_data.jndn.Face&nbsp;face,
+                                 net.named_data.jndn.Name&nbsp;prefix)
+                          throws <a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></pre>
+<div class="block">Set a strategy on the forwarder; see
+ <a href="../../../../com/intel/jndn/management/Nfdc.html#setStrategy-net.named_data.jndn.Face-net.named_data.jndn.Name-net.named_data.jndn.Name-"><code>setStrategy(net.named_data.jndn.Face, net.named_data.jndn.Name, net.named_data.jndn.Name)</code></a>
+ for more information. Ensure the forwarding face is on the local machine
+ (management requests are to /localhost/...) and that command signing has
+ been set up (e.g. forwarder.setCommandSigningInfo()).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>face</code> - only a localhost <code>Face</code></dd>
+<dd><code>prefix</code> - the <code>Name</code> prefix</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../com/intel/jndn/management/ManagementException.html" title="class in com.intel.jndn.management">ManagementException</a></code> - if the network request failed, the NFD response could not be decoded, or
+                             the NFD rejected the request</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/Nfdc.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../index-all.html">Index</a></li>
+<li><a href="../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../com/intel/jndn/management/NdnPingClient.html" title="class in com.intel.jndn.management"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li>Next&nbsp;Class</li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../index.html?com/intel/jndn/management/Nfdc.html" target="_top">Frames</a></li>
+<li><a href="Nfdc.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2016. All rights reserved.</small></p>
+</body>
+</html>
\ No newline at end of file
