Change-Id: I3c05a28991d01e726d4fa8580a720359a2d4ce91
Signed-off-by: jdenisco <jdenisco@cisco.com>
-alabaster==0.7.10
-argh==0.26.2
-Babel==2.5.3
-backports-abc==0.5
-certifi==2018.1.18
+alabaster==0.7.12
+Babel==2.6.0
+certifi==2018.10.15
chardet==3.0.4
CommonMark==0.5.4
chardet==3.0.4
CommonMark==0.5.4
-futures==3.2.0; python_version < '3.0'
-idna==2.6
-imagesize==1.0.0
+idna==2.7
+imagesize==1.1.0
-packaging==17.1
-pathtools==0.1.2
-pbr==4.0.2
-pluggy==0.6.0
-port-for==0.3.1
-py==1.5.3
-pyparsing==2.2.0
-pytz==2018.4
-PyYAML==3.12
+pyparsing==2.3.0
+pytz==2018.7
recommonmark==0.4.0
requests==2.20.0
recommonmark==0.4.0
requests==2.20.0
-restructuredtext-lint==1.1.3
-singledispatch==3.4.0.3
six==1.11.0
snowballstemmer==1.2.1
six==1.11.0
snowballstemmer==1.2.1
-Sphinx==1.7.2
-sphinx-autobuild==0.7.1
-sphinx-bootstrap-theme==0.6.5
-sphinx-rtd-theme==0.3.0
-sphinxcontrib-httpdomain==1.6.1
-sphinxcontrib-websupport==1.0.1
-stevedore==1.28.0
-tornado==5.0.2
-tox==3.0.0
-typing==3.6.4
-urllib3==1.22
-virtualenv==15.2.0
-watchdog==0.8.3
+Sphinx==1.8.1
+sphinx-rtd-theme==0.4.2
+sphinxcontrib-websupport==1.1.0
+typing==3.6.6
+urllib3==1.24
________
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. 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:
$ ../../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)...
- $ cd .../src/plugins/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
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:
+ 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.
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".
building
running_vpp
gdb_examples
building
running_vpp
gdb_examples
gitreview
softwarearchitecture
infrastructure
gitreview
softwarearchitecture
infrastructure
binary_api_support
buildsystem/index.rst
eventviewer
binary_api_support
buildsystem/index.rst
eventviewer
# sudo bash
# vppctl show interface
# sudo bash
# vppctl show interface
Name Idx State Counter Count
TenGigabitEthernet86/0/0 1 up rx packets 6569213
rx bytes 9928352943
Name Idx State Counter Count
TenGigabitEthernet86/0/0 1 up rx packets 6569213
rx bytes 9928352943
- __/ __/ _ \ (_)__ | | / / _ \/ _ \
- _/ _// // / / / _ \ | |/ / ___/ ___/
- /_/ /____(_)_/\___/ |___/_/ /_/
-
vpp# show interface
Name Idx State Counter Count
TenGigabitEthernet86/0/0 1 up rx packets 6569213
vpp# show interface
Name Idx State Counter Count
TenGigabitEthernet86/0/0 1 up rx packets 6569213
ip/index.rst
show/index.rst
trace/index.rst
ip/index.rst
show/index.rst
trace/index.rst
- vhost/index.rst
\ No newline at end of file