summaryrefslogtreecommitdiffstats
path: root/plugins
AgeCommit message (Collapse)AuthorFilesLines
2016-11-01VPP-437: ip6 hbh processing with FIB 2.0Shwetha3-14/+21
1. Modifies ip6 hbh selective processing in lookup only when non-recursive routes are present. 2. Adds ip6 hbh processing in load balance. 3. Cleanup of ip6 iOAM hbh plugin formatting and CLI handling found while testing the changes. 4. Deleted wrong asserts in dual loop for add and pop iOAM hbh nodes. The current data of the buffer ip6 start and will not be 0 5. Deleted set ioam destination cli and associate functions. iOAM add/pop is enabled via classifier, this cli is no longer used. Change-Id: I3aac71ad512762c0b2b602fe88fe0291b85d39c7 Signed-off-by: Shwetha <shwethab@cisco.com>
2016-11-01config: rename ip_config_main_t to vnet_feature_config_main_tDamjan Marion5-7/+7
It will not be used for IP only... Change-Id: I90ef3030aff7f9e24767553f019cabc1ea987126 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-10-31VPP-478: SNAT address range overlappingMatus Fabian1-0/+7
Ignore adding duplicate address. Change-Id: Icbb76bbcb3a78a18acb1a50d5d8ab777e9f9bd36 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-10-31VPP-459: SNAT dump API for in and out interfacesMatus Fabian4-61/+180
Change-Id: Ie0cba0778b094eaafa960d3f432199e1e3b2d116 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-10-27Per-packet IPFIX record generation pluginDave Barach12-0/+1476
Change-Id: Ia790aa018e70d67ed343e3e466d1b33b22560fc0 Signed-off-by: Dave Barach <dave@barachs.net>
2016-10-25Support IETF routing Yang models (VPP-503).Neale Ranns3-4/+4
Add support for special routes to send ICMP unreachable or admin prohibited. Change-Id: Ia1ac65b0e5e925c0f9ebc7824141833b4e18f05e Signed-off-by: Neale Ranns <nranns@cisco.com>
2016-10-24Fix jvpp coverity issues #2Marek Gradzki1-14/+13
- synchronize AbstractFutureJvppInvoker.getRequests - handle registry & jvpp close in API usage examples Change-Id: I918bf864b8212fde04f0d9194037f1c6a810fc3f Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-10-21Java api generation for ioam trace pluginShwetha9-8/+321
Makefile, configure, jvpp changes follow snat plugin jvpp Fixes trace api handling for endianess Change-Id: Id5c950ed3c85d5e0dc28ba31b580987baa1b133f Signed-off-by: Shwetha <shwethab@cisco.com>
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>