Adding ONOS Segment Routing CLI files to new repo
diff --git a/cli/documentation/en_US/vns/active b/cli/documentation/en_US/vns/active
new file mode 100755
index 0000000..18f270a
--- /dev/null
+++ b/cli/documentation/en_US/vns/active
@@ -0,0 +1,2 @@
+Set the VNS active. If a VNS is inactive the controller will not use it
+or its rules.
diff --git a/cli/documentation/en_US/vns/active-example b/cli/documentation/en_US/vns/active-example
new file mode 100755
index 0000000..ae5ed4b
--- /dev/null
+++ b/cli/documentation/en_US/vns/active-example
@@ -0,0 +1,5 @@
+active
+ Activate this VNS instance
+
+no active
+ Deactivate this VNS instance
diff --git a/cli/documentation/en_US/vns/apr-mode-value-drop-if-unknown b/cli/documentation/en_US/vns/apr-mode-value-drop-if-unknown
new file mode 100755
index 0000000..c75e301
--- /dev/null
+++ b/cli/documentation/en_US/vns/apr-mode-value-drop-if-unknown
@@ -0,0 +1 @@
+Drop ARP packets if the destination is unknown.
diff --git a/cli/documentation/en_US/vns/arp-mode b/cli/documentation/en_US/vns/arp-mode
new file mode 100755
index 0000000..55efb68
--- /dev/null
+++ b/cli/documentation/en_US/vns/arp-mode
@@ -0,0 +1 @@
+Configure the ARP behavior for this VNS instance.
\ No newline at end of file
diff --git a/cli/documentation/en_US/vns/arp-mode-example b/cli/documentation/en_US/vns/arp-mode-example
new file mode 100755
index 0000000..0a8abfb
--- /dev/null
+++ b/cli/documentation/en_US/vns/arp-mode-example
@@ -0,0 +1,8 @@
+arp-mode always-flood
+ Do not manage ARP packets, just flood them on all interfaces
+
+arp-mode flood-if-unknown
+ Only flood ARP packets for unknown destinations
+
+arp-mode drop-if-unknown
+ Drop ARP packets from unknown destinations
diff --git a/cli/documentation/en_US/vns/arp-mode-value-always-flood b/cli/documentation/en_US/vns/arp-mode-value-always-flood
new file mode 100755
index 0000000..befa374
--- /dev/null
+++ b/cli/documentation/en_US/vns/arp-mode-value-always-flood
@@ -0,0 +1,2 @@
+Always flood ARP packets on all switch interfaces. No active managment
+of ARP, will leak packets across VNS.
diff --git a/cli/documentation/en_US/vns/arp-mode-value-drop-if-unknown b/cli/documentation/en_US/vns/arp-mode-value-drop-if-unknown
new file mode 100755
index 0000000..f32eeb0
--- /dev/null
+++ b/cli/documentation/en_US/vns/arp-mode-value-drop-if-unknown
@@ -0,0 +1 @@
+Drop ARP packets if the host is unknown
diff --git a/cli/documentation/en_US/vns/arp-mode-value-flood-if-unknown b/cli/documentation/en_US/vns/arp-mode-value-flood-if-unknown
new file mode 100755
index 0000000..8255540
--- /dev/null
+++ b/cli/documentation/en_US/vns/arp-mode-value-flood-if-unknown
@@ -0,0 +1,2 @@
+Flood ARP packets if the destination is unknown. Might leak packets
+across VNS.
diff --git a/cli/documentation/en_US/vns/broadcast b/cli/documentation/en_US/vns/broadcast
new file mode 100755
index 0000000..82dc399
--- /dev/null
+++ b/cli/documentation/en_US/vns/broadcast
@@ -0,0 +1 @@
+Configure broadcast characteristics of the VNS instance.
diff --git a/cli/documentation/en_US/vns/broadcast-example b/cli/documentation/en_US/vns/broadcast-example
new file mode 100755
index 0000000..51e4036
--- /dev/null
+++ b/cli/documentation/en_US/vns/broadcast-example
@@ -0,0 +1,9 @@
+broadcast always-flood
+ Miscellaneious broadcast packets are sent on all interfaces
+
+broadcast forward-to-known
+ Miscellaneous broadcast packets are forwarded only to known hosts
+
+broadcast drop
+ Miscellaneous broadcast packets are dropped
+
diff --git a/cli/documentation/en_US/vns/broadcast-value-always-flood b/cli/documentation/en_US/vns/broadcast-value-always-flood
new file mode 100755
index 0000000..1f23c3e
--- /dev/null
+++ b/cli/documentation/en_US/vns/broadcast-value-always-flood
@@ -0,0 +1,2 @@
+Always flood all non-ARP, non-DHCP broadcast packets on all switch
+interfaces. Will leak packets across VNS.
diff --git a/cli/documentation/en_US/vns/broadcast-value-drop b/cli/documentation/en_US/vns/broadcast-value-drop
new file mode 100755
index 0000000..f34b38e
--- /dev/null
+++ b/cli/documentation/en_US/vns/broadcast-value-drop
@@ -0,0 +1 @@
+Drop all non-ARP, non-DHCP broadcast packets.
diff --git a/cli/documentation/en_US/vns/broadcast-value-forward-to-known b/cli/documentation/en_US/vns/broadcast-value-forward-to-known
new file mode 100755
index 0000000..38203b5
--- /dev/null
+++ b/cli/documentation/en_US/vns/broadcast-value-forward-to-known
@@ -0,0 +1,2 @@
+Forward all non-ARP, non-DHCP broadcast packets to all known hosts in
+this VNS.
diff --git a/cli/documentation/en_US/vns/description b/cli/documentation/en_US/vns/description
new file mode 100755
index 0000000..dc11e31
--- /dev/null
+++ b/cli/documentation/en_US/vns/description
@@ -0,0 +1 @@
+Within a VNS definition sub-mode, declare a friendly descriptor for the VNS instance.
diff --git a/cli/documentation/en_US/vns/description-example b/cli/documentation/en_US/vns/description-example
new file mode 100755
index 0000000..2de14aa
--- /dev/null
+++ b/cli/documentation/en_US/vns/description-example
@@ -0,0 +1,2 @@
+description "this is my first VNS instance"
+ Add a textual description to a VNS
diff --git a/cli/documentation/en_US/vns/dhcp-ip b/cli/documentation/en_US/vns/dhcp-ip
new file mode 100755
index 0000000..263f723
--- /dev/null
+++ b/cli/documentation/en_US/vns/dhcp-ip
@@ -0,0 +1 @@
+Specify the IP address of the local DHCP server or local DHCP relay. Used by dhcp-mode 'static'.
diff --git a/cli/documentation/en_US/vns/dhcp-ip-example b/cli/documentation/en_US/vns/dhcp-ip-example
new file mode 100755
index 0000000..e4297a1
--- /dev/null
+++ b/cli/documentation/en_US/vns/dhcp-ip-example
@@ -0,0 +1,2 @@
+dhcp-ip 1.2.3.4
+ In static DHCP mode, configure the local DHCP server or relay address
diff --git a/cli/documentation/en_US/vns/dhcp-mode b/cli/documentation/en_US/vns/dhcp-mode
new file mode 100755
index 0000000..c7d85c5
--- /dev/null
+++ b/cli/documentation/en_US/vns/dhcp-mode
@@ -0,0 +1 @@
+Configure VNS handling of DHCP broadcast packets.
\ No newline at end of file
diff --git a/cli/documentation/en_US/vns/dhcp-mode-example b/cli/documentation/en_US/vns/dhcp-mode-example
new file mode 100755
index 0000000..e0dc3d5
--- /dev/null
+++ b/cli/documentation/en_US/vns/dhcp-mode-example
@@ -0,0 +1,8 @@
+dhcp-mode static
+ VNS will forward DHCP traffic to a single known host
+
+dhcp-mode flood-if-unknown
+ Flood DHCP packets if the server is not known
+
+dhcp-mode always-flood
+ Do not manage DHCP traffice
diff --git a/cli/documentation/en_US/vns/dhcp-value-always-flood b/cli/documentation/en_US/vns/dhcp-value-always-flood
new file mode 100755
index 0000000..25c3be6
--- /dev/null
+++ b/cli/documentation/en_US/vns/dhcp-value-always-flood
@@ -0,0 +1 @@
+Always flood all DHCP packets. Will leak packets across VNS.
diff --git a/cli/documentation/en_US/vns/dhcp-value-flood-if-unknown b/cli/documentation/en_US/vns/dhcp-value-flood-if-unknown
new file mode 100755
index 0000000..d887ebc
--- /dev/null
+++ b/cli/documentation/en_US/vns/dhcp-value-flood-if-unknown
@@ -0,0 +1,2 @@
+Flood DHCP packets if the DHCP server location is unknown. DHCP server
+location will be discovered.
diff --git a/cli/documentation/en_US/vns/dhcp-value-static b/cli/documentation/en_US/vns/dhcp-value-static
new file mode 100755
index 0000000..27ee111
--- /dev/null
+++ b/cli/documentation/en_US/vns/dhcp-value-static
@@ -0,0 +1 @@
+Forward DHCP packets to the configured local DHCP server or local DHCP relay.
diff --git a/cli/documentation/en_US/vns/gateway-pool b/cli/documentation/en_US/vns/gateway-pool
new file mode 100755
index 0000000..02c5aa9
--- /dev/null
+++ b/cli/documentation/en_US/vns/gateway-pool
@@ -0,0 +1 @@
+gateway pool name
diff --git a/cli/documentation/en_US/vns/interface-router-connected b/cli/documentation/en_US/vns/interface-router-connected
new file mode 100755
index 0000000..9d58a14
--- /dev/null
+++ b/cli/documentation/en_US/vns/interface-router-connected
@@ -0,0 +1 @@
+the 'tenant' keyword specifies the named virtual router interface connects to another tenant virtual router.
\ No newline at end of file
diff --git a/cli/documentation/en_US/vns/interface-rule b/cli/documentation/en_US/vns/interface-rule
new file mode 100755
index 0000000..8e3ebcb
--- /dev/null
+++ b/cli/documentation/en_US/vns/interface-rule
@@ -0,0 +1,2 @@
+Set a VNS interface rule and enter submode. Devices are
+assigned into VNS based on interface-rules.
diff --git a/cli/documentation/en_US/vns/interface-rule-active b/cli/documentation/en_US/vns/interface-rule-active
new file mode 100755
index 0000000..7c7f594
--- /dev/null
+++ b/cli/documentation/en_US/vns/interface-rule-active
@@ -0,0 +1 @@
+Mark the rule as active. Only active rules will be matched.
diff --git a/cli/documentation/en_US/vns/interface-rule-active-example b/cli/documentation/en_US/vns/interface-rule-active-example
new file mode 100755
index 0000000..03f89c0
--- /dev/null
+++ b/cli/documentation/en_US/vns/interface-rule-active-example
@@ -0,0 +1,5 @@
+active
+ Mark this interface rule as active
+
+no active
+ Mark this interface rule as inactive
diff --git a/cli/documentation/en_US/vns/interface-rule-allow-multiple b/cli/documentation/en_US/vns/interface-rule-allow-multiple
new file mode 100755
index 0000000..31557a9
--- /dev/null
+++ b/cli/documentation/en_US/vns/interface-rule-allow-multiple
@@ -0,0 +1,2 @@
+If allow-multiple is set devices matching this rule are allowed to be in
+multiple VNS at the same time.
diff --git a/cli/documentation/en_US/vns/interface-rule-allow-multiple-example b/cli/documentation/en_US/vns/interface-rule-allow-multiple-example
new file mode 100755
index 0000000..bdc4ab0
--- /dev/null
+++ b/cli/documentation/en_US/vns/interface-rule-allow-multiple-example
@@ -0,0 +1,6 @@
+allow-multiple
+ Devices matching this rule can be in more than one VNS
+
+no allow-multiple
+ Devices matching this rule can be in a single VNS
+
diff --git a/cli/documentation/en_US/vns/interface-rule-description b/cli/documentation/en_US/vns/interface-rule-description
new file mode 100755
index 0000000..9e5c9eb
--- /dev/null
+++ b/cli/documentation/en_US/vns/interface-rule-description
@@ -0,0 +1 @@
+A user provided textual description for this interface-rule.
diff --git a/cli/documentation/en_US/vns/interface-rule-description-example b/cli/documentation/en_US/vns/interface-rule-description-example
new file mode 100755
index 0000000..38bc308
--- /dev/null
+++ b/cli/documentation/en_US/vns/interface-rule-description-example
@@ -0,0 +1,2 @@
+description "This is my first VNS interface rule"
+ Describe a VNS interface rule
diff --git a/cli/documentation/en_US/vns/interface-rule-example b/cli/documentation/en_US/vns/interface-rule-example
new file mode 100755
index 0000000..01ff26b
--- /dev/null
+++ b/cli/documentation/en_US/vns/interface-rule-example
@@ -0,0 +1,5 @@
+interface-rule my-rule-1
+ Define a new interface rule, and enter its configuration sub-mode
+
+no interface-rule my-rule-1
+ Delete an interface rule by name
diff --git a/cli/documentation/en_US/vns/interface-rule-match-ip-subnet b/cli/documentation/en_US/vns/interface-rule-match-ip-subnet
new file mode 100755
index 0000000..c76d8c7
--- /dev/null
+++ b/cli/documentation/en_US/vns/interface-rule-match-ip-subnet
@@ -0,0 +1 @@
+Associate an IP address or IP subnet with interface-rule.
diff --git a/cli/documentation/en_US/vns/interface-rule-match-ip-subnet-example b/cli/documentation/en_US/vns/interface-rule-match-ip-subnet-example
new file mode 100755
index 0000000..3266118
--- /dev/null
+++ b/cli/documentation/en_US/vns/interface-rule-match-ip-subnet-example
@@ -0,0 +1,2 @@
+match ip-subnet 10.10.10.10
+match ip-subnet 10.42.10.0/24
diff --git a/cli/documentation/en_US/vns/interface-rule-match-mac b/cli/documentation/en_US/vns/interface-rule-match-mac
new file mode 100755
index 0000000..419c71e
--- /dev/null
+++ b/cli/documentation/en_US/vns/interface-rule-match-mac
@@ -0,0 +1 @@
+Associate MAC address (host) with interface-rule.
diff --git a/cli/documentation/en_US/vns/interface-rule-match-mac-example b/cli/documentation/en_US/vns/interface-rule-match-mac-example
new file mode 100755
index 0000000..25d6f59
--- /dev/null
+++ b/cli/documentation/en_US/vns/interface-rule-match-mac-example
@@ -0,0 +1,2 @@
+match mac 00:00:00:00:00:01
+ Match a specific MAC address
diff --git a/cli/documentation/en_US/vns/interface-rule-match-switch b/cli/documentation/en_US/vns/interface-rule-match-switch
new file mode 100755
index 0000000..1a0f009
--- /dev/null
+++ b/cli/documentation/en_US/vns/interface-rule-match-switch
@@ -0,0 +1,2 @@
+Associate a switch or set of switch interfaces with this interface-rule.
+Hosts present on the specified switch/interfaces will be matched.
diff --git a/cli/documentation/en_US/vns/interface-rule-match-switch-example b/cli/documentation/en_US/vns/interface-rule-match-switch-example
new file mode 100755
index 0000000..1576f13
--- /dev/null
+++ b/cli/documentation/en_US/vns/interface-rule-match-switch-example
@@ -0,0 +1,9 @@
+match switch 00:00:11:22:33:44:55:66
+ Matches all interfaces on the switch with this DPID.
+match switch 00:00:11:22:33:44:55:66 Ethernet1
+ Matches interface Ethernet1 on the specified switch.
+match switch 00:00:11:22:33:44:55:66 Ethernet1,Ethernet5-10,port2
+ Matches interfaces Ethernet1, Ethernet5, Ethernet6, ... Ethernet10,
+ and port2 on the specified switch.
+match switch ToR-1-1
+ Matches the switch with the alias 'ToR-1-1'
diff --git a/cli/documentation/en_US/vns/interface-rule-match-tag b/cli/documentation/en_US/vns/interface-rule-match-tag
new file mode 100755
index 0000000..08e6496
--- /dev/null
+++ b/cli/documentation/en_US/vns/interface-rule-match-tag
@@ -0,0 +1,2 @@
+Associate a tag or list of tags with this interface-rule. If a list of
+tags is given *all* tags need to match.
diff --git a/cli/documentation/en_US/vns/interface-rule-match-tag-example b/cli/documentation/en_US/vns/interface-rule-match-tag-example
new file mode 100755
index 0000000..7e397f8
--- /dev/null
+++ b/cli/documentation/en_US/vns/interface-rule-match-tag-example
@@ -0,0 +1,4 @@
+match tags org.sdnplatform.tenant=CustomerA
+ Matches devices that match the given tag.
+match tags org.sdnplatform.tenant=CustomerA,com.example.type=router
+ Matches devices that match *all* of the given tags.
diff --git a/cli/documentation/en_US/vns/interface-rule-match-vlans b/cli/documentation/en_US/vns/interface-rule-match-vlans
new file mode 100755
index 0000000..cea2544
--- /dev/null
+++ b/cli/documentation/en_US/vns/interface-rule-match-vlans
@@ -0,0 +1 @@
+Associate a vlan (or list or range) with this interface rule.
\ No newline at end of file
diff --git a/cli/documentation/en_US/vns/interface-rule-match-vlans-example b/cli/documentation/en_US/vns/interface-rule-match-vlans-example
new file mode 100755
index 0000000..bcbacce
--- /dev/null
+++ b/cli/documentation/en_US/vns/interface-rule-match-vlans-example
@@ -0,0 +1,2 @@
+match vlans 42
+ Match packets in VLAN 42
diff --git a/cli/documentation/en_US/vns/interface-rule-priority b/cli/documentation/en_US/vns/interface-rule-priority
new file mode 100755
index 0000000..505dffd
--- /dev/null
+++ b/cli/documentation/en_US/vns/interface-rule-priority
@@ -0,0 +1,3 @@
+The priority of this interface-rule. Higher numeric values represent
+higher priority. The highest priority interface-rule that matches a
+given packet will be choosen.
diff --git a/cli/documentation/en_US/vns/interface-rule-priority-example b/cli/documentation/en_US/vns/interface-rule-priority-example
new file mode 100755
index 0000000..a8be5f0
--- /dev/null
+++ b/cli/documentation/en_US/vns/interface-rule-priority-example
@@ -0,0 +1,2 @@
+priority 100
+ Assign a priority to this interface rule
diff --git a/cli/documentation/en_US/vns/interface-vns-connected b/cli/documentation/en_US/vns/interface-vns-connected
new file mode 100755
index 0000000..582a9b4
--- /dev/null
+++ b/cli/documentation/en_US/vns/interface-vns-connected
@@ -0,0 +1 @@
+the 'vns' keyword specifies the named virtual router interface connects to a VNS within the same tenant scope.
\ No newline at end of file
diff --git a/cli/documentation/en_US/vns/match b/cli/documentation/en_US/vns/match
new file mode 100755
index 0000000..bcabc8c
--- /dev/null
+++ b/cli/documentation/en_US/vns/match
@@ -0,0 +1,2 @@
+Configure a match for this interface rule. If multiple matches are
+configured they will be logically AND'ed.
diff --git a/cli/documentation/en_US/vns/origin b/cli/documentation/en_US/vns/origin
new file mode 100755
index 0000000..4280742
--- /dev/null
+++ b/cli/documentation/en_US/vns/origin
@@ -0,0 +1 @@
+Describe the origin of this VNS instance
diff --git a/cli/documentation/en_US/vns/origin-example b/cli/documentation/en_US/vns/origin-example
new file mode 100755
index 0000000..5a368f6
--- /dev/null
+++ b/cli/documentation/en_US/vns/origin-example
@@ -0,0 +1,2 @@
+origin rest
+ Note that this VNS instance was configured via REST
diff --git a/cli/documentation/en_US/vns/outgoing-interface b/cli/documentation/en_US/vns/outgoing-interface
new file mode 100755
index 0000000..71bc543
--- /dev/null
+++ b/cli/documentation/en_US/vns/outgoing-interface
@@ -0,0 +1 @@
+outgoing interface name
\ No newline at end of file
diff --git a/cli/documentation/en_US/vns/priority b/cli/documentation/en_US/vns/priority
new file mode 100755
index 0000000..6fe279b
--- /dev/null
+++ b/cli/documentation/en_US/vns/priority
@@ -0,0 +1 @@
+Assign a priority to this VNS instance
\ No newline at end of file
diff --git a/cli/documentation/en_US/vns/priority-example b/cli/documentation/en_US/vns/priority-example
new file mode 100755
index 0000000..b2a505b
--- /dev/null
+++ b/cli/documentation/en_US/vns/priority-example
@@ -0,0 +1,2 @@
+priority 100
+ Within a vns definition, assign a specific priority to this instance
diff --git a/cli/documentation/en_US/vns/show-id b/cli/documentation/en_US/vns/show-id
new file mode 100755
index 0000000..16ebc39
--- /dev/null
+++ b/cli/documentation/en_US/vns/show-id
@@ -0,0 +1,3 @@
+This 'show vns <id>' command variation is used to identify a specific vns or VNSs defined under current tenant mode.
+This 'show vns all' command variation is used to display all VNSs defined across all tenants.
+Being backward compatible, 'show vns' command under non config-tenant mode is also accepted and displays the VNSs for default tenant only.
diff --git a/cli/documentation/en_US/vns/show-id-access-lists b/cli/documentation/en_US/vns/show-id-access-lists
new file mode 100755
index 0000000..f1d513c
--- /dev/null
+++ b/cli/documentation/en_US/vns/show-id-access-lists
@@ -0,0 +1,5 @@
+The 'access-list' keyword requests display of the
+configured access-lists associated with the vns.
+The output includes not only the access-list, but
+a brief descripion of the acl rules associated with
+the access-list.
diff --git a/cli/documentation/en_US/vns/show-id-flow b/cli/documentation/en_US/vns/show-id-flow
new file mode 100755
index 0000000..e5baa76
--- /dev/null
+++ b/cli/documentation/en_US/vns/show-id-flow
@@ -0,0 +1,3 @@
+The 'flow' keyword requests the display of all openflow
+flow-match entries inserted into various switches to
+implement the vns isolation.
diff --git a/cli/documentation/en_US/vns/show-id-interface-rules b/cli/documentation/en_US/vns/show-id-interface-rules
new file mode 100755
index 0000000..2c8c6b8
--- /dev/null
+++ b/cli/documentation/en_US/vns/show-id-interface-rules
@@ -0,0 +1,4 @@
+The 'interface-rules' keyword requests the display of
+the configured interface-rules for the named vns. The
+vns interface-rules describe the membership rules
+associated with a vns.
diff --git a/cli/documentation/en_US/vns/show-tenant b/cli/documentation/en_US/vns/show-tenant
new file mode 100755
index 0000000..dcf628f
--- /dev/null
+++ b/cli/documentation/en_US/vns/show-tenant
@@ -0,0 +1,2 @@
+This 'show tenant <tenant-name>' command is used to identify a specific tenant, to describe particular configured details.
+'show tenant' command provides display for every defined tenant.
\ No newline at end of file
diff --git a/cli/documentation/en_US/vns/show-tenant-example b/cli/documentation/en_US/vns/show-tenant-example
new file mode 100755
index 0000000..f2fa1f3
--- /dev/null
+++ b/cli/documentation/en_US/vns/show-tenant-example
@@ -0,0 +1,21 @@
+localhost# show tenant all
+
+ # Tenant ID Active Description Router ID
+
+ -|---------|------|-----------|---------
+
+ 1 A True vrA
+
+ 2 default True
+
+ 3 red True
+
+ 4 system True vrsystem
+
+localhost# show tenant A
+
+ # Tenant ID Active Description Router ID
+
+ -|---------|------|-----------|---------
+
+1 A True vrA
diff --git a/cli/documentation/en_US/vns/show-tenant-id-router b/cli/documentation/en_US/vns/show-tenant-id-router
new file mode 100755
index 0000000..2c76403
--- /dev/null
+++ b/cli/documentation/en_US/vns/show-tenant-id-router
@@ -0,0 +1,2 @@
+The 'router' keyword requests the display of
+the configured virtual router for the named or current tenant.
\ No newline at end of file
diff --git a/cli/documentation/en_US/vns/show-tenant-id-router-gwippool b/cli/documentation/en_US/vns/show-tenant-id-router-gwippool
new file mode 100755
index 0000000..64e84af
--- /dev/null
+++ b/cli/documentation/en_US/vns/show-tenant-id-router-gwippool
@@ -0,0 +1,3 @@
+The 'gw-address-pool' keyword requests the display of
+the configured gateway ip addresses for all the gateway pools of the named virtual router.
+
diff --git a/cli/documentation/en_US/vns/show-tenant-id-router-gwpools b/cli/documentation/en_US/vns/show-tenant-id-router-gwpools
new file mode 100755
index 0000000..105e87b
--- /dev/null
+++ b/cli/documentation/en_US/vns/show-tenant-id-router-gwpools
@@ -0,0 +1,2 @@
+The 'gateway-pools' keyword requests the display of
+the configured next hop gateway pools for the named virtual router.
diff --git a/cli/documentation/en_US/vns/show-tenant-id-router-interfaces b/cli/documentation/en_US/vns/show-tenant-id-router-interfaces
new file mode 100755
index 0000000..24a5baf
--- /dev/null
+++ b/cli/documentation/en_US/vns/show-tenant-id-router-interfaces
@@ -0,0 +1,2 @@
+The 'interfaces' keyword requests the display of
+the configured interfaces for the named virtual router.
diff --git a/cli/documentation/en_US/vns/show-tenant-id-router-ippool b/cli/documentation/en_US/vns/show-tenant-id-router-ippool
new file mode 100755
index 0000000..00a44ab
--- /dev/null
+++ b/cli/documentation/en_US/vns/show-tenant-id-router-ippool
@@ -0,0 +1,2 @@
+The 'ip-address-pool' keyword requests the display of
+the configured ip address/subnet for all the interfaces of the named virtual router.
diff --git a/cli/documentation/en_US/vns/show-tenant-id-router-route b/cli/documentation/en_US/vns/show-tenant-id-router-route
new file mode 100755
index 0000000..27f3ef1
--- /dev/null
+++ b/cli/documentation/en_US/vns/show-tenant-id-router-route
@@ -0,0 +1,2 @@
+The 'route' keyword requests the display of
+the configured routing rule for the named virtual router.
\ No newline at end of file
diff --git a/cli/documentation/en_US/vns/show-tenant-id-vns b/cli/documentation/en_US/vns/show-tenant-id-vns
new file mode 100755
index 0000000..162c8f2
--- /dev/null
+++ b/cli/documentation/en_US/vns/show-tenant-id-vns
@@ -0,0 +1,2 @@
+The 'vns' keyword requests the display of
+the configured vnss for the named tenant.
\ No newline at end of file
diff --git a/cli/documentation/en_US/vns/src-ip b/cli/documentation/en_US/vns/src-ip
new file mode 100755
index 0000000..7b90b4b
--- /dev/null
+++ b/cli/documentation/en_US/vns/src-ip
@@ -0,0 +1 @@
+An IP address in dotted decimal notation.
diff --git a/cli/documentation/en_US/vns/tenant b/cli/documentation/en_US/vns/tenant
new file mode 100755
index 0000000..d7672e6
--- /dev/null
+++ b/cli/documentation/en_US/vns/tenant
@@ -0,0 +1,11 @@
+This submode is used to create a named tenant. Within this submode, properties of
+the tenant can be configured. VNS are configured and managed, which configure the membership of devices.
+Virtual router is configured and managed, which defines the connectivity within and among tenants.
+
+The controller provides a tenant named 'default' to collect devices
+which are not associated with any tenant.
+
+The controller provides a tenant named 'system' to hold system virtual router
+which is used to define the connectivity among all tenants.
+
+The controller provides a tenant named 'external' to hold configuration for external network access.
diff --git a/cli/documentation/en_US/vns/tenant-active b/cli/documentation/en_US/vns/tenant-active
new file mode 100755
index 0000000..778dbcc
--- /dev/null
+++ b/cli/documentation/en_US/vns/tenant-active
@@ -0,0 +1,2 @@
+Set the tenant active. If a tenant is inactive the controller will not use it
+or its rules.
diff --git a/cli/documentation/en_US/vns/tenant-active-example b/cli/documentation/en_US/vns/tenant-active-example
new file mode 100755
index 0000000..d9eff2b
--- /dev/null
+++ b/cli/documentation/en_US/vns/tenant-active-example
@@ -0,0 +1,5 @@
+active
+ Activate this tenant instance
+
+no active
+ Deactivate this tenant instance
diff --git a/cli/documentation/en_US/vns/tenant-description b/cli/documentation/en_US/vns/tenant-description
new file mode 100755
index 0000000..52a9a15
--- /dev/null
+++ b/cli/documentation/en_US/vns/tenant-description
@@ -0,0 +1 @@
+Within a tenant definition sub-mode, declare a friendly descriptor for the tenant instance.
diff --git a/cli/documentation/en_US/vns/tenant-description-example b/cli/documentation/en_US/vns/tenant-description-example
new file mode 100755
index 0000000..2d94514
--- /dev/null
+++ b/cli/documentation/en_US/vns/tenant-description-example
@@ -0,0 +1,2 @@
+description "this is my first tenant instance"
+ Add a textual description to a tenant
diff --git a/cli/documentation/en_US/vns/tenant-example b/cli/documentation/en_US/vns/tenant-example
new file mode 100755
index 0000000..8c9dcec
--- /dev/null
+++ b/cli/documentation/en_US/vns/tenant-example
@@ -0,0 +1,6 @@
+tenant my-first-tenant
+ Define a new tenant instance by name,
+ and enter the tenant sub-mode
+
+no tenant my-first-tenant
+ Remove a named tenant
\ No newline at end of file
diff --git a/cli/documentation/en_US/vns/tenant-router-active b/cli/documentation/en_US/vns/tenant-router-active
new file mode 100755
index 0000000..4f58af3
--- /dev/null
+++ b/cli/documentation/en_US/vns/tenant-router-active
@@ -0,0 +1,2 @@
+Set the tenant virtual router active. If a tenant virtual router is inactive the controller will not use it
+or its rules.
diff --git a/cli/documentation/en_US/vns/tenant-router-active-example b/cli/documentation/en_US/vns/tenant-router-active-example
new file mode 100755
index 0000000..c626eb6
--- /dev/null
+++ b/cli/documentation/en_US/vns/tenant-router-active-example
@@ -0,0 +1,5 @@
+localhost(config-tenant-router-intf)# active
+ Activate this interface instance
+
+localhost(config-tenant-router-intf)# no active
+ Deactivate this interface instance
diff --git a/cli/documentation/en_US/vns/tenant-router-description b/cli/documentation/en_US/vns/tenant-router-description
new file mode 100755
index 0000000..89ea234
--- /dev/null
+++ b/cli/documentation/en_US/vns/tenant-router-description
@@ -0,0 +1 @@
+Within a tenant virtual router definition sub-mode, declare a friendly descriptor for the virtual router instance.
diff --git a/cli/documentation/en_US/vns/tenant-router-description-example b/cli/documentation/en_US/vns/tenant-router-description-example
new file mode 100755
index 0000000..bd9f779
--- /dev/null
+++ b/cli/documentation/en_US/vns/tenant-router-description-example
@@ -0,0 +1,2 @@
+localhost(config-tenant-router)# description "this is the virtual router for testing"
+ Add a textual description to a tenant virtual router
\ No newline at end of file
diff --git a/cli/documentation/en_US/vns/tenant-router-gwip b/cli/documentation/en_US/vns/tenant-router-gwip
new file mode 100755
index 0000000..7db55d7
--- /dev/null
+++ b/cli/documentation/en_US/vns/tenant-router-gwip
@@ -0,0 +1 @@
+Add an IP address to a gateway pool
diff --git a/cli/documentation/en_US/vns/tenant-router-gwip-example b/cli/documentation/en_US/vns/tenant-router-gwip-example
new file mode 100755
index 0000000..9e4f5dc
--- /dev/null
+++ b/cli/documentation/en_US/vns/tenant-router-gwip-example
@@ -0,0 +1,3 @@
+localhost(config-tenant-router-gw)# ip 10.0.1.1/24
+
+localhost(config-tenant-router-gw)# no ip 10.0.1.1/24
diff --git a/cli/documentation/en_US/vns/tenant-router-gwpool b/cli/documentation/en_US/vns/tenant-router-gwpool
new file mode 100755
index 0000000..9f07d6b
--- /dev/null
+++ b/cli/documentation/en_US/vns/tenant-router-gwpool
@@ -0,0 +1,2 @@
+This command is used to create a new next hop gateway pool. Any IP address within this gateway pool can be used as a next hop for a routing rule configured with the next hop as this gateway pool.
+
diff --git a/cli/documentation/en_US/vns/tenant-router-gwpool-example b/cli/documentation/en_US/vns/tenant-router-gwpool-example
new file mode 100755
index 0000000..43337f8
--- /dev/null
+++ b/cli/documentation/en_US/vns/tenant-router-gwpool-example
@@ -0,0 +1,5 @@
+localhost(config-tenant-router)# gateway-pool pool1
+ create a gateway pool pool1
+
+localhost(config-tenant-router)# no gateway-pool pool1
+ remove the gateway pool named pool1
diff --git a/cli/documentation/en_US/vns/tenant-router-interface b/cli/documentation/en_US/vns/tenant-router-interface
new file mode 100755
index 0000000..138a2f8
--- /dev/null
+++ b/cli/documentation/en_US/vns/tenant-router-interface
@@ -0,0 +1,2 @@
+This command is used to create a new virtual router interface and connect the named interface to a defined VNS or another virtual router.
+
diff --git a/cli/documentation/en_US/vns/tenant-router-interface-example b/cli/documentation/en_US/vns/tenant-router-interface-example
new file mode 100755
index 0000000..25f57de
--- /dev/null
+++ b/cli/documentation/en_US/vns/tenant-router-interface-example
@@ -0,0 +1,5 @@
+localhost(config-tenant-router)# interface if1 vns A1
+ create a virtual router interface if1 and connect it to VNS A1
+
+localhost(config-tenant-router)# no interface if1
+ remove the named virtual router interface if1
\ No newline at end of file
diff --git a/cli/documentation/en_US/vns/tenant-router-interfaceip b/cli/documentation/en_US/vns/tenant-router-interfaceip
new file mode 100755
index 0000000..d64b903
--- /dev/null
+++ b/cli/documentation/en_US/vns/tenant-router-interfaceip
@@ -0,0 +1 @@
+Associate an IP address and IP subnet with an virtual router interface.
diff --git a/cli/documentation/en_US/vns/tenant-router-interfaceip-example b/cli/documentation/en_US/vns/tenant-router-interfaceip-example
new file mode 100755
index 0000000..a95dea5
--- /dev/null
+++ b/cli/documentation/en_US/vns/tenant-router-interfaceip-example
@@ -0,0 +1,3 @@
+localhost(config-tenant-router-intf)# ip 10.0.1.1/24
+
+localhost(config-tenant-router-intf)# no ip 10.0.1.1/24
\ No newline at end of file
diff --git a/cli/documentation/en_US/vns/tenant-router-route b/cli/documentation/en_US/vns/tenant-router-route
new file mode 100755
index 0000000..9ff9f6a
--- /dev/null
+++ b/cli/documentation/en_US/vns/tenant-router-route
@@ -0,0 +1,2 @@
+This command is used to create a new routing rule for a given tenant virtual router.
+
diff --git a/cli/documentation/en_US/vns/tenant-router-route-example b/cli/documentation/en_US/vns/tenant-router-route-example
new file mode 100755
index 0000000..259ff85
--- /dev/null
+++ b/cli/documentation/en_US/vns/tenant-router-route-example
@@ -0,0 +1,5 @@
+route from tenant A to tenant B permit
+ create a routing rule to permit packets from tenant A to tenant B
+
+no route from tenant A to tenant B permit
+ remove the created routing rule
\ No newline at end of file
diff --git a/cli/documentation/en_US/vns/tenant-vrouter b/cli/documentation/en_US/vns/tenant-vrouter
new file mode 100755
index 0000000..b93fd82
--- /dev/null
+++ b/cli/documentation/en_US/vns/tenant-vrouter
@@ -0,0 +1,2 @@
+This submode is used to create, then describe the connectivity and routing rules for the named virtual router for a given tenant.
+Within this submode, properties of the virtual router can be configured.
diff --git a/cli/documentation/en_US/vns/tenant-vrouter-example b/cli/documentation/en_US/vns/tenant-vrouter-example
new file mode 100755
index 0000000..d930dc5
--- /dev/null
+++ b/cli/documentation/en_US/vns/tenant-vrouter-example
@@ -0,0 +1,6 @@
+router my-first-router
+ Define a new router instance by name,
+ and enter the tenant-router sub-mode
+
+no router my-first-router
+ Remove a named router
\ No newline at end of file
diff --git a/cli/documentation/en_US/vns/use-address-space b/cli/documentation/en_US/vns/use-address-space
new file mode 100755
index 0000000..1a9b5a9
--- /dev/null
+++ b/cli/documentation/en_US/vns/use-address-space
@@ -0,0 +1 @@
+Associate this VNS with the specified address-space.
diff --git a/cli/documentation/en_US/vns/use-address-space-example b/cli/documentation/en_US/vns/use-address-space-example
new file mode 100755
index 0000000..384169a
--- /dev/null
+++ b/cli/documentation/en_US/vns/use-address-space-example
@@ -0,0 +1,5 @@
+use address-space address-space-1
+ Change the association of this VNS from 'default' to 'address-space-1'.
+
+no address-space address-space-1
+ Remove the address space association for this VNS.
diff --git a/cli/documentation/en_US/vns/vns b/cli/documentation/en_US/vns/vns
new file mode 100755
index 0000000..190d8cf
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns
@@ -0,0 +1,11 @@
+This command is used to enter a submode to manage properties
+associated with the virtual switch. This currently includes
+acl managment, and association of the acls rules to interfaces.
+
+The named vns-id must already exist. See the vns-definition
+command to create new VNSs.
+
+Withing this submode, two other submodes can be entered. The
+access-list submode associates specific acl rules with an access list,
+while the interface submode allows association of named access rules
+to specific interfaces.
diff --git a/cli/documentation/en_US/vns/vns-access-group b/cli/documentation/en_US/vns/vns-access-group
new file mode 100755
index 0000000..029bc09
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-access-group
@@ -0,0 +1 @@
+Associate an access-list configuration with this interface rule.
diff --git a/cli/documentation/en_US/vns/vns-access-group-direction-in b/cli/documentation/en_US/vns/vns-access-group-direction-in
new file mode 100755
index 0000000..3295471
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-access-group-direction-in
@@ -0,0 +1 @@
+Apply an access-list to incoming traffic on this VNS interface.
diff --git a/cli/documentation/en_US/vns/vns-access-group-direction-out b/cli/documentation/en_US/vns/vns-access-group-direction-out
new file mode 100755
index 0000000..935679c
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-access-group-direction-out
@@ -0,0 +1 @@
+Apply an access-list to outgoing traffic on this VNS interface.
diff --git a/cli/documentation/en_US/vns/vns-access-group-example b/cli/documentation/en_US/vns/vns-access-group-example
new file mode 100755
index 0000000..677f5a8
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-access-group-example
@@ -0,0 +1,5 @@
+access-group pair-blocker in
+ Associate the 'pair-blocker' ACL with input packets to this VNS
+
+no access-group pair-blocker in
+ Remove the input packet ACL for this VNS instance
diff --git a/cli/documentation/en_US/vns/vns-access-list b/cli/documentation/en_US/vns/vns-access-list
new file mode 100755
index 0000000..853d33b
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-access-list
@@ -0,0 +1 @@
+Enter submode to configure VNS access-list.
diff --git a/cli/documentation/en_US/vns/vns-access-list-cidr-range b/cli/documentation/en_US/vns/vns-access-list-cidr-range
new file mode 100755
index 0000000..41d71d2
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-access-list-cidr-range
@@ -0,0 +1 @@
+IP address with prefix length in CIDR format.
diff --git a/cli/documentation/en_US/vns/vns-access-list-description b/cli/documentation/en_US/vns/vns-access-list-description
new file mode 100755
index 0000000..763e127
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-access-list-description
@@ -0,0 +1 @@
+A user provided textual description for this access-list.
diff --git a/cli/documentation/en_US/vns/vns-access-list-description-example b/cli/documentation/en_US/vns/vns-access-list-description-example
new file mode 100755
index 0000000..484eea0
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-access-list-description-example
@@ -0,0 +1,2 @@
+description "Access list #1"
+ Associate a text description with this access list
diff --git a/cli/documentation/en_US/vns/vns-access-list-entry b/cli/documentation/en_US/vns/vns-access-list-entry
new file mode 100755
index 0000000..e030bdf
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-access-list-entry
@@ -0,0 +1 @@
+Add an entry to this VNS access list
diff --git a/cli/documentation/en_US/vns/vns-access-list-entry-action-deny b/cli/documentation/en_US/vns/vns-access-list-entry-action-deny
new file mode 100755
index 0000000..3d366ca
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-access-list-entry-action-deny
@@ -0,0 +1 @@
+Deny traffic matching this entry.
diff --git a/cli/documentation/en_US/vns/vns-access-list-entry-action-permit b/cli/documentation/en_US/vns/vns-access-list-entry-action-permit
new file mode 100755
index 0000000..2466151
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-access-list-entry-action-permit
@@ -0,0 +1 @@
+Permit traffic matching this entry.
diff --git a/cli/documentation/en_US/vns/vns-access-list-entry-example b/cli/documentation/en_US/vns/vns-access-list-entry-example
new file mode 100755
index 0000000..1885da2
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-access-list-entry-example
@@ -0,0 +1,26 @@
+10 deny ip 10.0.0.1 10.0.0.2
+ Add an ACL rule to deny IP traffic between two hosts
+
+11 allow tcp 10.0.0.3
+ Add an ACL rule to allow TCP traffic from a specific host
+
+12 deny 51
+ Add an ACL rule to deny AH packets
+
+13 deny tcp any eq http
+ Add an ACL rule to deny HTTP traffic
+
+14 deny tcp any eq http
+ Add an ACL rule to deny HTTP traffic
+
+15 deny mac 00:00:00:00:00:01 any
+ Add an ACL rule to deny traffic based on source MAC address
+
+16 deny mac 00:00:00:00:00:01 00:00:00:00:00:02
+ Add an ACL rule to deny traffic between MAC addresses
+
+16 deny mac any any 0x0842
+ Add an ACL rule to deny wake-on-LAN packets
+
+17 deny mac any any vlan 42
+ Add an ACL rule to deny packets from a specific VLAN
diff --git a/cli/documentation/en_US/vns/vns-access-list-entry-type-ip b/cli/documentation/en_US/vns/vns-access-list-entry-type-ip
new file mode 100755
index 0000000..3e54b31
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-access-list-entry-type-ip
@@ -0,0 +1 @@
+Access list entry for IP packets.
diff --git a/cli/documentation/en_US/vns/vns-access-list-entry-type-ip-protocol b/cli/documentation/en_US/vns/vns-access-list-entry-type-ip-protocol
new file mode 100755
index 0000000..8765786
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-access-list-entry-type-ip-protocol
@@ -0,0 +1 @@
+An IP protocol number.
diff --git a/cli/documentation/en_US/vns/vns-access-list-entry-type-tcp b/cli/documentation/en_US/vns/vns-access-list-entry-type-tcp
new file mode 100755
index 0000000..80ce8fb
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-access-list-entry-type-tcp
@@ -0,0 +1 @@
+Access list entry for TCP packets.
diff --git a/cli/documentation/en_US/vns/vns-access-list-entry-type-udp b/cli/documentation/en_US/vns/vns-access-list-entry-type-udp
new file mode 100755
index 0000000..b71bac0
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-access-list-entry-type-udp
@@ -0,0 +1 @@
+Access list entry for UDP packets.
diff --git a/cli/documentation/en_US/vns/vns-access-list-ether-type b/cli/documentation/en_US/vns/vns-access-list-ether-type
new file mode 100755
index 0000000..c709dcb
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-access-list-ether-type
@@ -0,0 +1 @@
+Specify an ether type by number (hex or decimal)
diff --git a/cli/documentation/en_US/vns/vns-access-list-example b/cli/documentation/en_US/vns/vns-access-list-example
new file mode 100755
index 0000000..dbfef41
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-access-list-example
@@ -0,0 +1,6 @@
+access-list access-list-1
+ Define a new access list for this VNS,
+ and enter its configuration sub-mode
+
+no access-list access-list-1
+ Remove the definition for this access list
diff --git a/cli/documentation/en_US/vns/vns-access-list-ip-and-mask-ip b/cli/documentation/en_US/vns/vns-access-list-ip-and-mask-ip
new file mode 100755
index 0000000..ef2612f
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-access-list-ip-and-mask-ip
@@ -0,0 +1 @@
+IP address in dotted decimal notation.
diff --git a/cli/documentation/en_US/vns/vns-access-list-ip-and-mask-mask b/cli/documentation/en_US/vns/vns-access-list-ip-and-mask-mask
new file mode 100755
index 0000000..3ca923d
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-access-list-ip-and-mask-mask
@@ -0,0 +1 @@
+An inverse netmask in dotted decimal notation.
diff --git a/cli/documentation/en_US/vns/vns-access-list-ip-any b/cli/documentation/en_US/vns/vns-access-list-ip-any
new file mode 100755
index 0000000..a598f6f
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-access-list-ip-any
@@ -0,0 +1 @@
+Represents any IP address.
diff --git a/cli/documentation/en_US/vns/vns-access-list-ip-icmp b/cli/documentation/en_US/vns/vns-access-list-ip-icmp
new file mode 100755
index 0000000..6d49f85
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-access-list-ip-icmp
@@ -0,0 +1,2 @@
+Filter based on ICMP packet types
+
diff --git a/cli/documentation/en_US/vns/vns-access-list-ip-only b/cli/documentation/en_US/vns/vns-access-list-ip-only
new file mode 100755
index 0000000..ef2612f
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-access-list-ip-only
@@ -0,0 +1 @@
+IP address in dotted decimal notation.
diff --git a/cli/documentation/en_US/vns/vns-access-list-mac b/cli/documentation/en_US/vns/vns-access-list-mac
new file mode 100755
index 0000000..0c922c0
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-access-list-mac
@@ -0,0 +1 @@
+Filter based on source/destionation MAC addresses, ether types and VLAN IDs
diff --git a/cli/documentation/en_US/vns/vns-access-list-name b/cli/documentation/en_US/vns/vns-access-list-name
new file mode 100755
index 0000000..9005ab3
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-access-list-name
@@ -0,0 +1 @@
+The name of the access list
diff --git a/cli/documentation/en_US/vns/vns-access-list-port-hex b/cli/documentation/en_US/vns/vns-access-list-port-hex
new file mode 100755
index 0000000..f129316
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-access-list-port-hex
@@ -0,0 +1 @@
+Port number in decimal or hex if prefixed with 0x.
diff --git a/cli/documentation/en_US/vns/vns-access-list-port-op-eq b/cli/documentation/en_US/vns/vns-access-list-port-op-eq
new file mode 100755
index 0000000..1919455
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-access-list-port-op-eq
@@ -0,0 +1 @@
+Port number equals.
diff --git a/cli/documentation/en_US/vns/vns-access-list-port-op-neq b/cli/documentation/en_US/vns/vns-access-list-port-op-neq
new file mode 100755
index 0000000..bfa8296
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-access-list-port-op-neq
@@ -0,0 +1 @@
+Port number does not equal.
diff --git a/cli/documentation/en_US/vns/vns-access-list-port-type b/cli/documentation/en_US/vns/vns-access-list-port-type
new file mode 100755
index 0000000..99ef139
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-access-list-port-type
@@ -0,0 +1 @@
+Specify a port by service name
diff --git a/cli/documentation/en_US/vns/vns-access-list-priority b/cli/documentation/en_US/vns/vns-access-list-priority
new file mode 100755
index 0000000..e816770
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-access-list-priority
@@ -0,0 +1 @@
+Within a VNS access list definition, set the priority
diff --git a/cli/documentation/en_US/vns/vns-access-list-priority-example b/cli/documentation/en_US/vns/vns-access-list-priority-example
new file mode 100755
index 0000000..42f65a8
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-access-list-priority-example
@@ -0,0 +1,2 @@
+priority 100
+ Set the priority of this ACL to 100
diff --git a/cli/documentation/en_US/vns/vns-definition b/cli/documentation/en_US/vns/vns-definition
new file mode 100755
index 0000000..5bfb995
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-definition
@@ -0,0 +1,16 @@
+This submode is used to create, then describe the membership of
+devices for the named VNS. Within this submode, properties of
+the VNS can be configured. Interface-rules are configured and
+managed, which configure the membership of devices.
+
+The controller provides a VNS named 'default' to collect devices
+which are not associated with any VNS.
+
+Part of the configuration associated with a VNS includes the
+association of a particular address-space. When not speficially
+configured, the 'default' address-space is associated with the
+VNS.
+
+Each address-space also has an associated default VNS. IF the
+address space is called 'yellow', then the default VNS for this
+address space is called 'yellow-default'
diff --git a/cli/documentation/en_US/vns/vns-definition-example b/cli/documentation/en_US/vns/vns-definition-example
new file mode 100755
index 0000000..9f7d17d
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-definition-example
@@ -0,0 +1,6 @@
+vns-definition my-first-vns
+ Define a new VNS instance by name,
+ and enter the VNS definition sub-mode
+
+no vns-definition my-first-vns
+ Remove a named VNS
diff --git a/cli/documentation/en_US/vns/vns-example b/cli/documentation/en_US/vns/vns-example
new file mode 100755
index 0000000..6824e0d
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-example
@@ -0,0 +1,3 @@
+vns my-vns-definition
+ Enter VNS definition sub-mode.
+ The VNS name corresponds to a prior vns-definition identifier.
diff --git a/cli/documentation/en_US/vns/vns-id b/cli/documentation/en_US/vns/vns-id
new file mode 100755
index 0000000..37e1ed6
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-id
@@ -0,0 +1,4 @@
+This is the name of the VNS. The VNS name "default" represents the
+default VNS in the default address space. A VNS name conforming to
+"<address-space-name>-default" represents the default VNS for the
+address-space "address-space-name"
diff --git a/cli/documentation/en_US/vns/vns-interface b/cli/documentation/en_US/vns/vns-interface
new file mode 100755
index 0000000..468b0e9
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-interface
@@ -0,0 +1 @@
+Enter VNS interface submode, manage association to access lists.
diff --git a/cli/documentation/en_US/vns/vns-interface-example b/cli/documentation/en_US/vns/vns-interface-example
new file mode 100755
index 0000000..8402b9a
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-interface-example
@@ -0,0 +1,3 @@
+interface main-interface
+ Enter the VNS interface configuration sub-mode.
+ The interface is named based on a corresponding interface-rule specifier.
diff --git a/cli/documentation/en_US/vns/vns-interface-field b/cli/documentation/en_US/vns/vns-interface-field
new file mode 100755
index 0000000..a20226d
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-interface-field
@@ -0,0 +1,2 @@
+The name of the VNS interface. Interface names are derived from
+interface-rules.
diff --git a/cli/documentation/en_US/vns/vns-show-interface b/cli/documentation/en_US/vns/vns-show-interface
new file mode 100755
index 0000000..1be8e6b
--- /dev/null
+++ b/cli/documentation/en_US/vns/vns-show-interface
@@ -0,0 +1,2 @@
+Show VNS interfaces associated with this VNS and its state and
+configuration.