929 Commits

Author SHA1 Message Date
Ed Warnicke
3ba4d36d92 VPP-373: stop building from /vpp mount
Change-Id: I7f8fe8fa6c24b4229b0cb45e6c83e7cb2828e2da
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-09-02 02:05:57 +00:00
Chris Luke
16bcf7d8dc VPP-346 A swathe of doc fixes
Fixes various Doxygen warnings and other structural defects.

Note: This does not attempt to improve the content of the
documentation; only to improve the syntax and structure of it
and in some cases the consistency.

Change-Id: Ib1915f33edbdbc4558c85565de80dce323193906
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-09-01 14:31:46 -04:00
Shwetha
f074eef040 VPP-341: iOAM plugin documentation
Change-Id: I0042ce8b8a70bb709765037c3636be667ad88aa2
Signed-off-by: Shwetha <shwethab@cisco.com>
2016-09-01 07:29:19 +01:00
Shwetha
5c377a1b7f Fix for vl_client_get_first_plugin_msg_id:266: plugin 'export_eb694f98' not registered
Change-Id: Iad6d8513e55a5f4609c7edb5505067d1136e84ea
Signed-off-by: Shwetha <shwethab@cisco.com>
2016-09-01 01:53:58 +00:00
Dave Barach
b84a3e56e1 VPP-369 Add an L2 output classification feature
Change-Id: If03162d328c1ea179249e734537ebb01bade3331
Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-31 21:53:01 +00:00
John Lo
1edfba9a63 VPP-358: Add IPv6 ND Event Notification and Termination
Add IPv6 equivalent of IPv4 ARP event notification which covers address
resolution for L3 and MAC/IP binding in L2 BD and ARP termination in BD.
For IPv6, ICMP6 neighbor solicitation and advertisement packets are
utilized instead of ARP request and response packets for IPv4.

Change-Id: I0088fa173e4480de297c8053ea2fcd0821322815
Signed-off-by: John Lo <loj@cisco.com>
2016-08-31 21:05:06 +00:00
Keith Burns (alagalah)
7214cf11e9 VPP-303 - Documentation changes for vnet/vnet/sr
Change-Id: If8b76959d7c29c216bf03609483a2c9e1d034f46
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-08-31 17:12:52 +00:00
Calvin
16649375fe VPP-210: Add "sh api status"
Change-Id: I164761bc2b242b6be527d057108dd09b99653ff5
Signed-off-by: Calvin <calvin.ference@gmail.com>
2016-08-31 17:11:56 +00:00
Chris Luke
e0d802bc53 VPP-221 Loosen Doxygen CLI command struct parser
Make the struct parser slighty slightly more accomodating of
whitespace in places it has no business being.

Also add missing OS_ID thing to Doxygen makefile.

Change-Id: Id3d198fd926f7a6c2ed40bc2d08907aad5d5ac33
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-08-31 10:07:45 -04:00
Chris Luke
5cdaf63582 VPP-189 Tweak hash_foreach_pair to avoid static warning
Coverity doesn't like when an incrementing pointer is taken from
the address of a singleton; it cries that this is a potential
buffer overrun.

Since the cases of this in hash_foreach_pair are based on items
from a simple union used just to have different types point to
the same location it's a simple matter of using the pointer to
that location directly. Since we then aren't using the members
of the union, we can change that to an opaque pointer (void *).

This accounts for >60 issues in Coverity.

Whilst here, convert some useful existing comments into a docblock.

Change-Id: I114183ab7d7948d4a6a703451417f79fa37634eb
Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-08-31 12:57:33 +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
Pavel Kotucek
d85590a004 VPP-240: delete subinterface
Added new CLI and API command to delete subinterface.

Change-Id: Ia92a8facc6ad84634bdec430093e6add02ee674e
Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-08-31 10:02:15 +00:00
Ed Warnicke
f53db2a6c2 Fix for vppctl to suppress "load_one_plugin:63: Loaded plugin:" msgs
Change-Id: I06fcb024036b48a6401d2865a2181b122cb32108
Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-08-30 18:09:24 -07:00
Filip Tehlar
5a4e2dde94 VPP-365: Fix sending of bd_index in lisp_eid_table_add_del_map
Change-Id: I1f8fd65fa33b0bc7ee07aa0eeb5f794a7ede9537
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-30 19:28:37 +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
John Lo
cb9f3d7120 VPP-361: Memory leak on delete of VXLAN over IPv6 tunnel
The key for VXLAN over IPv6 tunnel is allocated on create and should
be freed on delete.

Change-Id: I11bdd9465030fed57cc4bbd28dbccdf952633b34
Signed-off-by: John Lo <loj@cisco.com>
2016-08-30 10:52:34 +00:00
Filip Tehlar
c00617b13c VPP-353: Fully support LISP negative mappings in API
Change-Id: I71943fb4ae2a2f71bcf1ad73512812edf96c06da
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-30 10:30:59 +00:00
Dave Barach
ed47b4cd4e VPP-360 Allow L2 classify to use dynamic graph arcs
Simple change so we can program L2 classifier per-session next-indices
and per-table miss-next-indices using dynamically-created graph arcs.

Change-Id: I9d4a3c82b83e94557075d56a6842d7075ed58905
Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-29 16:32:00 -04:00
Ole Troan
d575e69177 VPP-310 Mapping algorithm compute wrong ea-bits
Mapping of IPv4 prefixes ended up writing past IPv6 prefix + EA bits
length.
(Added some unit testing code).

Change-Id: I59893b44eea5cebf00a23afc405832741f84cf4f
Signed-off-by: Ole Troan <ot@cisco.com>
2016-08-29 11:57:31 +00:00
Keith Burns (alagalah)
d46cca1743 VPP-307: Documentation for vnet/vnet/vxlan-gpe
Change-Id: Iaab6f4b63ed0d986be1ac0636c692b46098ad54d
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-08-29 11:53:04 +00:00
Florin Coras
35f9daa267 VPP-357 Fix vni for LISP fwd entry removals
Change-Id: I5d20c1939f7a5a142bf696b34143f7ebca6afbcb
Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-08-26 16:20:50 +02:00
Filip Tehlar
e3552c45f3 VPP-356: Fix wrong byte order in LISP API
Change-Id: Ib2284025b8394a87f1d5765713adb7070b450cba
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-26 12:40:16 +00:00
Keith Burns (alagalah)
07203afe6f VPP-305: Documentation for vnet/vnet/unix
Change-Id: I3f1a225033ecebe0cedfc3466b552176461b76ab
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-08-26 12:39:03 +00:00
Filip Tehlar
c068179a6c VPP-329: Add L2 support to lisp_eid_table_map_dump
Change-Id: Idfb115cd1f95394f4a4a569dc34c0488a1d58558
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-26 11:19:00 +00:00
Calvin Ference
cc6ca8832c VPP-271: Coding style cleanup vnet/vnet/snap
Change-Id: I810082b5a4072b11ffd0bcc2917347562deb253a
Signed-off-by: Calvin Ference <cference@inocybe.ca>
2016-08-25 21:00:38 +00:00
Dave Barach
c7493e16f5 Save rewrite length for post-rewrite rewind action
Change-Id: I5dd52714f8422c15bf78da19bcb63246f9d0103d
Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-25 17:50:57 +00:00
Yi Yang
4fe2291bbd Fix vxlan-gpe next protocol value
vxlan4_gpe_rewrite and vxlan6_gpe_rewrite used the fixed value
VXLAN_GPE_PROTOCOL_IP4 for next protocol regardless of vxlan-gpe
port next protocol, this commit fixed it and used the value from
vxlan-gpe port.

Change-Id: I22ba25fbde1c0630960cbcfd196e14231fbf1af3
Signed-off-by: Yi Yang <yi.y.yang@intel.com>
2016-08-25 13:06:26 +00:00
Ole Troan
1557dfe844 Adding python-dev dependency to main Makefile.
Change-Id: I9968015acfc2cc63f97dee25538a9b3e61fac5b6
Signed-off-by: Ole Troan <ot@cisco.com>
2016-08-25 13:01:22 +00:00
Ole Troan
07e7eab371 VPP-228 VPP-326: MAP: Adding additional API/CLI input parameter checks.
Added checks for EA bits length + PSID length > 64.
Removed incorrect check in VAT that required all arguments as mandatory.

Change-Id: I33a138612d199d7c5ce59abe1a7d7ecede3522bc
Signed-off-by: Ole Troan <ot@cisco.com>
2016-08-25 12:58:57 +00:00
Filip Tehlar
50a4e14294 VPP-328: Add dump call for listing LISP VNIs
Change-Id: I45c054ad638a0e918dddefa4468ff65452949970
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-25 12:49:37 +00:00
AkshayaNadahalli
082b39dc67 Fix ip6-rewrite drops when no feature is configured
In ip6_rewrite_inline(), only in dual loop next0 and next1 are set to IP6_REWRITE_NEXT_DROP and never updated unless there is an o/p feature configured on it. So any packets processed under dual loop are dropped.
Single loop works fine as next0 is updated correctly.
Fix is to update next node from adjacency under dual packet loop processing.

Change-Id: I902fcc84ed307464d92499f9d37137af660b592c
Signed-off-by: AkshayaNadahalli <anadahal@cisco.com>
2016-08-25 12:26:19 +00:00
Damjan Marion
8d281b36e5 Fix issues with vhost-user when dpdk vhost-user is disabled, fixes VPP-347, VPP-349
Change-Id: I774bab98e43d55678a67a7708ca50edbbd4cbb06
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-08-25 07:41:08 +00:00
Sean Chandler
dc731bd4b1 VPP-345: pull in upstream checksum patch for ICMP packets
http://www.dpdk.org/dev/patchwork/patch/15216/

Change-Id: I91b67f3e5c0abff52626e504e2707814ae0c3ed0
Signed-off-by: Sean Chandler <seandchandler@gmail.com>
2016-08-25 00:30:37 +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
Calvin
151fb72563 VPP-262: Coding standards cleanup vnet/vnet/llc
Change-Id: I15d71ecf9e8ed37a52cbbd45cdc0fc4ee87c0e5f
Signed-off-by: Calvin Ference <cference@inocybe.ca>
2016-08-25 00:26:38 +00:00
Dave Barach
6d5bfb69f1 VPP-346 Document the ip feature registration scheme
Change-Id: I81a9e963bdeb437ca228f11aaedca8d122be7471
Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-24 21:07:52 +00:00
Ole Troan
d847d1c682 VPP-340: MAP-T wrong destination address
The bug was in VAT MAP code parsing a 32 bit integer into a 8 bit
type.  Perhaps we should try to build some defences in
unformat_chech_input() to avoid these errors.

Rebuild.

Change-Id: Iae4959f7e04d889da2e9650a4201c4db15d74201
Signed-off-by: Ole Troan <ot@cisco.com>
2016-08-24 16:48:11 +02:00
Filip Tehlar
251aec436b VPP-321: Fix param order of unformat_lisp_eid_api
Change-Id: Ib00ca0f0dab4784a3fb34ffd91c18a3940e9a5d5
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-24 12:08:53 +00:00
Filip Tehlar
3a83460868 VPP-323: Add LISP locator set index to reply API message
Change-Id: Id798f63f4cf1a8aa7a75931bc23d3c7f5d738938
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-23 13:23:13 +00:00
Damjan Marion
b1b1a14977 Fix PCI vendor_id/device_id detection for SR-IOV devices
Change-Id: I06ae392c7c8c3b4be7fd46560add442f42927c22
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-08-23 12:46:21 +00:00
Filip Tehlar
3cd9e730f9 VPP-342: Don't allow remote mapping to overwrite local or static mapping
Change-Id: I9888d7c087da538b81a6a1967edbdf1103cc095a
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-23 12:14:52 +02:00
Damjan Marion
b28e498a49 dpdk: Remove obsolete VMXNET3 driver start/stop workaround
Change-Id: I4f46f2965891b0bd0d69a2c426068b0fb1ba881e
Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-08-23 00:18:49 +00:00
Calvin
71e97c631a VPP-267: Style cleanup for vnet/vnet/pg
Change-Id: I6c8bf1dfee7db4b658c2afa4888bcd52b03808fd
Signed-off-by: Calvin <calvin.ference@gmail.com>
2016-08-22 21:03:43 +00:00
Calvin
aba0fe494d VPP-270: Code style cleanup for vnet/vnet/ppp
Change-Id: I637f1860fedb208d7242dc2798b3d55abac891a3
Signed-off-by: Calvin <calvin.ference@gmail.com>
2016-08-22 21:02:20 +00:00
Shwetha
a91cbe6982 Raw export of IP6 packet with iOAM metadata
- is enabled on iOAM pop nodes with "set ioam export ipfix collector"
- ioam_export_node Hooks into vlib graph b/n ip6-hop-by-hop node and ip6-pop-hop-by-hop node
- A buffer per worker thread is created for collecting packet data to be exported
- ioam_export_node exports first 3 cachelines by collecting it in a MTU sized frame, slaps on ipfix header for export
- ioam_export_thread process node - checks for unsent record buffers for longer than 20 seconds and exports it
- Added dual loop and prefetch in add, hop-by-hop and pop functions

To be done:
- IPfix template
- Multi collector distribution of ipfix packets
- Port to be configurable

Change-Id: I959b4253036551382562bdaf10a83fd6f2f1c88b
Signed-off-by: Shwetha <shwethab@cisco.com>
2016-08-22 17:19:04 +00:00
Jan
aa88697b71 Update CSIT tests 160815 -> 160821
- update of CSIT operational branch to be used for VPP-patch test

Change-Id: I4791551fa0b161ac0347d992bcda4bc1fb8c74d2
Signed-off-by: Jan <jgelety@cisco.com>
2016-08-22 10:38:35 +02:00
Dave Barach
5331c72daa VPP-337 Add per interface IN filtering
- ip post-rewrite feature subgraph arc support

Change-Id: Ia4b07197463021ade916326231af246e2559a290
Signed-off-by: Dave Barach <dave@barachs.net>
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-08-19 18:42:04 +00:00
Steve Shin
5e15c91b6c vhost-user: unmap previously configured memory if necessary
If there's any memory-mapped region configued previously,
it should be unmapped before setting up a new vhost memory table.
Otherwise, huge page leakage will happen.

Change-Id: I375f603ea303919f1502df44a26a7384ab2ea00e
Signed-off-by: Steve Shin <jonshin@cisco.com>
2016-08-19 13:57:10 +00:00
Steve Shin
82a7af95e7 tuntap_rx modification to handle jumbo packets ( > 2K bytes)
Change-Id: Iebe30b87457741ac268b24c96fa7ea8ad1e101a6
Signed-off-by: Steve Shin <jonshin@cisco.com>
2016-08-18 10:38:30 -07:00
Keith Burns (alagalah)
a8f7b750bb Bump of JVPP version for new MASTER.
Change-Id: If03efcea871641e33fa079d3c1c308dc8e23cdcc
Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-08-17 17:43:39 -07:00