Remove p4plugin docs 51/92051/1
authorThanh Ha <zxiiro@gmail.com>
Tue, 11 Aug 2020 17:37:27 +0000 (13:37 -0400)
committerThanh Ha <zxiiro@gmail.com>
Tue, 11 Aug 2020 17:41:21 +0000 (13:41 -0400)
This project hasn't been active since the Oxygen release so remove from
the docs project.

Issue: DOCS-128
Change-Id: I9f39638424be1e2508d3acc1e9e3a7ea6dc11dd6
Signed-off-by: Thanh Ha <zxiiro@gmail.com>
docs/developer-guide/index.rst
docs/developer-guide/p4plugin-developer-guide.rst [deleted file]
docs/user-guide/index.rst
docs/user-guide/p4plugin-user-guide.rst [deleted file]

index 941b3fa5f5b83b45d849fe458120238baff1d6a8..af8aead439e2559f50c02091ab217094e1ee116f 100644 (file)
@@ -30,5 +30,4 @@ Project-specific Developer Guides
    neutron-service-developer-guide
    neutron-northbound
    odl-parent-developer-guide
-   p4plugin-developer-guide
    yang-tools
diff --git a/docs/developer-guide/p4plugin-developer-guide.rst b/docs/developer-guide/p4plugin-developer-guide.rst
deleted file mode 100644 (file)
index bf76382..0000000
+++ /dev/null
@@ -1,301 +0,0 @@
-.. _p4plugin-dev-guide:
-
-P4 Plugin Developer Guide
-=========================
-
-P4 Plugin Architecture
-----------------------
-
--  **Netconf-Adapter**
-
-   -  Responsible for device connection, interface resource collection, and
-      providing gRPC server information to P4Runtime client.
-
--  **Runtime**
-
-   -  Implements a gRPC client, more precisely a P4Runtime client, that provides
-      several RPCs for users at runtime.
-   -  Supports setting and retrieving forwarding pipeline configuration
-      dynamically; adding or removing multiple devices; setting up a controller
-      cluster; adding, modifying, or deleting table entries; adding, modifying,
-      or deleting action profile members, adding, modifying, or deleting action
-      profile groups, and setting packet-in/packet-out.
-
-
-APIs in P4 Plugin
------------------
-
-The sections below give details about the configuration settings for
-the components that can be configured.
-
-Netconf Adapter
-~~~~~~~~~~~~~~~
-
-API Description
-^^^^^^^^^^^^^^^
-
--  p4plugin/adapter/netconf-adapter/api/src/main/yang/p4plugin-netconf-adapter-api.yang
-
-   -  **write-inventory**
-
-      -  Write the collecting interface resource to inventory data store.
-
-   -  **read-inventory**
-
-      -  Acquire the interface resource from inventory data store.
-
-
-Runtime
-~~~~~~~
-
-API Description
-^^^^^^^^^^^^^^^
-
--  p4plugin/runtime/api/src/main/yang/p4plugin-device.yang
-
-   -  **add-device**
-
-      -  Add a P4 device. Users need to provide node ID, device ID, gRPC server
-         address, configuration file path, and runtime file path as input.
-
-         In the following scenario, users must catch and handle the exception:
-         If node ID or P4 target address (device ID and gRPC server address)
-         already exists, parsing the configuration file and runtime file causes
-         an exception, such as IOException.
-
-   -  **remove-device**
-
-      -  Remove a P4 device from local list.
-
-   -  **query-devices**
-
-      -  Query how many devices are there currently, and return a list that
-         contains node IDs.
-
-   -  **connect-to-device**
-
-      -  Open the stream channel, which is for packet-in and packet-out, and
-         send master arbitration update message right after the stream
-         channel is created. The returned value is the connection state.
-
-   -  **set-pipeline-config**
-
-      -  Set forwarding pipeline configuration to a specific device through the
-         gRPC channel, and input the node ID associated with the device.
-
-   -  **get-pipeline-config**
-
-      -  Get forwarding pipeline configuration, input the node ID associated,
-         and return a string that is the content of the runtime file.
-
-
--  p4plugin/core/api/src/main/yang/p4plugin-runtime.yang
-
-   -  **add-table-entry**
-
-      -  Add entry to a specific device. Users must provide parameters such as
-         table name; action name and action parameters; match field name and
-         match field value; and so on. The node ID must also be provided.
-
-   -  **modify-table-entry**
-
-      -  Modify an existing entry to a specific device. The parameters are
-         the same as the ``add-table-entry`` method.
-
-   -  **delete-table-entry**
-
-      -  Delete an existing entry from a specific device. When deleting entries,
-         users only need to provide table name and match field information;
-         no action information is required.
-
-   -  **add-action-profile-member**
-
-      -  Add a member to a profile. User must provide member ID.
-
-   -  **modify-action-profile-member**
-
-      -  Modify a member that already exists in a profile.
-
-   -  **delete-action-profile-member**
-
-      -  Delete a member that already exists in a profile.
-
-   -  **add-action-profile-group**
-
-      -  Add a group to a profile.
-
-   -  **modify-action-profile-group**
-
-      -  Modify a group that already exists in a profile.
-
-   -  **delete-action-profile-group**
-
-      -  Delete a group that already exists in a profile.
-
-   -  **read-table-entry**
-
-      -  Read an entry from a specific device, input node ID, and table name;
-         and output a JSON string. The returned value is Base64 encoded.
-
-   -  **read-action-profile-member**
-
-      -  Read the members of an action profile, input node ID, and action
-         profile name; and output a JSON string. The returned value is Base64
-         encoded.
-
-   -  **read-action-profile-group**
-
-      -  Read the action profile groups of an action profile, input node ID
-         and action profile name; and output a JSON string. The returned value
-         is Base64 encoded.
-
-
--  p4plugin/core/api/src/main/yang/p4plugin-packet.yang
-
-   -  **p4-transmit-packet**
-
-      -  Transmit a packet to a specific P4 device.
-
-   -  **p4-packet-received**
-
-      -  Receive a packet from P4 device.
-
-
--  p4plugin/core/api/src/main/yang/p4plugin-cluster.yang
-
-   -  **set-election-id**
-
-      -  Set the election ID. For more information about the election IDs and
-         and their meaning, refer to the following URL:
-         https://github.com/p4lang/PI/blob/dc2f4c6cce86e310055677c8b18831fd8f6d1f2c/proto/docs/arbitration.md
-
-         When a new election ID is set, it sends master arbitration update
-         messages to all devices it connected.
-
-   -  **get-election-id**
-
-      -  Get current election ID.
-
-
-Sample Configurations
----------------------
-
-1. Write Inventory
-~~~~~~~~~~~~~~~~~~
-
-**REST API** : *POST /restconf/operations/p4plugin-netconf-adapter-api:write-inventory*
-
-**Sample JSON Data**
-
-.. code:: json
-
-    {
-         "input": {
-
-        }
-    }
-
-
-2. Add device
-~~~~~~~~~~~~~
-
-**REST API** : *POST /restconf/operations/p4plugin-device:add-device*
-
-**Sample JSON Data**
-
-.. code:: json
-
-    {
-        "input": {
-            "nid": "node0",
-             "config-file-path": "/home/opendaylight/p4lang/behavioral-model/mininet/simple_router.json",
-             "runtime-file-path": "/home/opendaylight/p4lang/behavioral-model/mininet/simple_router.proto.txt",
-             "did": "0",
-             "ip": "10.42.94.144",
-             "port": "50051"
-        }
-    }
-
-
-3. Connect to device
-~~~~~~~~~~~~~~~~~~~~
-
-**REST API** : *POST /restconf/operations/p4plugin-device:connect-to-device*
-
-**Sample JSON Data**
-
-.. code:: json
-
-    {
-        "input": {
-             "nid": "node0"
-         }
-    }
-
-
-4. Set pipeline config
-~~~~~~~~~~~~~~~~~~~~~~
-
-**REST API** : *POST /restconf/operations/p4plugin-device:set-pipeline-config*
-
-**Sample JSON Data**
-
-.. code:: json
-
-    {
-        "input": {
-            "nid": "node0"
-        }
-    }
-
-5. Add table entry
-~~~~~~~~~~~~~~~~~~
-
-**REST API** : *POST /restconf/operations/p4plugin-runtime:add-table-entry*
-
-**Sample JSON Data**
-
-.. code:: json
-
-    {
-        "input": {
-            "action-name": "set_nhop",
-             "action-param": [
-                 {
-                     "param-name": "nhop_ipv4",
-                     "param-value": "10.0.0.10"
-                 },
-                 {
-                       "param-name": "port",
-                     "param-value": "1"
-                 }
-             ],
-             "priority": "0",
-             "controller-metadata": "0",
-             "table-name": "ipv4_lpm",
-             "field": [
-                 {
-                     "field-name": "ipv4.dstAddr",
-                     "lpm-value": "10.0.0.0",
-                     "prefix-len": "24"
-                 }
-             ],
-             "nid": "node0"
-        }
-    }
-
-6. Read table entry
-~~~~~~~~~~~~~~~~~~~
-
-**REST API** : *POST /restconf/operations/p4plugin-runtime:read-table-entry*
-
-**Sample JSON Data**
-
-.. code:: json
-
-    {
-        "input": {
-            "table-name": "ipv4_lpm",
-             "nid": "node0"
-        }
-    }
index cff5df95f37724b8f03afcea054a2bd95697bdff..91f0d0bb855cf4399c1f0bb9bee67a8848c58be3 100644 (file)
@@ -26,7 +26,6 @@ Project-specific User Guides
 
    distribution-version-user-guide
    neutron-service-user-guide
-   p4plugin-user-guide
 
 .. toctree::
    :hidden:
diff --git a/docs/user-guide/p4plugin-user-guide.rst b/docs/user-guide/p4plugin-user-guide.rst
deleted file mode 100644 (file)
index 8c74906..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-.. _p4plugin-user-guide:
-
-P4 Plugin User Guide
-====================
-
-Overview
---------
-
-P4 is a high-level language for expressing how packets are processed by the pipeline
-of a network forwarding element such as a switch, network processing units, software
-switches (bmv2), etc. P4 itself is protocol independent but allows for the expression
-of forwarding plane protocols. It is based upon an abstract forwarding model called PISA
-(Protocol Independent Switch Architecture). In the Oxygen release, the P4 Plugin project
-is aimed to provide basic functions for P4 targets, such as channel and device management,
-table population, packet-in and packet-out process, etc.
-
-
-P4 Plugin User-Facing Features
-------------------------------
--  **odl-p4plugin-all**
-
-   -  This feature contains all other features/bundles of P4 Plugin project. If you
-      install it, it provides all functions that the P4 Plugin project can support.
-
--  **odl-p4plugin-runtime**
-
-   -  This feature provides a function which implements a gRPC client that provides RPCs
-      for users, such as setting and retrieving forwarding pipeline config dynamically,
-      complete table entry population entry and packet out procedures, etc.
-
--  **odl-p4plugin-netconf-adapter**
-
-   -  This feature mainly provides function about collecting device resource.
-
-
-How To Start
--------------
-
-Preparing for Installation
-~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-1. Forwarding devices must support NETCONF, so that OpenDaylight can connect to them
-   and collect resoures via NETCONF.
-
-2. Forwarding devices must support gRpc and run P4 program, so that OpenDaylight
-   can set the forwarding pipeline config, complete table entry population and packet
-   in/out procedure, etc.
-
-
-
-Installation Feature
-~~~~~~~~~~~~~~~~~~~~
-
-Run OpenDaylight and install P4 Plugin Service *odl-p4plugin-all* as shown below:
-
-   feature:install odl-p4plugin-all
-
-For a more detailed overview of the P4 Plugin, see the :ref:`p4plugin-dev-guide`.