summaryrefslogtreecommitdiffstats
path: root/plugins
AgeCommit message (Collapse)AuthorFilesLines
2016-10-19Fix coverity issues in jvpp (newlines + CompletableDumpFuture.ctxId)Marek Gradzki1-3/+3
Change-Id: I2931982ac1ae64313a6ab781212793620af24585 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-10-18LoadBal: Use intrinsics and use protocol numberPierre Pfister3-209/+307
This patch modifies the load balancer hash table such that it uses vector operations. It also fixes the hash computation logic such that the port is only looked-up for TCP and UDP. Some additional work is still needed for other types of traffic. Change-Id: I788b4c782a9923d3792f3985f0580c0c81b3aad3 Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-10-13VPP-446: 1:1 SNAT Inside overlapping interfacesMatus Fabian4-18/+32
Change-Id: Idabf89bd27ee95769da16331a6bd1439497b2765 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-10-13VPP-453: SNAT delete and dump addressesMatus Fabian3-26/+243
Delete operation for SNAT addresses Dump API for SNAT addresses Change-Id: I84e888d20286ec2523fbd4ca7e68e3eef5927984 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-10-10Test: Add test case for Load Balancer pluginPierre Pfister2-3/+13
This adds a basic test for the four existing encap modes for the load balancer plugin. - ip4 over gre4 - ip4 over gre6 - ip6 over gre4 - ip6 over gre6 Apparently, scapy does not support GRE and IPv6 combinations. Hence, those tests do send packets through VPP, but only ip4 over gre4 output is actually parsed and verified. Change-Id: I7cedb0f88fd0788ee51b1428ddf9cff7c037511f Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-10-10HONEYCOMB-228 Snat plugin jvpp supportMarek Gradzki6-0/+305
Change-Id: I5510a0ae3ecfeb5bd41c3a73e6e05465ebd96165 Signed-off-by: Marek Gradzki <mgradzki@cisco.com> Signed-off-by: Maros Marsalek <mmarsale@cisco.com>
2016-10-05VPP-339: SNAT static mappingMatus Fabian6-155/+2017
1:1 NAT 1:1 NAT with ports 1:1 NAT static mapping only - add "static mapping only [connection tracking]" to snat startup config Change-Id: I37cd06a9d71d1943eb6618034d7c547c4a9348c4 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-10-05Load Balancer: Use FIB 2.0Pierre Pfister4-402/+358
This patch fixes load balancer, which was not working since FIB 2.0. Two FIB DPO types are defined: - One for IPv4 GRE - One for IPv6 GRE When an AS is created, the plugin automatically uses the result from the FIB in order to transmit the packet. Therefore, the packet does not need to visit ip-lookup twice. The 'bypass' command was removed, as it is now done automatically using this process. Change-Id: Ib505ba31bfc67897eaff752821087821c360360a Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-10-03L2 over LISP and GRE (VPP-457)Neale Ranns1-162/+163
Change-Id: I0d7f9c7f41a9f9e0acb0950adedb90d45df08c2a Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-09-21A Protocol Independent Hierarchical FIB (VPP-352)Neale Ranns10-427/+734
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-20Add structure to some of the documentation; VPP-223Chris Luke2-3/+2
Moves the random .md files, when rendered by Doxygen, into a config examples tree. We may later flesh this out into a more complete user documentation section. Change-Id: If423b82f1047f1c84f90876a786313054b5f7c77 Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-09-07Fix Coverity issue in trace_util.c (REVERSE_INULL), thanks to Damjan for ↵Vengada Govindan1-6/+7
highlighting this. Change-Id: I22b1dc800624042e043e7632179f6281a6ccaafc Signed-off-by: Vengada Govindan <venggovi@cisco.com>
2016-09-06Move iOAM Trace as a pluginVengada Govindan10-2/+1463
Change-Id: I78322e91485e5429871bd356f668b8ed90f4265a Signed-off-by: Vengada Govindan <venggovi@cisco.com>
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-25VPP Python language binding - plugin supportOle Troan2-2/+20
- 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-22Raw export of IP6 packet with iOAM metadataShwetha9-0/+1394
- 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-19VPP-337 Add per interface IN filteringDave Barach3-10/+11
- 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-15VPP-189 Fix another batch of coverity warningsDave Barach4-6/+6
Change-Id: I1d56bc9377db161ae9226e2b2da7c1916c8d1c3b Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-11VPP-130: LoadBal: Add lookup bypass and fix adjacency format functionPierre Pfister4-5/+125
Change-Id: Ib83c6ba04c41dbb80603c6a08c324d71eb44a102 Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-08-11Custom adjacency formatting fix (Revived)Pierre Pfister1-3/+3
Looks like something strange is going on with indentation. Change-Id: I8e734a2119a4a744d7ce76ce83ecc7b237828d3b Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-08-11VPP-130: MagLev-like Load BalancerPierre Pfister17-0/+2868
This plugin provides load balancing for VPP in a way that is largely inspired from Google's MagLev: http://research.google.com/pubs/pub44824.html More info in the README.md Change-Id: I1223f495d5c2d5200808a398504119f2830337e9 Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-07-29plugins/vcgn-plugin: Fix vpp hang with pthread spinlockMichael Qiu1-8/+12
Currently, pthread spinlock is initialized in macro ASSERT, thus the spinlock only will be initialized when CLIB_ASSERT_ENABLE is true. But CLIB_ASSERT_ENABLE depends on CLIB_DEBUG been set. Mostly, CLIB_DEBUG is zero, so spinlock will never been initialized, which will lead vpp hang when try to hold the lock. This patch fix this issue. Change-Id: If01982b5df849834ccbc705f8e9291f2b6c32d0a Signed-off-by: Michael Qiu <qiudayu@chinac.com>
2016-07-29plugin/vcgn:Remove local defined ip4_interface_first_addressMichael Qiu1-19/+1
Function ip4_interface_first_address has been defined in vnet/ip/ip4.h, and result an compile issue. CC vcgn/cnat_ipv4_icmp_error_outside_input.lo CC vcgn/cnat_logging.lo vcgn/cnat_logging.c:361:1: error: conflicting types for 'ip4_interface_first_address' ip4_interface_first_address (ip4_main_t * im, u32 sw_if_index) ^ In file included from /usr/include/vnet/ip/ip.h:57:0, from vcgn/cnat_logging.c:24: /usr/include/vnet/ip/ip4.h:390:1: note: previous declaration of 'ip4_interface_first_address' was here ip4_interface_first_address (ip4_main_t * im, u32 sw_if_index, ^ make: *** [vcgn/cnat_logging.lo] Error 1 Change-Id: I1165c9bb778263c195ed34ab438dcb27dfd207bc Signed-off-by: Michael Qiu <qiudayu@chinac.com>
2016-07-28Add IP adjacency registration functionPierre Pfister1-5/+17
Given that it is possible and easy to add dynamic IP adjacencies, it might be helpful to have an explicit call to do so. This way, additional information such as how to display the adjacency can be provided at the same time. Change-Id: I5c735ae45ed763560352f637e3462f2931dc97d9 Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-07-20ILA: Add direction option to disable ila2sir or sir2ilaPierre Pfister2-34/+103
In a ILA router use case as described by the draft, it is proposed to disable ILA to SIR translation and do SIR to ILA only. Change-Id: I8d0980bb75c8d925c1d1aa4563030919dd220620 Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-07-17Add ILA pluginPierre Pfister6-0/+1047
This plugin is implementation of Identifier Locator Addressing (ILA) per IETF draft-herbert-nvo3-ila-2 Change-Id: I5d5f8fb55c490f358f628bceb5f57e7e7408e6ed Signed-off-by: Pierre Pfister <ppfister@cisco.com> Signed-off-by: Wolfgang <wolfgang.beck01@gmail.com> Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-07-08Remove unnecessary and obsolete configure.ac directivesDamjan Marion2-2/+2
Also enable silent rules where missing Change-Id: Ia521886815c862b013f01df4cc18fd8a298aaaa1 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-07-08Multiple changes in the plugin build infraDamjan Marion15-314/+79
- configure.ac - some plugins are enabled by default - Plugin .so files are placed into corresponding subdirs - WITH_PLUGIN_TOOLKIT macro is retired - not needed anymore - plugins/build-data is removed - plugin makefiles are not building static libs anymore - plugin makefiles are not installing header files to /usr/include anymore Change-Id: I55681bd9ce34811f7eb1b2b24d9f0ca42df1cf04 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-07-02Finish cleanup of .../plugins/{configure.ac, Makefile.am}Dave Barach6-87/+44
To add a new plugin subdirectory, add this to Makefile.am: if ENABLE_new_PLUGIN SUBDIRS += new-plugin endif and add this to configure.ac: PLUGIN(new) Change-Id: I770a6f4f8f964fd7318a912be486accf46514b59 Signed-off-by: Dave Barach <dave@barachs.net>
2016-07-01Simple ip4 NAT pluginDave Barach12-4/+2916
Change-Id: Iffe77bf2a05ced41474540ff54a842101aad7c41 Signed-off-by: Dave Barach <dave@barachs.net>
2016-06-27Plugins: Clean up the plugin directory so that each plugin has its ownOle Troan92-141/+475
directory and GNU autotools setup. Change-Id: I6c59d1297389c9413db0c0b9bdf3b759080bf1b8 Signed-off-by: Ole Troan <ot@cisco.com>
2016-06-24Move vcgn as pluginShesha Sreenivasamurthy68-3/+36555
Use appropriate libnames to copy Change-Id: Iaa1e7e3ceed52f328e26e75ee7309fc6464d5c66 Signed-off-by: Shesha Sreenivasamurthy <shesha@cisco.com>
2016-06-22Fix for build failure due to iOAM plugin header file pathShwetha7-17/+17
Change-Id: Ie5d270a01e3ca0687a407aeebc42aacc53a01ddc Signed-off-by: Shwetha <shwethab@cisco.com>
2016-06-17VPP-76:APIs for Proof of transit feature added to iOAMShwetha10-0/+1797
Moved Proof of Transit utility as a plugin Moved Proof of Transit option as a plugin Change-Id: Idc9897205eb8ec80c5dea47b428e6209ac938c32 Signed-off-by: Shwetha <shwethab@cisco.com>
2016-06-156rd: Move to pluginOle Troan6-0/+837
- Change toplevel plugins make target. Now builds all plugins under plugins/. (Apart from sample-plugin). - Move sixrd code to plugins directory and make necessary changes to make it a plugin - Remove 6rd hooks from IP lookup code Change-Id: I447e92e3bee240cd8de01d0abac2e1708e8c27d1 Signed-off-by: Ole Troan <ot@cisco.com>
2016-06-05VPP-94: Add build-data directory for plugins and Makefile targetPierre Pfister1-0/+47
Commit e36af5f3153 moved sample-plugin a dedicated directory. The build system could not find sources for sample-plugin-* targets. This commit adds a dedicated build-data/packages directory for plugins and moves sample-plugin.mk there. Change-Id: I9e3ee8858580e86ff6d4f7317300df0a5e239a01 Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-05-23Create /plugins directory, move sample-pluginDave Barach9-0/+909
Change-Id: Ia58923c7c98dc04c027c8c5879a4dc5f5b144b8a Signed-off-by: Dave Barach <dave@barachs.net>