Adding the Voltha missing manual

Change-Id: Ic6cc2e5ed80e04fb009809c9a2fca393e5dcabfd
diff --git a/docs/manuals/user/old/pon-requirements/olt-states.block b/docs/manuals/user/old/pon-requirements/olt-states.block
new file mode 100644
index 0000000..8e2c71d
--- /dev/null
+++ b/docs/manuals/user/old/pon-requirements/olt-states.block
@@ -0,0 +1,22 @@
+blockdiag {
+
+  // States
+  N1 [label = Not-exist, shape = beginpoint];
+  N2 [label = Not-exist, shape = beginpoint];
+  Discovered [shape = ellipse];
+  Pre-provisioned [shape = ellipse];
+  Activating [shape = ellipse];
+  Active [shape = ellipse, color = "#80ff80"];
+  Failed [shape = ellipse, color = "#ff8080"];
+  TBD [shape = ellipse, stacked];
+
+  // Transients
+  N1 -> Pre-provisioned;
+  N2 -> Discovered;
+  Pre-provisioned -> Activating;
+  Discovered -> Activating;
+  Activating -> Active;
+  Activating -> Failed [folded];
+  Active -> Failed [folded];
+
+}
diff --git a/docs/manuals/user/old/pon-requirements/olt-states.svg b/docs/manuals/user/old/pon-requirements/olt-states.svg
new file mode 100644
index 0000000..f265f68
--- /dev/null
+++ b/docs/manuals/user/old/pon-requirements/olt-states.svg
@@ -0,0 +1,81 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg viewBox="0 0 832 360" xmlns="http://www.w3.org/2000/svg" xmlns:inkspace="http://www.inkscape.org/namespaces/inkscape" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs id="defs_block">
+    <filter height="1.504" id="filter_blur" inkspace:collect="always" width="1.1575" x="-0.07875" y="-0.252">
+      <feGaussianBlur id="feGaussianBlur3780" inkspace:collect="always" stdDeviation="4.2" />
+    </filter>
+  </defs>
+  <title>blockdiag</title>
+  <desc>blockdiag {
+
+  // States
+  N1 [label = Not-exist, shape = beginpoint];
+  N2 [label = Not-exist, shape = beginpoint];
+  Discovered [shape = ellipse];
+  Pre-provisioned [shape = ellipse];
+  Activating [shape = ellipse];
+  Active [shape = ellipse, color = "#80ff80"];
+  Failed [shape = ellipse, color = "#ff8080"];
+  TBD [shape = ellipse, stacked];
+
+  // Transients
+  N1 -&gt; Pre-provisioned;
+  N2 -&gt; Discovered;
+  Pre-provisioned -&gt; Activating;
+  Discovered -&gt; Activating;
+  Activating -&gt; Active;
+  Activating -&gt; Failed [folded];
+  Active -&gt; Failed [folded];
+
+}
+</desc>
+  <ellipse cx="131" cy="66" fill="rgb(0,0,0)" rx="8" ry="8" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" />
+  <ellipse cx="131" cy="146" fill="rgb(0,0,0)" rx="8" ry="8" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" />
+  <ellipse cx="323" cy="146" fill="rgb(0,0,0)" rx="64" ry="20" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" />
+  <ellipse cx="323" cy="66" fill="rgb(0,0,0)" rx="64" ry="20" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" />
+  <ellipse cx="515" cy="66" fill="rgb(0,0,0)" rx="64" ry="20" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" />
+  <ellipse cx="707" cy="66" fill="rgb(0,0,0)" rx="64" ry="20" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" />
+  <ellipse cx="131" cy="226" fill="rgb(0,0,0)" rx="64" ry="20" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" />
+  <ellipse cx="139" cy="314" fill="rgb(0,0,0)" rx="64" ry="20" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" />
+  <ellipse cx="135" cy="310" fill="rgb(0,0,0)" rx="64" ry="20" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" />
+  <ellipse cx="131" cy="306" fill="rgb(0,0,0)" rx="64" ry="20" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" />
+  <ellipse cx="128" cy="60" fill="rgb(0,0,0)" rx="8" ry="8" stroke="rgb(0,0,0)" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="47" x="159" y="55">Not-exist</text>
+  <ellipse cx="128" cy="140" fill="rgb(0,0,0)" rx="8" ry="8" stroke="rgb(0,0,0)" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="47" x="159" y="135">Not-exist</text>
+  <ellipse cx="320" cy="140" fill="rgb(255,255,255)" rx="64" ry="20" stroke="rgb(0,0,0)" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="55" x="320" y="145">Discovered</text>
+  <ellipse cx="320" cy="60" fill="rgb(255,255,255)" rx="64" ry="20" stroke="rgb(0,0,0)" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="78" x="320" y="66">Pre-provisioned</text>
+  <ellipse cx="512" cy="60" fill="rgb(255,255,255)" rx="64" ry="20" stroke="rgb(0,0,0)" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="50" x="512" y="66">Activating</text>
+  <ellipse cx="704" cy="60" fill="rgb(128,255,128)" rx="64" ry="20" stroke="rgb(0,0,0)" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="32" x="704" y="65">Active</text>
+  <ellipse cx="128" cy="220" fill="rgb(255,128,128)" rx="64" ry="20" stroke="rgb(0,0,0)" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="28" x="128" y="225">Failed</text>
+  <ellipse cx="136" cy="308" fill="rgb(255,255,255)" rx="64" ry="20" stroke="rgb(0,0,0)" />
+  <ellipse cx="132" cy="304" fill="rgb(255,255,255)" rx="64" ry="20" stroke="rgb(0,0,0)" />
+  <ellipse cx="128" cy="300" fill="rgb(255,255,255)" rx="64" ry="20" stroke="rgb(0,0,0)" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="22" x="128" y="305">TBD</text>
+  <path d="M 136 60 L 248 60" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="255,60 248,56 248,64 255,60" stroke="rgb(0,0,0)" />
+  <path d="M 136 140 L 248 140" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="255,140 248,136 248,144 255,140" stroke="rgb(0,0,0)" />
+  <path d="M 384 140 L 432 140" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 432 140 L 432 60" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 432 60 L 440 60" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="447,60 440,56 440,64 447,60" stroke="rgb(0,0,0)" />
+  <path d="M 384 60 L 440 60" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="447,60 440,56 440,64 447,60" stroke="rgb(0,0,0)" />
+  <path d="M 576 60 L 632 60" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="639,60 632,56 632,64 639,60" stroke="rgb(0,0,0)" />
+  <path d="M 512 80 L 512 180" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 128 180 L 512 180" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 128 180 L 128 192" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="128,199 124,192 132,192 128,199" stroke="rgb(0,0,0)" />
+  <path d="M 704 80 L 704 180" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 128 180 L 704 180" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 128 180 L 128 192" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="128,199 124,192 132,192 128,199" stroke="rgb(0,0,0)" />
+</svg>
diff --git a/docs/manuals/user/old/pon-requirements/reference-inband.block b/docs/manuals/user/old/pon-requirements/reference-inband.block
new file mode 100644
index 0000000..95195e9
--- /dev/null
+++ b/docs/manuals/user/old/pon-requirements/reference-inband.block
@@ -0,0 +1,46 @@
+blockdiag {
+
+    //orientation = portrait;
+
+    // Blocks used
+    SDN [label = "SDN\nController", width = 64];
+    M [label = "PON\nManager", width = 64];
+    V [label = "Voltha\nCore & NBI", width = 74];
+    A [label = "OLT\nAdapter", width = 64];
+    A2 [label = "ONU\nAdapter", width = 64];
+    U [label = "Upstream\nNetwork", width = 64];
+    L2 [label = "L2 Aggr.", width = 64, shape = cloud];
+    OL [label = OLT, width = 64];
+    ON [label = ONU, width = 64];
+    R [label = RG, width = 64];
+
+    U <-> L2 [label = Pd];
+    L2 <-> OL [label = Pu];
+    OL <-> ON;
+    ON <-> R [label = Pr];
+    M <-> V [label = Pv, folded];
+    M <-> SDN;
+    SDN <-> V [label = Pv, folded];
+    V <-> A [label = Pa];
+    V <-> A2;
+    A <-> L2 [label = Pc];
+
+    group {
+        label = "Voltha Deployed on Compute Cluster with Inband Access to OLTs"
+        SDN; M; V; A; A2; U; L2; OL; ON; R;
+        color = "#FFFFFF";
+        fontsize = 24;
+
+        group {
+            label = "Voltha";
+            color = "#AAAAFF"
+            V; A; A2;
+        }
+
+        group {
+            label = "PON Network";
+            OL; ON;
+        }
+    }
+}
+
diff --git a/docs/manuals/user/old/pon-requirements/reference-inband.svg b/docs/manuals/user/old/pon-requirements/reference-inband.svg
new file mode 100644
index 0000000..af91109
--- /dev/null
+++ b/docs/manuals/user/old/pon-requirements/reference-inband.svg
@@ -0,0 +1,172 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg viewBox="0 0 842 360" xmlns="http://www.w3.org/2000/svg" xmlns:inkspace="http://www.inkscape.org/namespaces/inkscape" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs id="defs_block">
+    <filter height="1.504" id="filter_blur" inkspace:collect="always" width="1.1575" x="-0.07875" y="-0.252">
+      <feGaussianBlur id="feGaussianBlur3780" inkspace:collect="always" stdDeviation="4.2" />
+    </filter>
+  </defs>
+  <title>blockdiag</title>
+  <desc>blockdiag {
+
+    //orientation = portrait;
+
+    // Blocks used
+    SDN [label = "SDN\nController", width = 64];
+    M [label = "PON\nManager", width = 64];
+    V [label = "Voltha\nCore &amp; NBI", width = 74];
+    A [label = "OLT\nAdapter", width = 64];
+    A2 [label = "ONU\nAdapter", width = 64];
+    U [label = "Upstream\nNetwork", width = 64];
+    L2 [label = "L2 Aggr.", width = 64, shape = cloud];
+    OL [label = OLT, width = 64];
+    ON [label = ONU, width = 64];
+    R [label = RG, width = 64];
+
+    U &lt;-&gt; L2 [label = Pd];
+    L2 &lt;-&gt; OL [label = Pu];
+    OL &lt;-&gt; ON;
+    ON &lt;-&gt; R [label = Pr];
+    M &lt;-&gt; V [label = Pv, folded];
+    M &lt;-&gt; SDN;
+    SDN &lt;-&gt; V [label = Pv, folded];
+    V &lt;-&gt; A [label = Pa];
+    V &lt;-&gt; A2;
+    A &lt;-&gt; L2 [label = Pc];
+
+    group {
+        label = "Voltha Deployed on Compute Cluster with Inband Access to OLTs"
+        SDN; M; V; A; A2; U; L2; OL; ON; R;
+        color = "#FFFFFF";
+        fontsize = 24;
+
+        group {
+            label = "Voltha";
+            color = "#AAAAFF"
+            V; A; A2;
+        }
+
+        group {
+            label = "PON Network";
+            OL; ON;
+        }
+    }
+}
+
+</desc>
+  <rect fill="rgb(255,255,255)" height="300" style="filter:url(#filter_blur)" width="730" x="56" y="30" />
+  <rect fill="rgb(170,170,255)" height="140" style="filter:url(#filter_blur)" width="218" x="56" y="110" />
+  <rect fill="rgb(243,152,0)" height="60" style="filter:url(#filter_blur)" width="208" x="450" y="110" />
+  <rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="64" x="205" y="46" />
+  <rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="64" x="72" y="46" />
+  <rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="74" x="67" y="126" />
+  <rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="64" x="205" y="126" />
+  <rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="64" x="205" y="206" />
+  <rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="64" x="72" y="286" />
+  <path d="M 343 142 A10,8 0 0 1 353 134 A10,6 0 0 1 378 134 A10,8 0 0 1 388 142 A10,8 0 0 1 388 158 A10,20 0 0 1 373 158 A10,20 0 0 1 358 158 A10,20 0 0 1 343 158 A10,8 0 0 1 343 142" fill="rgb(0,0,0)" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" />
+  <rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="64" x="461" y="126" />
+  <rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="64" x="589" y="126" />
+  <rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="64" x="717" y="126" />
+  <rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="64" x="202" y="40" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="23" x="234" y="59">SDN</text>
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="48" x="234" y="71">Controller</text>
+  <rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="64" x="69" y="40" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="24" x="101" y="58">PON</text>
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="44" x="101" y="72">Manager</text>
+  <rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="74" x="64" y="120" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="32" x="101" y="139">Voltha</text>
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="58" x="101" y="151">Core &amp; NBI</text>
+  <rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="64" x="202" y="120" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="22" x="234" y="138">OLT</text>
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="40" x="234" y="152">Adapter</text>
+  <rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="64" x="202" y="200" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="25" x="234" y="218">ONU</text>
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="40" x="234" y="232">Adapter</text>
+  <rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="64" x="69" y="280" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="49" x="101" y="300">Upstream</text>
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="43" x="101" y="312">Network</text>
+  <path d="M 340 136 A10,8 0 0 1 350 128 A10,6 0 0 1 375 128 A10,8 0 0 1 385 136 A10,8 0 0 1 385 152 A10,20 0 0 1 370 152 A10,20 0 0 1 355 152 A10,20 0 0 1 340 152 A10,8 0 0 1 340 136" fill="rgb(255,255,255)" stroke="rgb(0,0,0)" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="45" x="362" y="146">L2 Aggr.</text>
+  <rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="64" x="458" y="120" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="22" x="490" y="145">OLT</text>
+  <rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="64" x="586" y="120" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="25" x="618" y="145">ONU</text>
+  <rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="64" x="714" y="120" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="15" x="746" y="145">RG</text>
+  <path d="M 234 88 L 234 100" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 101 100 L 234 100" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 101 100 L 101 112" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="234,81 230,88 238,88 234,81" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="101,119 97,112 105,112 101,119" stroke="rgb(0,0,0)" />
+  <path d="M 101 88 L 101 112" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="101,81 97,88 105,88 101,81" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="101,119 97,112 105,112 101,119" stroke="rgb(0,0,0)" />
+  <path d="M 141 60 L 194 60" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="134,60 141,56 141,64 134,60" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="201,60 194,56 194,64 201,60" stroke="rgb(0,0,0)" />
+  <path d="M 141 300 L 314 300" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 314 300 L 314 140" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 314 140 L 322 140" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="134,300 141,296 141,304 134,300" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="329,140 322,136 322,144 329,140" stroke="rgb(0,0,0)" />
+  <path d="M 402 140 L 450 140" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="395,140 402,136 402,144 395,140" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="457,140 450,136 450,144 457,140" stroke="rgb(0,0,0)" />
+  <path d="M 146 140 L 194 140" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="139,140 146,136 146,144 139,140" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="201,140 194,136 194,144 201,140" stroke="rgb(0,0,0)" />
+  <path d="M 146 140 L 170 140" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 170 140 L 170 220" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 170 220 L 194 220" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="139,140 146,136 146,144 139,140" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="201,220 194,216 194,224 201,220" stroke="rgb(0,0,0)" />
+  <path d="M 274 140 L 322 140" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="267,140 274,136 274,144 267,140" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="329,140 322,136 322,144 329,140" stroke="rgb(0,0,0)" />
+  <path d="M 530 140 L 578 140" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="523,140 530,136 530,144 523,140" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="585,140 578,136 578,144 585,140" stroke="rgb(0,0,0)" />
+  <path d="M 658 140 L 706 140" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="651,140 658,136 658,144 651,140" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="713,140 706,136 706,144 713,140" stroke="rgb(0,0,0)" />
+  <path d="M 146 140 L 194 140" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="139,140 146,136 146,144 139,140" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="201,140 194,136 194,144 201,140" stroke="rgb(0,0,0)" />
+  <path d="M 146 140 L 170 140" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 170 140 L 170 220" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 170 220 L 194 220" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="139,140 146,136 146,144 139,140" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="201,220 194,216 194,224 201,220" stroke="rgb(0,0,0)" />
+  <path d="M 274 140 L 322 140" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="267,140 274,136 274,144 267,140" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="329,140 322,136 322,144 329,140" stroke="rgb(0,0,0)" />
+  <path d="M 530 140 L 578 140" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="523,140 530,136 530,144 523,140" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="585,140 578,136 578,144 585,140" stroke="rgb(0,0,0)" />
+  <path d="M 658 140 L 706 140" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="651,140 658,136 658,144 651,140" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="713,140 706,136 706,144 713,140" stroke="rgb(0,0,0)" />
+  <rect fill="white" height="14" stroke="rgb(0,0,0)" width="29" x="121" y="83" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="13" x="135" y="95">Pv</text>
+  <rect fill="white" height="14" stroke="rgb(0,0,0)" width="29" x="121" y="83" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="13" x="135" y="95">Pv</text>
+  <rect fill="white" height="14" stroke="rgb(0,0,0)" width="29" x="284" y="263" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="13" x="298" y="275">Pd</text>
+  <rect fill="white" height="14" stroke="rgb(0,0,0)" width="29" x="412" y="118" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="13" x="426" y="130">Pu</text>
+  <rect fill="white" height="14" stroke="rgb(0,0,0)" width="29" x="156" y="118" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="13" x="170" y="130">Pa</text>
+  <rect fill="white" height="14" stroke="rgb(0,0,0)" width="29" x="284" y="118" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="13" x="298" y="130">Pc</text>
+  <rect fill="white" height="14" stroke="rgb(0,0,0)" width="27" x="669" y="118" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="11" x="682" y="130">Pr</text>
+  <rect fill="white" height="14" stroke="rgb(0,0,0)" width="29" x="156" y="118" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="13" x="170" y="130">Pa</text>
+  <rect fill="white" height="14" stroke="rgb(0,0,0)" width="29" x="284" y="118" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="13" x="298" y="130">Pc</text>
+  <rect fill="white" height="14" stroke="rgb(0,0,0)" width="27" x="669" y="118" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="11" x="682" y="130">Pr</text>
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="15" font-style="normal" font-weight="normal" text-anchor="middle" textLength="446" x="421" y="38">Voltha Deployed on Compute Cluster with Inband Access to OLTs</text>
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="32" x="165" y="115">Voltha</text>
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="71" x="554" y="115">PON Network</text>
+</svg>
diff --git a/docs/manuals/user/old/pon-requirements/reference-internal.block b/docs/manuals/user/old/pon-requirements/reference-internal.block
new file mode 100644
index 0000000..4b33854
--- /dev/null
+++ b/docs/manuals/user/old/pon-requirements/reference-internal.block
@@ -0,0 +1,48 @@
+blockdiag {
+
+    //orientation = portrait;
+
+    // Blocks used
+    SDN [label = "SDN\nController", width = 64];
+    M [label = "PON\nManager", width = 64];
+    V [label = "Voltha\nCore & NBI", width = 74];
+    A [label = "OLT\nAdapter", width = 64];
+    A2 [label = "ONU\nAdapter", width = 64];
+    U [label = "Upstream\nNetwork", width = 64];
+    L2 [label = "L2 Aggr.", width = 64, shape = cloud];
+    OL [label = "OLT chip\n& firmware", width = 64];
+    ON [label = ONU, width = 64];
+    R [label = RG, width = 64];
+
+    U <-> L2 [label = Pd];
+    L2 <-> OL [label = Pu];
+    OL <-> ON;
+    ON <-> R [label = Pr];
+    M <-> V;
+    M <-> SDN;
+    SDN <-> V [label = Pv];
+    V <-> A [label = Pa];
+    V <-> A2;
+    A <-> OL [label = Pc];
+
+    group {
+        SDN; M; V; A; A2; U; L2; OL; ON; R;
+        shape = line;
+        color = "#FFFFFF";
+        fontsize = 24;
+
+        group {
+            label = "PON Network";
+            V; A; A2; OL; ON;
+
+            group {
+                label = "Voltha";
+                color = "#AAAAFF"
+                V; A; A2;
+            }
+
+
+        }
+    }
+}
+
diff --git a/docs/manuals/user/old/pon-requirements/reference-internal.svg b/docs/manuals/user/old/pon-requirements/reference-internal.svg
new file mode 100644
index 0000000..297e893
--- /dev/null
+++ b/docs/manuals/user/old/pon-requirements/reference-internal.svg
@@ -0,0 +1,204 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg viewBox="0 0 970 280" xmlns="http://www.w3.org/2000/svg" xmlns:inkspace="http://www.inkscape.org/namespaces/inkscape" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs id="defs_block">
+    <filter height="1.504" id="filter_blur" inkspace:collect="always" width="1.1575" x="-0.07875" y="-0.252">
+      <feGaussianBlur id="feGaussianBlur3780" inkspace:collect="always" stdDeviation="4.2" />
+    </filter>
+  </defs>
+  <title>blockdiag</title>
+  <desc>blockdiag {
+
+    //orientation = portrait;
+
+    // Blocks used
+    SDN [label = "SDN\nController", width = 64];
+    M [label = "PON\nManager", width = 64];
+    V [label = "Voltha\nCore &amp; NBI", width = 74];
+    A [label = "OLT\nAdapter", width = 64];
+    A2 [label = "ONU\nAdapter", width = 64];
+    U [label = "Upstream\nNetwork", width = 64];
+    L2 [label = "L2 Aggr.", width = 64, shape = cloud];
+    OL [label = "OLT chip\n&amp; firmware", width = 64];
+    ON [label = ONU, width = 64];
+    R [label = RG, width = 64];
+
+    U &lt;-&gt; L2 [label = Pd];
+    L2 &lt;-&gt; OL [label = Pu];
+    OL &lt;-&gt; ON;
+    ON &lt;-&gt; R [label = Pr];
+    M &lt;-&gt; V;
+    M &lt;-&gt; SDN;
+    SDN &lt;-&gt; V [label = Pv];
+    V &lt;-&gt; A [label = Pa];
+    V &lt;-&gt; A2;
+    A &lt;-&gt; OL [label = Pc];
+
+    group {
+        SDN; M; V; A; A2; U; L2; OL; ON; R;
+        shape = line;
+        color = "#FFFFFF";
+        fontsize = 24;
+
+        group {
+            label = "PON Network";
+            V; A; A2; OL; ON;
+
+            group {
+                label = "Voltha";
+                color = "#AAAAFF"
+                V; A; A2;
+            }
+
+
+        }
+    }
+}
+
+</desc>
+  <rect fill="rgb(243,152,0)" height="140" style="filter:url(#filter_blur)" width="474" x="312" y="30" />
+  <rect fill="rgb(170,170,255)" height="140" style="filter:url(#filter_blur)" width="218" x="312" y="30" />
+  <rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="64" x="195" y="46" />
+  <rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="74" x="323" y="46" />
+  <rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="64" x="461" y="46" />
+  <rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="64" x="461" y="126" />
+  <rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="64" x="589" y="46" />
+  <rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="64" x="717" y="46" />
+  <rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="64" x="67" y="46" />
+  <rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="64" x="67" y="206" />
+  <path d="M 205 222 A10,8 0 0 1 215 214 A10,6 0 0 1 240 214 A10,8 0 0 1 250 222 A10,8 0 0 1 250 238 A10,20 0 0 1 235 238 A10,20 0 0 1 220 238 A10,20 0 0 1 205 238 A10,8 0 0 1 205 222" fill="rgb(0,0,0)" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" />
+  <rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="64" x="845" y="46" />
+  <rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="64" x="192" y="40" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="23" x="224" y="59">SDN</text>
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="48" x="224" y="71">Controller</text>
+  <rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="74" x="320" y="40" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="32" x="357" y="59">Voltha</text>
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="58" x="357" y="71">Core &amp; NBI</text>
+  <rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="64" x="458" y="40" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="22" x="490" y="58">OLT</text>
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="40" x="490" y="72">Adapter</text>
+  <rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="64" x="458" y="120" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="25" x="490" y="138">ONU</text>
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="40" x="490" y="152">Adapter</text>
+  <rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="64" x="586" y="40" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="46" x="618" y="60">OLT chip</text>
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="58" x="618" y="72">&amp; firmware</text>
+  <rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="64" x="714" y="40" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="25" x="746" y="65">ONU</text>
+  <rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="64" x="64" y="40" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="24" x="96" y="58">PON</text>
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="44" x="96" y="72">Manager</text>
+  <rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="64" x="64" y="200" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="49" x="96" y="220">Upstream</text>
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="43" x="96" y="232">Network</text>
+  <path d="M 202 216 A10,8 0 0 1 212 208 A10,6 0 0 1 237 208 A10,8 0 0 1 247 216 A10,8 0 0 1 247 232 A10,20 0 0 1 232 232 A10,20 0 0 1 217 232 A10,20 0 0 1 202 232 A10,8 0 0 1 202 216" fill="rgb(255,255,255)" stroke="rgb(0,0,0)" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="45" x="224" y="226">L2 Aggr.</text>
+  <rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="64" x="842" y="40" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="15" x="874" y="65">RG</text>
+  <path d="M 264 60 L 312 60" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="257,60 264,56 264,64 257,60" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="319,60 312,56 312,64 319,60" stroke="rgb(0,0,0)" />
+  <path d="M 136 60 L 160 60" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 160 60 L 160 100" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 160 100 L 304 100" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 304 100 L 304 60" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 304 60 L 312 60" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="129,60 136,56 136,64 129,60" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="319,60 312,56 312,64 319,60" stroke="rgb(0,0,0)" />
+  <path d="M 136 60 L 184 60" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="129,60 136,56 136,64 129,60" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="191,60 184,56 184,64 191,60" stroke="rgb(0,0,0)" />
+  <path d="M 136 220 L 184 220" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="129,220 136,216 136,224 129,220" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="191,220 184,216 184,224 191,220" stroke="rgb(0,0,0)" />
+  <path d="M 264 220 L 570 220" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 570 220 L 570 60" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 570 60 L 578 60" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="257,220 264,216 264,224 257,220" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="585,60 578,56 578,64 585,60" stroke="rgb(0,0,0)" />
+  <path d="M 658 60 L 706 60" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="651,60 658,56 658,64 651,60" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="713,60 706,56 706,64 713,60" stroke="rgb(0,0,0)" />
+  <path d="M 786 60 L 834 60" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="779,60 786,56 786,64 779,60" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="841,60 834,56 834,64 841,60" stroke="rgb(0,0,0)" />
+  <path d="M 402 60 L 450 60" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="395,60 402,56 402,64 395,60" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="457,60 450,56 450,64 457,60" stroke="rgb(0,0,0)" />
+  <path d="M 402 60 L 426 60" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 426 60 L 426 140" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 426 140 L 450 140" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="395,60 402,56 402,64 395,60" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="457,140 450,136 450,144 457,140" stroke="rgb(0,0,0)" />
+  <path d="M 530 60 L 578 60" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="523,60 530,56 530,64 523,60" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="585,60 578,56 578,64 585,60" stroke="rgb(0,0,0)" />
+  <path d="M 402 60 L 450 60" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="395,60 402,56 402,64 395,60" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="457,60 450,56 450,64 457,60" stroke="rgb(0,0,0)" />
+  <path d="M 402 60 L 426 60" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 426 60 L 426 140" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 426 140 L 450 140" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="395,60 402,56 402,64 395,60" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="457,140 450,136 450,144 457,140" stroke="rgb(0,0,0)" />
+  <path d="M 530 60 L 578 60" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="523,60 530,56 530,64 523,60" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="585,60 578,56 578,64 585,60" stroke="rgb(0,0,0)" />
+  <path d="M 658 60 L 706 60" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="651,60 658,56 658,64 651,60" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="713,60 706,56 706,64 713,60" stroke="rgb(0,0,0)" />
+  <path d="M 786 60 L 834 60" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="779,60 786,56 786,64 779,60" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="841,60 834,56 834,64 841,60" stroke="rgb(0,0,0)" />
+  <path d="M 402 60 L 450 60" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="395,60 402,56 402,64 395,60" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="457,60 450,56 450,64 457,60" stroke="rgb(0,0,0)" />
+  <path d="M 402 60 L 426 60" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 426 60 L 426 140" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 426 140 L 450 140" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="395,60 402,56 402,64 395,60" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="457,140 450,136 450,144 457,140" stroke="rgb(0,0,0)" />
+  <path d="M 530 60 L 578 60" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="523,60 530,56 530,64 523,60" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="585,60 578,56 578,64 585,60" stroke="rgb(0,0,0)" />
+  <path d="M 402 60 L 450 60" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="395,60 402,56 402,64 395,60" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="457,60 450,56 450,64 457,60" stroke="rgb(0,0,0)" />
+  <path d="M 402 60 L 426 60" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 426 60 L 426 140" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 426 140 L 450 140" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="395,60 402,56 402,64 395,60" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="457,140 450,136 450,144 457,140" stroke="rgb(0,0,0)" />
+  <path d="M 530 60 L 578 60" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="523,60 530,56 530,64 523,60" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="585,60 578,56 578,64 585,60" stroke="rgb(0,0,0)" />
+  <rect fill="white" height="14" stroke="rgb(0,0,0)" width="29" x="274" y="38" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="13" x="288" y="50">Pv</text>
+  <rect fill="white" height="14" stroke="rgb(0,0,0)" width="29" x="146" y="198" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="13" x="160" y="210">Pd</text>
+  <rect fill="white" height="14" stroke="rgb(0,0,0)" width="29" x="540" y="183" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="13" x="554" y="195">Pu</text>
+  <rect fill="white" height="14" stroke="rgb(0,0,0)" width="27" x="797" y="38" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="11" x="810" y="50">Pr</text>
+  <rect fill="white" height="14" stroke="rgb(0,0,0)" width="29" x="412" y="38" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="13" x="426" y="50">Pa</text>
+  <rect fill="white" height="14" stroke="rgb(0,0,0)" width="29" x="540" y="38" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="13" x="554" y="50">Pc</text>
+  <rect fill="white" height="14" stroke="rgb(0,0,0)" width="29" x="412" y="38" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="13" x="426" y="50">Pa</text>
+  <rect fill="white" height="14" stroke="rgb(0,0,0)" width="29" x="540" y="38" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="13" x="554" y="50">Pc</text>
+  <rect fill="white" height="14" stroke="rgb(0,0,0)" width="27" x="797" y="38" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="11" x="810" y="50">Pr</text>
+  <rect fill="white" height="14" stroke="rgb(0,0,0)" width="29" x="412" y="38" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="13" x="426" y="50">Pa</text>
+  <rect fill="white" height="14" stroke="rgb(0,0,0)" width="29" x="540" y="38" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="13" x="554" y="50">Pc</text>
+  <rect fill="white" height="14" stroke="rgb(0,0,0)" width="29" x="412" y="38" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="13" x="426" y="50">Pa</text>
+  <rect fill="white" height="14" stroke="rgb(0,0,0)" width="29" x="540" y="38" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="13" x="554" y="50">Pc</text>
+  <rect fill="none" height="220" stroke="rgb(255,255,255)" stroke-width="3" width="858" x="56" y="30" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="71" x="549" y="35">PON Network</text>
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="32" x="421" y="35">Voltha</text>
+</svg>
diff --git a/docs/manuals/user/old/pon-requirements/reference.svg b/docs/manuals/user/old/pon-requirements/reference.svg
new file mode 100644
index 0000000..e4f8323
--- /dev/null
+++ b/docs/manuals/user/old/pon-requirements/reference.svg
@@ -0,0 +1,136 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg viewBox="0 0 842 360" xmlns="http://www.w3.org/2000/svg" xmlns:inkspace="http://www.inkscape.org/namespaces/inkscape" xmlns:xlink="http://www.w3.org/1999/xlink">
+  <defs id="defs_block">
+    <filter height="1.504" id="filter_blur" inkspace:collect="always" width="1.1575" x="-0.07875" y="-0.252">
+      <feGaussianBlur id="feGaussianBlur3780" inkspace:collect="always" stdDeviation="4.2" />
+    </filter>
+  </defs>
+  <title>blockdiag</title>
+  <desc>blockdiag {
+
+  //orientation = portrait;
+
+  // Blocks used
+  SDN [label = "SDN\nController", width = 64];
+  M [label = "PON\nManager", width = 64];
+  V [label = "Voltha\nCore &amp; NBI", width = 74];
+  A [label = "OLT\nAdapter", width = 64];
+  A2 [label = "ONU\nAdapter", width = 64];
+  U [label = "Upstream\nNetwork", width = 64];
+  L2 [label = "L2 Aggr.", width = 64, shape = cloud];
+  OL [label = OLT, width = 64];
+  ON [label = ONU, width = 64];
+  R [label = RG, width = 64];
+
+  U &lt;-&gt; L2 [label = Pd];
+  L2 &lt;-&gt; OL [label = Pu];
+  OL &lt;-&gt; ON;
+  ON &lt;-&gt; R [label = Pr];
+  M &lt;-&gt; V [folded];
+  M &lt;-&gt; SDN;
+  SDN &lt;-&gt; V [folded];
+  V &lt;-&gt; A [label = Pa];
+  V &lt;-&gt; A2;
+  A &lt;-&gt; L2 [label = Pc];
+
+  group {
+    label = "Voltha Process";
+    V; A; A2;
+  }
+
+  group {
+    label = "PON Network";
+    OL; ON;
+  }
+
+}
+
+</desc>
+  <rect fill="rgb(243,152,0)" height="140" style="filter:url(#filter_blur)" width="218" x="56" y="110" />
+  <rect fill="rgb(243,152,0)" height="60" style="filter:url(#filter_blur)" width="208" x="450" y="110" />
+  <rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="64" x="205" y="46" />
+  <rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="64" x="72" y="46" />
+  <rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="74" x="67" y="126" />
+  <rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="64" x="205" y="126" />
+  <rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="64" x="205" y="206" />
+  <rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="64" x="72" y="286" />
+  <path d="M 343 142 A10,8 0 0 1 353 134 A10,6 0 0 1 378 134 A10,8 0 0 1 388 142 A10,8 0 0 1 388 158 A10,20 0 0 1 373 158 A10,20 0 0 1 358 158 A10,20 0 0 1 343 158 A10,8 0 0 1 343 142" fill="rgb(0,0,0)" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" />
+  <rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="64" x="461" y="126" />
+  <rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="64" x="589" y="126" />
+  <rect fill="rgb(0,0,0)" height="40" stroke="rgb(0,0,0)" style="filter:url(#filter_blur);opacity:0.7;fill-opacity:1" width="64" x="717" y="126" />
+  <rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="64" x="202" y="40" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="23" x="234" y="59">SDN</text>
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="48" x="234" y="71">Controller</text>
+  <rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="64" x="69" y="40" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="24" x="101" y="58">PON</text>
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="44" x="101" y="72">Manager</text>
+  <rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="74" x="64" y="120" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="32" x="101" y="139">Voltha</text>
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="58" x="101" y="151">Core &amp; NBI</text>
+  <rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="64" x="202" y="120" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="22" x="234" y="138">OLT</text>
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="40" x="234" y="152">Adapter</text>
+  <rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="64" x="202" y="200" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="25" x="234" y="218">ONU</text>
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="40" x="234" y="232">Adapter</text>
+  <rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="64" x="69" y="280" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="49" x="101" y="300">Upstream</text>
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="43" x="101" y="312">Network</text>
+  <path d="M 340 136 A10,8 0 0 1 350 128 A10,6 0 0 1 375 128 A10,8 0 0 1 385 136 A10,8 0 0 1 385 152 A10,20 0 0 1 370 152 A10,20 0 0 1 355 152 A10,20 0 0 1 340 152 A10,8 0 0 1 340 136" fill="rgb(255,255,255)" stroke="rgb(0,0,0)" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="45" x="362" y="146">L2 Aggr.</text>
+  <rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="64" x="458" y="120" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="22" x="490" y="145">OLT</text>
+  <rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="64" x="586" y="120" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="25" x="618" y="145">ONU</text>
+  <rect fill="rgb(255,255,255)" height="40" stroke="rgb(0,0,0)" width="64" x="714" y="120" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="15" x="746" y="145">RG</text>
+  <path d="M 234 88 L 234 100" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 101 100 L 234 100" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 101 100 L 101 112" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="234,81 230,88 238,88 234,81" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="101,119 97,112 105,112 101,119" stroke="rgb(0,0,0)" />
+  <path d="M 101 88 L 101 112" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="101,81 97,88 105,88 101,81" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="101,119 97,112 105,112 101,119" stroke="rgb(0,0,0)" />
+  <path d="M 141 60 L 194 60" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="134,60 141,56 141,64 134,60" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="201,60 194,56 194,64 201,60" stroke="rgb(0,0,0)" />
+  <path d="M 141 300 L 314 300" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 314 300 L 314 140" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 314 140 L 322 140" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="134,300 141,296 141,304 134,300" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="329,140 322,136 322,144 329,140" stroke="rgb(0,0,0)" />
+  <path d="M 402 140 L 450 140" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="395,140 402,136 402,144 395,140" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="457,140 450,136 450,144 457,140" stroke="rgb(0,0,0)" />
+  <path d="M 146 140 L 194 140" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="139,140 146,136 146,144 139,140" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="201,140 194,136 194,144 201,140" stroke="rgb(0,0,0)" />
+  <path d="M 146 140 L 170 140" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 170 140 L 170 220" fill="none" stroke="rgb(0,0,0)" />
+  <path d="M 170 220 L 194 220" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="139,140 146,136 146,144 139,140" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="201,220 194,216 194,224 201,220" stroke="rgb(0,0,0)" />
+  <path d="M 274 140 L 322 140" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="267,140 274,136 274,144 267,140" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="329,140 322,136 322,144 329,140" stroke="rgb(0,0,0)" />
+  <path d="M 530 140 L 578 140" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="523,140 530,136 530,144 523,140" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="585,140 578,136 578,144 585,140" stroke="rgb(0,0,0)" />
+  <path d="M 658 140 L 706 140" fill="none" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="651,140 658,136 658,144 651,140" stroke="rgb(0,0,0)" />
+  <polygon fill="rgb(0,0,0)" points="713,140 706,136 706,144 713,140" stroke="rgb(0,0,0)" />
+  <rect fill="white" height="14" stroke="rgb(0,0,0)" width="29" x="284" y="263" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="13" x="298" y="275">Pd</text>
+  <rect fill="white" height="14" stroke="rgb(0,0,0)" width="29" x="412" y="118" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="13" x="426" y="130">Pu</text>
+  <rect fill="white" height="14" stroke="rgb(0,0,0)" width="29" x="156" y="118" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="13" x="170" y="130">Pa</text>
+  <rect fill="white" height="14" stroke="rgb(0,0,0)" width="29" x="284" y="118" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="13" x="298" y="130">Pc</text>
+  <rect fill="white" height="14" stroke="rgb(0,0,0)" width="27" x="669" y="118" />
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="11" x="682" y="130">Pr</text>
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="76" x="165" y="115">Voltha Process</text>
+  <text fill="rgb(0,0,0)" font-family="sans-serif" font-size="11" font-style="normal" font-weight="normal" text-anchor="middle" textLength="71" x="554" y="115">PON Network</text>
+</svg>