summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2016-09-02Add in-message cli_request/cli_reply APIOle Troan7-0/+210
This new CLI API is meant to replace the cli_request/cli_reply that uses shared memory. PS: checkstyle -- *hate* Change-Id: I6318f8f6b9be2c2398b49dac9e2193c1998ea724 Signed-off-by: Ole Troan <ot@cisco.com>
2016-09-02Fix for invalid check of SPARSE_VEC_INVALID_INDEXAlex Popovsky2-6/+6
When looking up a UDP port / GRE protocol in the sparse vectors next_by_dst_port / next_by_protocol a data from the vector was tested for SPARSE_VEC_INVALID_INDEX instead of sparse index itself. This doesn’t matter for most cases since V[0] = 0 is true for all sparse vectors. This however could cause an issue when a valid sparse entry e.g. V[1234] = 0, with data (0) mistakenly passing the test for SPARSE_VEC_INVALID_INDEX, while the index itself (1234) is a valid index. Change-Id: I04818cc43efeae047a4dae79078157d48b8c359c Signed-off-by: Alex Popovsky <apopovsk@cisco.com>
2016-09-02VPP-221 Improve doxygen dependency checkChris Luke1-1/+5
Only try to install packages if they're not installed. Saves a trip through sudo which is useful when you have a non-privileged account generating the docs. Change-Id: I3709aceb15516a45ea2f9510d91c6d2e42c8c349 Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-09-02VPP-374: getting jvppgen.py into rpm vpp-devel packageEd Warnicke1-0/+11
Change-Id: Ia2643f33170da92fde0f8228c8d8393f23e98d11 Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-09-02Clean-up unused context arrays in UDP and GRE nodesAlex Popovsky2-43/+2
Removed unused sparse_index_by_next_index vector in local context of UDP and GRE nodes. Most probably copy paste leftovers from PPP implementation where it is realy used Change-Id: I97e81035e2fd451c6f5a7bc31df96db9e6d2cebf Signed-off-by: Alex Popovsky <apopovsk@cisco.com>
2016-09-02VPP-373: stop building from /vpp mountEd Warnicke3-5/+63
Change-Id: I7f8fe8fa6c24b4229b0cb45e6c83e7cb2828e2da Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-09-01VPP-346 A swathe of doc fixesChris Luke27-112/+208
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-01VPP-341: iOAM plugin documentationShwetha2-0/+483
Change-Id: I0042ce8b8a70bb709765037c3636be667ad88aa2 Signed-off-by: Shwetha <shwethab@cisco.com>
2016-09-01Fix for vl_client_get_first_plugin_msg_id:266: plugin 'export_eb694f98' not ↵Shwetha1-1/+1
registered Change-Id: Iad6d8513e55a5f4609c7edb5505067d1136e84ea Signed-off-by: Shwetha <shwethab@cisco.com>
2016-08-31VPP-369 Add an L2 output classification featureDave Barach13-158/+1026
Change-Id: If03162d328c1ea179249e734537ebb01bade3331 Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-31VPP-358: Add IPv6 ND Event Notification and TerminationJohn Lo10-89/+707
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-31VPP-303 - Documentation changes for vnet/vnet/srKeith Burns (alagalah)4-60/+390
Change-Id: If8b76959d7c29c216bf03609483a2c9e1d034f46 Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-08-31VPP-210: Add "sh api status"Calvin1-3/+46
Change-Id: I164761bc2b242b6be527d057108dd09b99653ff5 Signed-off-by: Calvin <calvin.ference@gmail.com>
2016-08-31VPP-221 Loosen Doxygen CLI command struct parserChris Luke3-2/+3
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-31VPP-189 Tweak hash_foreach_pair to avoid static warningChris Luke1-10/+21
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-31VPP-221 CLI auto-documentation infrastructureChris Luke11-65/+963
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-31VPP-240: delete subinterfacePavel Kotucek7-6/+149
Added new CLI and API command to delete subinterface. Change-Id: Ia92a8facc6ad84634bdec430093e6add02ee674e Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-08-30Fix for vppctl to suppress "load_one_plugin:63: Loaded plugin:" msgsEd Warnicke1-2/+2
Change-Id: I06fcb024036b48a6401d2865a2181b122cb32108 Signed-off-by: Ed Warnicke <eaw@cisco.com>
2016-08-30VPP-365: Fix sending of bd_index in lisp_eid_table_add_del_mapFilip Tehlar1-1/+7
Change-Id: I1f8fd65fa33b0bc7ee07aa0eeb5f794a7ede9537 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-30VPP-364 Add vpp-api/python/build to gitignoreFlorin Coras1-0/+2
Change-Id: I16a594ad75c085b8d0b74cf2f472f88a655253c0 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-08-30VPP-361: Memory leak on delete of VXLAN over IPv6 tunnelJohn Lo1-1/+4
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-30VPP-353: Fully support LISP negative mappings in APIFilip Tehlar4-33/+49
Change-Id: I71943fb4ae2a2f71bcf1ad73512812edf96c06da Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-29VPP-360 Allow L2 classify to use dynamic graph arcsDave Barach1-8/+11
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-29VPP-310 Mapping algorithm compute wrong ea-bitsOle Troan5-11/+231
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-29VPP-307: Documentation for vnet/vnet/vxlan-gpeKeith Burns (alagalah)6-44/+380
Change-Id: Iaab6f4b63ed0d986be1ac0636c692b46098ad54d Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-08-26VPP-357 Fix vni for LISP fwd entry removalsFlorin Coras1-1/+1
Change-Id: I5d20c1939f7a5a142bf696b34143f7ebca6afbcb Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-08-26VPP-356: Fix wrong byte order in LISP APIFilip Tehlar3-7/+8
Change-Id: Ib2284025b8394a87f1d5765713adb7070b450cba Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-26VPP-305: Documentation for vnet/vnet/unixKeith Burns (alagalah)8-158/+647
Change-Id: I3f1a225033ecebe0cedfc3466b552176461b76ab Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-08-26VPP-329: Add L2 support to lisp_eid_table_map_dumpFilip Tehlar5-13/+101
Change-Id: Idfb115cd1f95394f4a4a569dc34c0488a1d58558 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-25VPP-271: Coding style cleanup vnet/vnet/snapCalvin Ference4-101/+147
Change-Id: I810082b5a4072b11ffd0bcc2917347562deb253a Signed-off-by: Calvin Ference <cference@inocybe.ca>
2016-08-25Save rewrite length for post-rewrite rewind actionDave Barach3-12/+9
Change-Id: I5dd52714f8422c15bf78da19bcb63246f9d0103d Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-25Fix vxlan-gpe next protocol valueYi Yang1-2/+2
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-25Adding python-dev dependency to main Makefile.Ole Troan1-2/+2
Change-Id: I9968015acfc2cc63f97dee25538a9b3e61fac5b6 Signed-off-by: Ole Troan <ot@cisco.com>
2016-08-25VPP-228 VPP-326: MAP: Adding additional API/CLI input parameter checks.Ole Troan2-20/+31
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-25VPP-328: Add dump call for listing LISP VNIsFilip Tehlar4-0/+130
Change-Id: I45c054ad638a0e918dddefa4468ff65452949970 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-25Fix ip6-rewrite drops when no feature is configuredAkshayaNadahalli1-0/+2
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-25Fix issues with vhost-user when dpdk vhost-user is disabled, fixes VPP-347, ↵Damjan Marion5-35/+84
VPP-349 Change-Id: I774bab98e43d55678a67a7708ca50edbbd4cbb06 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-08-25VPP-345: pull in upstream checksum patch for ICMP packetsSean Chandler1-0/+18
http://www.dpdk.org/dev/patchwork/patch/15216/ Change-Id: I91b67f3e5c0abff52626e504e2707814ae0c3ed0 Signed-off-by: Sean Chandler <seandchandler@gmail.com>
2016-08-25VPP Python language binding - plugin supportOle Troan23-157/+757
- 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-25VPP-262: Coding standards cleanup vnet/vnet/llcCalvin4-103/+154
Change-Id: I15d71ecf9e8ed37a52cbbd45cdc0fc4ee87c0e5f Signed-off-by: Calvin Ference <cference@inocybe.ca>
2016-08-24VPP-346 Document the ip feature registration schemeDave Barach2-154/+275
Change-Id: I81a9e963bdeb437ca228f11aaedca8d122be7471 Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-24VPP-340: MAP-T wrong destination addressOle Troan1-1/+1
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-24VPP-321: Fix param order of unformat_lisp_eid_apiFilip Tehlar1-3/+2
Change-Id: Ib00ca0f0dab4784a3fb34ffd91c18a3940e9a5d5 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-23VPP-323: Add LISP locator set index to reply API messageFilip Tehlar3-2/+42
Change-Id: Id798f63f4cf1a8aa7a75931bc23d3c7f5d738938 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-23Fix PCI vendor_id/device_id detection for SR-IOV devicesDamjan Marion4-21/+32
Change-Id: I06ae392c7c8c3b4be7fd46560add442f42927c22 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-08-23VPP-342: Don't allow remote mapping to overwrite local or static mappingFilip Tehlar4-5/+22
Change-Id: I9888d7c087da538b81a6a1967edbdf1103cc095a Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-08-23dpdk: Remove obsolete VMXNET3 driver start/stop workaroundDamjan Marion5-128/+68
Change-Id: I4f46f2965891b0bd0d69a2c426068b0fb1ba881e Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-08-22VPP-267: Style cleanup for vnet/vnet/pgCalvin8-643/+682
Change-Id: I6c8bf1dfee7db4b658c2afa4888bcd52b03808fd Signed-off-by: Calvin <calvin.ference@gmail.com>
2016-08-22VPP-270: Code style cleanup for vnet/vnet/pppCalvin5-124/+194
Change-Id: I637f1860fedb208d7242dc2798b3d55abac891a3 Signed-off-by: Calvin <calvin.ference@gmail.com>
2016-08-22Raw export of IP6 packet with iOAM metadataShwetha12-124/+1735
- 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>