42 Commits

Author SHA1 Message Date
Ole Troan
a5ee900fb7 Python API: Add enum and union support.
As well as a rewrite of the encoders/decoders to make it more readable and extensible.

Change-Id: I253369ac76303922bf9c11377622c8974fa92f19
Signed-off-by: Ole Troan <ot@cisco.com>
2018-06-17 15:21:00 +00:00
Damjan Marion
c0c919c6fa Add src/vlib/config.h.in template
Change-Id: I9b81dcb9250cab09b88f161366da9475a7ee5dd6
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-05-31 00:02:24 +00:00
Damjan Marion
55f99675e5 remove bootstrap from top-level Makefile
Change-Id: I9f2a1ba9153ff57958b230a1ba2afeb9df50fd45
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-03-15 22:14:55 +01:00
Damjan Marion
92b44ea50a use system provided ccache links
Change-Id: I0860bbd0cf368fc3638b861504ebf642ee9d3807
Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-03-15 02:09:05 +01:00
Keith Burns (alagalah)
df41cf62d8 Update gitignore for cmake
Change-Id: Icd50432a60e194c0526a7d28b93e99ceb6f2013b
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2018-02-07 21:23:20 +00:00
Keith Burns (alagalah)
e1584a6c5d Ignore core files
Change-Id: I7ffaceb992d12fd255fe8a608b0493c2993c18c2
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2017-12-15 02:22:35 +00:00
Renato Botelho do Couto
e266ea3795 Optimize RPM build process
* Remove unused variable OS_VERSION_ID
* Do all RPM building in build-root/rpmbuild
* Add build-root/rpmbuild to .gitignore
* Move redundant code to a target called 'spec'
* Copy spec file to SPECS instead of SOURCES
* Only set %{_topdir} macro when it's undefined, and because of that
  remove sed call to delete definition on spec file
* Pass _version and _release using --define parameter instead of using
  sed to add them to .spec
* Move rpm files to build-root after build finishes
* Add dist tarball to .gitignore

Change-Id: I230d60b62914056b353f7f8701d14754b0bf7f8c
Signed-off-by: Renato Botelho do Couto <renato@netgate.com>
2017-12-04 11:36:28 +00:00
Neale Ranns
812ed39f9d VPP Object Model (VOM)
The VOM is a C++ library for use by clients/agents of VPP for programming
state. It uses the binary APIs to do so. Various other common client side
functions are also provided. Please see om.hpp for a more detailed description.

Change-Id: Ib756bfe99817093815a9e26ccf464aa5583fc523
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Co-authored-by: Mohsin Kazmi <sykazmi@cisco.com>
2017-11-01 09:28:06 +00:00
Klement Sekera
8f2a4eafea Add new C API
Change-Id: I717ce3cd7c867c155de149ec56623269d26d0ff7
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2017-09-19 12:23:44 +00:00
Keith Burns (alagalah)
516bcfe904 gitignore update for IDE
Change-Id: I95096e8d507f9bcb0f808d0da0355655b474d29a
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2017-09-08 20:07:48 +00:00
Keith Burns (alagalah)
8a19f12a0c Allow individual stats API and introduce stats.api
- want_interface_simple_stats
- want_interface_combined_stats
- want_ip4|6_fib|nbr_stats

Change-Id: I4e97461def508958b3e429c3fe8859b36fef2d18
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2017-09-07 22:12:31 +00:00
Keith Burns (alagalah)
0edbef74f0 Add .pybuild to gitignore
Change-Id: I4467a30ec1beff67a0517619296f1a27589ff55b
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2017-08-29 19:06:13 +00:00
Keith Burns (alagalah)
6f67049e41 Update gitignore for DPDK files
Change-Id: I6c4e76d8a030ec5fafc8167873cc1471913a1e88
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2017-08-22 14:57:05 +00:00
Padraig Connolly
69915cba2d vppctl: new bash completion for vppctl commands
Bash completion for vppctl
*vppctl_completion uses generated list vppctl-cmd-list to provide bash completion
*List of commands generated using grep, then moved by vpp packaging
*Once vpp package installed restart bash to use

Change-Id: I3b25e55a432c395af421231cf7c37c2e243fee61
Signed-off-by: Padraig Connolly <padraig.connolly@intel.com>
2017-01-13 20:18:18 +00:00
Damjan Marion
cb034b9b37 Move java,lua api and remaining plugins to src/
Change-Id: I1c3b87e886603678368428ae56a6bd3327cbc90d
Signed-off-by: Damjan Marion <damarion@cisco.com>
2017-01-01 18:11:43 +01:00
Juraj Sloboda
0279b29f32 Add make test code coverage reporting using gcov
Change-Id: Ia8247841fdbe76e1d888aab49ae213b4216af273
Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2016-12-09 20:09:35 +00:00
Neale Ranns
177bbdcd8f GRE tests and fixes
Change-Id: I234240e9bdd4b69ad64a17b1449ae1e81c0edaca
Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-11-22 21:26:55 +00:00
Klement Sekera
a0bc391daf fix typo in .gitignore
Change-Id: I09c25b855c09f55da7e836e641570befead40f4f
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2016-11-01 14:18:49 +00:00
Klement Sekera
277b89c946 add vpp debugging support to test framework
improve test documentation

Change-Id: Ia9678aa2532ecb4cb33736aedb4a31aa3f2a3f93
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2016-10-31 23:48:25 +00:00
Marek Gradzki
46a4d9f2e7 Add generated python bindings to .gitignore
Change-Id: I05b5955afa9fee5dd213a98126982626eae4d9ca
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-10-25 12:18:46 +02:00
Neale Ranns
0bfe5d8c79 A Protocol Independent Hierarchical FIB (VPP-352)
Main Enhancements:
 - Protocol Independent FIB API
 - Hierarchical FIB entries. Dynamic recursive route resolution.
 - Extranet Support.
 - Integration of IP and MPLS forwarding.
 - Separation of FIB and Adjacency databases.
 - Data-Plane Object forwarding model.

Change-Id: I52dc815c0d0aa8b493e3cf6b978568f3cc82296c
Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-09-21 17:37:39 +00:00
Chris Luke
54ccf2261c VPP-221 CLI auto-documentation infrastructure
As a step before Doxygen, extract CLI-related struct initializers
from the code and parse that into a summary of the CLI commands
available with the provided help text, such as it is. At the moment
this only renders this into an indexed Markdown file that Doxygen
then picks up but later we can use this information to enrich the
existing VLIB_CLI_COMMAND macro documentor as well as provide
runtime documentation to VPP that is stored on disk outside the
binary image.

Additionally support a comment block immediately prior to
VLIB_CLI_COMMAND CLI command definitions in the form /*? ... ?*/
that can be used to include long-form documentation without having
it compiled into VPP.

Examples of documenting CLI commands can be found in
vlib/vlib/unix/cli.c which, whilst not perfect, should provide a
starting point. Screen captures of sample output can be seen at
https://chrisy.flirble.org/vpp/doxy-cli-example.png and
https://chrisy.flirble.org/vpp/doxy-cli-index.png .

Next, shift the Doxygen root makefile targets to their own Makefile.
The primary reason for this is that the siphon targets do dependency
tracking which means it needs to generate those dependencies whenever
make is run; that is pointless if we're not going to generate any
documentation. This includes the package dependencies since they since
they sometimes unnecessarily interfere with the code build in some cases
at the moment; later we will look to building a Python venv to host the
Python modules we use.

One final remark: In future we may consider deprecating .long_help
in the VLIB_CLI_COMMAND structure entirely but add perhaps .usage_help.
.short_help would be reserved for a summary of the command function
and .usage_help provide the syntax of that command. These changes would
provide great semantic value to the automaticly generated CLI
documentation. I could also see having .long_help replaced by a
mechanism that reads it from disk at runtime with a rudimentary
Markdown/Doxygen filter so that we can use the same text that is used in
the published documentation.

Change-Id: I80d6fe349b47dce649fa77d21ffec0ddb45c7bbf
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-08-31 12:56:56 +00:00
Florin Coras
459f4d61a8 VPP-364 Add vpp-api/python/build to gitignore
Change-Id: I16a594ad75c085b8d0b74cf2f472f88a655253c0
Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-08-30 13:41:13 +00:00
Ole Troan
5f9dcff39d VPP Python language binding - plugin support
- Moved Python generator tool to tools directory
- Added build-vpp-api Makefile target
- Generator now only creates a Python representation of the .api
  the rest of the framework is in the vpp_papi script
- Each plugin has its own namespace.
- Plugin Python files are installed in vpp_papi_plugins for easy
  use inside the build tree.

Change-Id: I272c83bb7e5d5e416bdbd8a790a3cc35c5a04e38
Signed-off-by: Ole Troan <ot@cisco.com>
2016-08-25 00:29:40 +00:00
Ed Warnicke
adeb749d13 Create python package for jvpp generation.
Change-Id: I2254f90b2c3e423563bb91bf70877979f1e86a6b
Signed-off-by: Ed Warnicke <eaw@cisco.com>
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-08-16 17:55:55 +00:00
Ed Warnicke
be053b87cf
VPP-237: Checkstyle script to check for new checkstyle breakage
indent is... cantankerous

It sometimes happens that if you run

indent A

resulting in A'

and then

indent A'

you get back A.  Since the check here is premised on being able
to run indent and not see any changed... we have to run it twice
to be sure.

Change-Id: I5b73e02f5996d8a01ec2e46741affbc6d62da6c9
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-08-12 13:56:29 -07:00
Keith Burns (alagalah)
66ba6c4351 Updating gitignore for generated plugins folder
Change-Id: I266db9f4667c4f720d6109fad5c4d31eb182ed30
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-07-21 15:00:07 +00:00
Keith Burns (alagalah)
e62c796b28 gitignore gtags
Change-Id: I0160cdfc8e749f875a232e07526d53a3a7c8395c
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-06-19 00:48:01 +00:00
Keith Burns (alagalah)
07929f2612 gitignore change due to DPDK download suffix change
Change-Id: Idc86d3435e742f3cb96cb9eb1d85b0fdc6a40fc5
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-06-14 16:58:58 +00:00
Chris Luke
b585097048 VPP-57 Add Doxygen to VPP
- Configures Doxygen.
- Adds a source filter to do magic on our use of the preprocessor to do
  constructor stuff to make Doxygen grok it better.
- Adds a convenience helper to the root Makefile.
- Adds a README.md to the root directory (and which Doxygem uses as its
  "mainpage".
- Add several other documentative files.
- Currently using SVG for call graphs, though this may have a
  load-time performance impact in browsers.

Change-Id: I25fc6fb5bf634319dcb36a7f0e32031921c125ac
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-05-13 17:23:36 +00:00
Maros Marsalek
0e0c99f8de Generate jvpp sources in build-root
+ Fail build when JVpp does not compile

Change-Id: I4ad3ffb5d7ff6edaad89de66a9f0bd79a14fb690
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-05-12 14:09:56 +02:00
Marek Gradzki
d85036fd6b HONEYCOMB-10: jVpp - the new java API. C code and jar file generation
Added comments generation for C and Java files.

Change-Id: Ifb670a5592eb871bfe68804f0a8d8f9b5b14f00a
Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-05-02 20:58:54 +00:00
Keith Burns (alagalah)
8a1a19b8b6 Updated .gitignore for Python API generated file
Change-Id: I7c08b52124b44feb36e04a7fd417fe14b367cb44
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-04-24 11:13:49 -07:00
Filip Tehlar
254b036dff Add unit test infrastructure for LISP protocol
Change-Id: I802700ad832de1dc6f4a1981e8985aa6e926c8ad
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-04-12 11:47:39 +00:00
Ed Warnicke
84eda9de0b Add build-root/*.rpm to .gitignore
Change-Id: I88398b5e538271efa4657851bf53c9b76a56b432
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-03-25 20:28:48 +00:00
Damjan Marion
eec8d3e220 add ctags and cscope files to .gitignore
Change-Id: I047cc41a5d0c4a6e4191ca35c505ff21236abcfa
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-03-18 15:03:18 +00:00
Maros Marsalek
ccda178868 gitignore
Change-Id: I59c4711fce1999b4bd23f0a0bac41aa14ca716f5
Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-03-04 16:36:59 +00:00
Dave Barach
74574228b0 Add a vpp-dpdk-dev package, enable plugins to use dpdk APIs directly
Change-Id: I69db06a0b5d5d556c2fd570ea0056bb59d7bc3d6
Signed-off-by: Dave Barach <dave@barachs.net>
2016-02-01 12:06:04 -05:00
Keith Burns (alagalah)
3e74a8c243 Git ignore additions
Change-Id: Iabf569e96d3a1ab50d737913ed997264a69762cc
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-01-31 20:38:54 +01:00
Damjan Marion
7d08f5635d ylwrap is also autotools autogenerated file
Change-Id: Ia6f26b5a12c2fb7847f9325519a99cf928263374
Signed-off-by: Damjan Marion <damarion@cisco.com>
2015-12-23 13:34:52 +01:00
Ed Warnicke
75a46e20b5
Update .gitignore to ignore autotools files
Change-Id: I01bb50304dec7461335800916a76e311701ab8c5
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2015-12-16 06:43:15 -07:00
Ed Warnicke
cb9cadad57 Initial commit of vpp code.
Change-Id: Ib246f1fbfce93274020ee93ce461e3d8bd8b9f17
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2015-12-08 15:47:27 -07:00