Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
docs: Small changes to plugin, updated the requirements
[vpp.git]
/
docs
/
gettingstarted
/
developers
/
add_plugin.rst
diff --git
a/docs/gettingstarted/developers/add_plugin.rst
b/docs/gettingstarted/developers/add_plugin.rst
index
eb9113a
..
16952e8
100644
(file)
--- a/
docs/gettingstarted/developers/add_plugin.rst
+++ b/
docs/gettingstarted/developers/add_plugin.rst
@@
-9,20
+9,20
@@
Overview
________
This section shows how a VPP developer can create a new plugin, and
________
This section shows how a VPP developer can create a new plugin, and
-add it to VPP.
+add it to VPP.
We assume that we are starting from the VPP <top-of-workspace>.
As an example, we will use the **make-plugin.sh** tool found in
As an example, we will use the **make-plugin.sh** tool found in
-**.
..
/extras/emacs**. make-plugin.sh is a simple wrapper for a comprehensive
+**./extras/emacs**. make-plugin.sh is a simple wrapper for a comprehensive
plugin generator constructed from a set of emacs-lisp skeletons.
Create your new plugin
----------------------
plugin generator constructed from a set of emacs-lisp skeletons.
Create your new plugin
----------------------
-Change directory to **.
..
/src/plugins**, and run the plugin generator:
+Change directory to **./src/plugins**, and run the plugin generator:
.. code-block:: console
.. code-block:: console
- $ cd .
..
/src/plugins
+ $ cd ./src/plugins
$ ../../extras/emacs/make-plugin.sh
<snip>
Loading /scratch/vpp-docs/extras/emacs/tunnel-c-skel.el (source)...
$ ../../extras/emacs/make-plugin.sh
<snip>
Loading /scratch/vpp-docs/extras/emacs/tunnel-c-skel.el (source)...
@@
-63,7
+63,7
@@
Here are the generated files. We'll go through them in a moment.
.. code-block:: console
.. code-block:: console
- $ cd .
../src/plugins
/myplugin
+ $ cd ./myplugin
$ ls
CMakeLists.txt myplugin.c myplugin_periodic.c setup.pg
myplugin_all_api_h.h myplugin.h myplugin_test.c
$ ls
CMakeLists.txt myplugin.c myplugin_periodic.c setup.pg
myplugin_all_api_h.h myplugin.h myplugin_test.c
@@
-191,11
+191,16
@@
instance of this data structure.
You can enable or disable specific vpp plugins from the command
line. By default, plugins are loaded. To change that behavior, set
You can enable or disable specific vpp plugins from the command
line. By default, plugins are loaded. To change that behavior, set
-default_disabled in the
vlib_plugin_macro
:
+default_disabled in the
macro VLIB_PLUGIN_REGISTER
:
.. code-block:: console
.. code-block:: console
- .default_disabled = 1
+ VLIB_PLUGIN_REGISTER () =
+ {
+ .version = VPP_BUILD_VER,
+ .default_disabled = 1
+ .description = "myplugin plugin description goes here",
+ };
The boilerplate generator places the graph node dispatch function
onto the "device-input" feature arc. This may or may not be useful.
The boilerplate generator places the graph node dispatch function
onto the "device-input" feature arc. This may or may not be useful.
@@
-273,3
+278,7
@@
vlib_plugin_get_symbol(...) API:
void *p = vlib_get_plugin_symbol ("plugin_name", "symbol");
void *p = vlib_get_plugin_symbol ("plugin_name", "symbol");
+More Examples
+-------------
+
+For more information you can read many example plugins in the directory "./src/plugins".