Remove genius user-guide 96/75896/1
authorThanh Ha <thanh.ha@linuxfoundation.org>
Sun, 9 Sep 2018 01:41:33 +0000 (21:41 -0400)
committerThanh Ha <thanh.ha@linuxfoundation.org>
Sun, 9 Sep 2018 01:44:43 +0000 (21:44 -0400)
Genius docs are now in their repo so we no longer need to maintain
them in docs.

Change-Id: I47627afa3bf6abce4ac2fdf6ee1f66043e97ea21
Signed-off-by: Thanh Ha <thanh.ha@linuxfoundation.org>
docs/user-guide/genius-user-guide.rst [deleted file]
docs/user-guide/index.rst

diff --git a/docs/user-guide/genius-user-guide.rst b/docs/user-guide/genius-user-guide.rst
deleted file mode 100644 (file)
index 1385ebb..0000000
+++ /dev/null
@@ -1,572 +0,0 @@
-.. _genius-user-guide:
-
-Genius User Guide
-=================
-
-Overview
---------
-
-The Genius project provides generic network interfaces, utilities and
-services. Any OpenDaylight application can use these to achieve
-interference-free co-existence with other applications using Genius.
-
-Modules and Interfaces
-----------------------
-
-In the first phase delivered in OpenDaylight Boron release, Genius
-provides following modules —
-
--  Modules providing a common view of network interfaces for different
-   services
-
-   -  **Interface (logical port) Manager**
-
-      -  *Allows bindings/registration of multiple services to logical
-         ports/interfaces*
-
-      -  *Ability to plug in different types of southbound protocol
-         renderers*
-
-   -  **Overlay Tunnel Manager**
-
-      -  *Creates and maintains overlay tunnels between configured
-         Tunnel Endpoints (TEPs)*
-
--  Modules providing commonly used functions as shared services to avoid
-   duplication of code and waste of resources
-
-   -  **Liveness Monitor**
-
-      -  *Provides tunnel/nexthop liveness monitoring services*
-
-   -  **ID Manager**
-
-      -  *Generates persistent unique integer IDs*
-
-   -  **MD-SAL Utils**
-
-      -  *Provides common generic APIs for interaction with MD-SAL*
-
-Interface Manager Operations
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Creating interfaces
-^^^^^^^^^^^^^^^^^^^
-
-The YANG file Data Model
-`odl-interface.yang <https://github.com/opendaylight/genius/blob/master/interfacemanager/interfacemanager-api/src/main/yang/odl-interface.yang>`__
-contains the interface configuration data-model.
-
-You can create interfaces at the MD-SAL Data Node Path
-**/config/if:interfaces/interface**, with the following attributes — 
-
-***Common attributes***
-
--  **name** — unique interface name, can be any unique string (e.g.,
-   UUID string)
-
--  **type** — interface type, currently supported *iana-if-type:l2vlan
-   and iana-if-type:tunnel*
-
--  **enabled** — admin status, possible values *true* or *false*
-
--  **parent-refs** : used to specify references to parent interface/port
-   feeding to this interface
-
--  datapath-node-identifier — identifier for a fixed/physical dataplane
-   node, can be physical switch identifier
-
--  parent-interface — can be a physical switch port (in conjunction of
-   above), virtual switch port (e.g., neutron port) or another interface
-
--  list node-identifier — identifier of the dependant underlying
-   configuration protocol
-
-   -  *topology-id* — can be ovsdb configuration protocol
-
-   -  *node-id* — can be hwvtep node-id
-
-***Type specific attributes***
-
--  when type = l2vlan
-
-   -  **vlan-id** — VLAN id for trunk-member l2vlan interfaces
-
-   -  **l2vlan-mode** — currently supported ones are *transparent*,
-      *trunk* or *trunk-member*
-
--  when type = stacked\_vlan (Not supported yet)
-
-   -  **stacked-vlan-id** — VLAN-Id for additional/second VLAN tag
-
--  when type = tunnel
-
-   -  **tunnel-interface-type** — tunnel type, currently supported ones
-      are:
-
-      -  tunnel-type-vxlan
-
-      -  tunnel-type-gre
-
-      -  tunnel-type-mpls-over-gre
-
-   -  **tunnel-source** — tunnel source IP address
-
-   -  **tunnel-destination** — tunnel destination IP address
-
-   -  **tunnel-gateway** — gateway IP address
-
-   -  **monitor-enabled** — tunnel monitoring enable control
-
-   -  **monitor-interval** — tunnel monitoring interval in millisiconds
-
--  when type = mpls (Not supported yet)
-
-   -  **list labelStack** — list of lables
-
-   -  **num-labels** — number of lables configured
-
-Supported REST calls are **GET, PUT, DELETE, POST**
-
-Creating L2 port interfaces
-'''''''''''''''''''''''''''
-
-Interfaces on normal L2 ports (e.g. Neutron tap ports) are created with
-type *l2vlan* and *l2vlan-mode* as *transparent*. This type of interface
-classifies packets passing through a particular L2 (OpenFlow) port. In
-dataplane, packets belonging to this interface are classified by
-matching in-port against the of-port-id assigned to the base port as
-specified in parent-interface.
-
-**URL:** /restconf/config/ietf-interfaces:interfaces
-
-**Sample JSON data**
-
-::
-
-    "interfaces": {
-        "interface": [
-            {
-                "name": "4158408c-942b-487c-9a03-0b603c39d3dd",
-                "type": "iana-if-type:l2vlan",                       <--- interface type 'l2vlan' for normal L2 port
-                "odl-interface:l2vlan-mode": "transparent",          <--- 'transparent' VLAN port mode allows any (tagged, untagged) ethernet packet
-                "odl-interface:parent-interface": "tap4158408c-94",  <--- port-name as it appears on southbound interface
-                "enabled": true
-            }
-        ]
-    }
-
-Creating VLAN interfaces
-^^^^^^^^^^^^^^^^^^^^^^^^
-
-A VLAN interface is created as a *l2vlan* interface in *trunk-member*
-mode, by configuring a VLAN-Id and a particular L2 (vlan trunk)
-interface. Parent VLAN trunk interface is created in the same way as the
-*transparent* interface as specified above. A *trunk-member* interface
-defines a flow on a particular L2 port and having a particular VLAN tag.
-On ingress, after classification the VLAN tag is popped out and
-corresponding unique dataplane-id is associated with the packet, before
-delivering the packet to service processing. When a service module
-delivers the packet to this interface for egress, it pushes
-corresponding VLAN tag and sends the packet out of the parent L2 port.
-
-**URL:** /restconf/config/ietf-interfaces:interfaces
-
-**Sample JSON data**
-
-::
-
-    "interfaces": {
-        "interface": [
-            {
-                "name": "4158408c-942b-487c-9a03-0b603c39d3dd:100",
-                "type": "iana-if-type:l2vlan",
-                "odl-interface:l2vlan-mode": "trunk-member",        <--- for 'trunk-member', flow is classified with particular vlan-id on an l2 port
-                "odl-interface:parent-interface": "4158408c-942b-487c-9a03-0b603c39d3dd",  <--- Parent 'trunk' iterface name
-                "odl-interface:vlan-id": "100",
-                "enabled": true
-            }
-        ]
-    }
-
-Creating Overlay Tunnel Interfaces
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-An overlay tunnel interface is created with type *tunnel* and particular
-*tunnel-interface-type*. Tunnel interfaces are created on a particular
-data plane node (virtual switches) with a pair of (local, remote) IP
-addresses. Currently supported tunnel interface types are VxLAN, GRE and
-MPLSoverGRE.
-
-**URL:** /restconf/config/ietf-interfaces:interfaces
-
-**Sample JSON data**
-
-::
-
-    "interfaces": {
-        "interface": [
-            {
-                "name": "MGRE_TUNNEL:1",
-                "type": "iana-if-type:tunnel",
-                "odl-interface:tunnel-interface-type": "odl-interface:tunnel-type-mpls-over-gre",
-                "odl-interface:datapath-node-identifier": 156613701272907,
-                "odl-interface:tunnel-source": "11.0.0.43",
-                "odl-interface:tunnel-destination": "11.0.0.66",
-                "odl-interface:monitor-enabled": false,
-                "odl-interface:monitor-interval": 10000,
-                "enabled": true
-            }
-        ]
-    }
-
-.. _genius-user-guide-binding-services:
-
-Binding services on interface
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-The YANG file
-`odl-interface-service-bindings.yang <https://github.com/opendaylight/genius/blob/stable/boron/interfacemanager/interfacemanager-api/src/main/yang/odl-interface-service-bindings.yang>`__
-contains the service binding configuration data model.
-
-An application can bind services to a particular interface by
-configuring MD-SAL data node at path /config/interface-service-binding.
-Binding services on interface allows particular service to pull traffic
-arriving on that interface depending upon the service priority.
-Service modules can specify openflow-rules to be applied on the packet
-belonging to the interface. Usually these rules include sending the
-packet to specific service table/pipeline. Service modules are
-responsible for sending the packet back (if not consumed) to service
-dispatcher table, for next service to process the packet.
-
-**URL:**/restconf/config/interface-service-bindings:service-bindings/
-
-**Sample JSON data**
-
-::
-
-    "service-bindings": {
-      "services-info": [
-        {
-          "interface-name": "4152de47-29eb-4e95-8727-2939ac03ef84",
-          "bound-services": [
-            {
-              "service-name": "ELAN",
-              "service-type": "interface-service-bindings:service-type-flow-based"
-              "service-priority": 3,
-              "flow-priority": 5,
-              "flow-cookie": 134479872,
-              "instruction": [
-                {
-                  "order": 2,
-                  "go-to-table": {
-                    "table_id": 50
-                  }
-                },
-                {
-                  "order": 1,
-                  "write-metadata": {
-                    "metadata": 83953188864,
-                    "metadata-mask": 1099494850560
-                  }
-                }
-              ],
-            },
-            {
-             "service-name": "L3VPN",
-             "service-type": "interface-service-bindings:service-type-flow-based"
-             "service-priority": 2,
-             "flow-priority": 10,
-             "flow-cookie": 134217729,
-             "instruction": [
-                {
-                  "order": 2,
-                  "go-to-table": {
-                    "table_id": 21
-                  }
-                },
-                {
-                  "order": 1,
-                  "write-metadata": {
-                    "metadata": 100,
-                    "metadata-mask": 4294967295
-                  }
-                }
-              ],
-            }
-          ]
-        }
-      ]
-    }
-
-Interface Manager RPCs
-~~~~~~~~~~~~~~~~~~~~~~
-
-In addition to the above defined configuration interfaces, Interface
-Manager also provides several RPCs to access interface operational data
-and other helpful information. Interface Manger RPCs are defined in
-`odl-interface-rpc.yang <https://github.com/opendaylight/genius/blob/stable/boron/interfacemanager/interfacemanager-api/src/main/yang/odl-interface-rpc.yang>`__
-
-The following RPCs are available — 
-
-get-dpid-from-interface
-^^^^^^^^^^^^^^^^^^^^^^^
-
-This RPC is used to retrieve dpid/switch hosting the root port from
-given interface name.
-
-::
-
-    rpc get-dpid-from-interface {
-        description "used to retrieve dpid from interface name";
-        input {
-            leaf intf-name {
-                type string;
-            }
-        }
-        output {
-            leaf dpid {
-                type uint64;
-            }
-        }
-    }
-
-get-port-from-interface
-^^^^^^^^^^^^^^^^^^^^^^^
-
-This RPC is used to retrieve south bound port attributes from the
-interface name.
-
-::
-
-    rpc get-port-from-interface {
-        description "used to retrieve south bound port attributes from the interface name";
-        input {
-            leaf intf-name {
-                type string;
-            }
-        }
-        output {
-            leaf dpid {
-                type uint64;
-            }
-            leaf portno {
-                type uint32;
-            }
-            leaf portname {
-                type string;
-            }
-        }
-    }
-
-get-egress-actions-for-interface
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This RPC is used to retrieve group actions to use from interface name.
-
-::
-
-    rpc get-egress-actions-for-interface {
-        description "used to retrieve group actions to use from interface name";
-        input {
-            leaf intf-name {
-                type string;
-                mandatory true;
-            }
-            leaf tunnel-key {
-                description "It can be VNI for VxLAN tunnel ifaces, Gre Key for GRE tunnels, etc.";
-                type uint32;
-                mandatory false;
-            }
-        }
-        output {
-            uses action:action-list;
-        }
-    }
-
-get-egress-instructions-for-interface
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This RPC is used to retrieve flow instructions to use from interface
-name.
-
-::
-
-    rpc get-egress-instructions-for-interface {
-        description "used to retrieve flow instructions to use from interface name";
-        input {
-            leaf intf-name {
-                type string;
-                mandatory true;
-            }
-            leaf tunnel-key {
-                description "It can be VNI for VxLAN tunnel ifaces, Gre Key for GRE tunnels, etc.";
-                type uint32;
-                mandatory false;
-            }
-        }
-        output {
-            uses offlow:instruction-list;
-        }
-    }
-
-get-endpoint-ip-for-dpn
-^^^^^^^^^^^^^^^^^^^^^^^
-
-This RPC is used to get the local ip of the tunnel/trunk interface on a
-particular DPN (Data Plane Node).
-
-::
-
-    rpc get-endpoint-ip-for-dpn {
-        description "to get the local ip of the tunnel/trunk interface";
-        input {
-            leaf dpid {
-                type uint64;
-            }
-        }
-        output {
-            leaf-list local-ips {
-                type inet:ip-address;
-            }
-        }
-    }
-
-get-interface-type
-^^^^^^^^^^^^^^^^^^
-
-This RPC is used to get the type of the interface (vlan/vxlan or gre).
-
-::
-
-    rpc get-interface-type {
-    description "to get the type of the interface (vlan/vxlan or gre)";
-        input {
-            leaf intf-name {
-                type string;
-            }
-        }
-        output {
-            leaf interface-type {
-                type identityref {
-                    base if:interface-type;
-                }
-            }
-        }
-    }
-
-get-tunnel-type
-^^^^^^^^^^^^^^^
-
-This RPC is used to get the type of the tunnel interface(vxlan or gre).
-
-::
-
-    rpc get-tunnel-type {
-    description "to get the type of the tunnel interface (vxlan or gre)";
-        input {
-            leaf intf-name {
-                type string;
-            }
-        }
-        output {
-            leaf tunnel-type {
-                type identityref {
-                    base odlif:tunnel-type-base;
-                }
-            }
-        }
-    }
-
-get-nodeconnector-id-from-interface
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This RPC is used to get node-connector-id associated with an interface.
-
-::
-
-    rpc get-nodeconnector-id-from-interface {
-    description "to get nodeconnector id associated with an interface";
-        input {
-            leaf intf-name {
-                type string;
-            }
-        }
-        output {
-            leaf nodeconnector-id {
-                type inv:node-connector-id;
-            }
-        }
-    }
-
-get-interface-from-if-index
-^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This RPC is used to get interface associated with an if-index (dataplane
-interface id).
-
-::
-
-    rpc get-interface-from-if-index {
-        description "to get interface associated with an if-index";
-            input {
-                leaf if-index {
-                    type int32;
-                }
-            }
-            output {
-                leaf interface-name {
-                    type string;
-                }
-            }
-        }
-
-create-terminating-service-actions
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This RPC is used to create the tunnel termination service table entries.
-
-::
-
-    rpc create-terminating-service-actions {
-    description "create the ingress terminating service table entries";
-        input {
-             leaf dpid {
-                 type uint64;
-             }
-             leaf tunnel-key {
-                 type uint64;
-             }
-             leaf interface-name {
-                 type string;
-             }
-             uses offlow:instruction-list;
-        }
-    }
-
-remove-terminating-service-actions
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-
-This RPC is used to remove the tunnel termination service table entries.
-
-::
-
-    rpc remove-terminating-service-actions {
-    description "remove the ingress terminating service table entries";
-        input {
-             leaf dpid {
-                 type uint64;
-             }
-             leaf interface-name {
-                 type string;
-             }
-             leaf tunnel-key {
-                 type uint64;
-             }
-        }
-    }
-
-ID Manager
-----------
-
-TBD.
index 9574f4676339243897e0b4e7c709bbaf436f1fb4..0a700fbffa457640d04127f885190c3a4c3c728f 100644 (file)
@@ -35,7 +35,6 @@ Project-specific User Guides
    didm-user-guide
    eman-user-guide
    fabric-as-a-service
-   genius-user-guide
    group-based-policy-user-guide
    jsonrpc-user-guide
    l2switch-user-guide