aboutsummaryrefslogtreecommitdiffstats
path: root/vpp
AgeCommit message (Collapse)AuthorFilesLines
2016-07-31Initial L2 LISP supportFlorin Coras2-7/+9
This introduces support for layer 2 overlays with LISP. Similarly to L3, all tenant packets to be encapsulated are captured by an interface, but the mapping (layer binding) instead of being between an L3 VRF and a LISP VNI, it is between and an L2 bridge domain and a VNI. At a high level, this results in two important properties: 1) the source and destinations of all packets flooded in the bridge-domain are mapped via the LISP control plane and the replies are converted into data-plane tunnels tracked via a LISP specific source/dest L2 FIB 2) All packets reaching the interface and matching a source/dest L2 LISP FIB entry are L3 (IP4/6) encapsulated. This is solely a unicast feature, therefore at this time ARPs are not handled in any special way. Change-Id: I0b7badcd7c6d5166db07d4acd2cc4ae7fba3e18e Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-07-30VPP-189: Fix another batch of coverity warningsDave Barach1-1/+1
Change-Id: I2b13894cca950ddb6732714f3acc180443552b5f Signed-off-by: Dave Barach <dave@barachs.net>
2016-07-28Edit eid table dumpAndrej Kozemcak2-30/+62
- change output from eid table - add eid filter: all - dump all eid local - dump local eid remote - dump remote eid Change-Id: Ifaaad8abf44cf70c4c22d05252e501456f1f1083 Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-07-28LISP - Bug fix, can`t remove static remote mappingAndrej Kozemcak2-47/+36
Fix bug, can`t remove static remote mapping, small update in LISP remote mapping API. Change-Id: Ide32485a1a0d2cf08829d544500fa2755214b8cc Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-07-28Edit Lisp locator_set APIAndrej Kozemcak2-79/+180
Change the output format of lisp locator_set API. Create new API for lisp locator. Change lisp_enable_disable_status_dump -> show_lisp_status, not use dump function. Change-Id: Ie2024cbf5e55b22ba077266220bf8584d5cac07a Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-07-28VPE_API small fix for LISP locator_setAndrej Kozemcak1-1/+3
- add documentation - use new feature in vpe_api Change-Id: I2708383aa886494d948feea1869c3fabae94c7bf Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-07-27VAT add_locator_set api support multiple locatorsAndrej Kozemcak2-1/+28
Change-Id: I22df3d4407bd7fdd953783f00605380a2d6fb46e Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-07-26policer classifyMatus Fabian3-3/+297
JIRA: VPP-114 If the classifier finds a matching entry, it sends packet to the policer, packet should be pre-colored for color-aware policers. Change-Id: I10cb53b49907137769418f230df2cab577d0f3a0 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-07-23VPP-108: fix buffer overrunDave Barach1-1/+1
Probably not seen (yet) in practice due to the message ring allocation scheme. Change-Id: I7f01b5c09e0a172ad43ec3b8416e2791cada6122 Signed-off-by: Dave Barach <dave@barachs.net>
2016-07-22Add DPDK 16.07 support (rc3 based)Damjan Marion1-8/+15
DPDK vhost-user support is disabled due to significan changes in the DPDK vhost-user code which are not compatible with current VPP code. Change-Id: I3f0d28cb75f6370282ec7e33d57cbfb77e1a3ce1 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-07-22HONEYCOMB-83: Add Gre FeatureHongjun Ni3-102/+106
PatchSet 3: use clib_memcpy for copy. PatchSet 2: use clib_memcpy() to copy IP address. PatchSet 1: Support IPv6 interface for GRE API. Change-Id: I80ee4b61df15da7fd851b682a97d5d49f89568b7 Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2016-07-21Add API calls for packet generatorPavel Kotucek3-2/+200
Added new API to: - create packet generator interface - enable packet generator per stream or all - capture into file Change-Id: I0e6c1f28069853e4b26f0dc9d282353b0b7f6512 Signed-off-by: Pavel Kotucek <pkotucek@cisco.com>
2016-07-21VPP-123: remove japi (the old Java API)Marek Gradzki1-46/+46
MANUAL_JAVA flag (used only by the japi) was also removed. Change-Id: Ied21521b2410af1c357afb04cbf9e849632ddc5f Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-07-20Add new lisp API - Show pitrAndrej Kozemcak2-0/+59
VAT API: - show_lisp_pitr CLI API: - show lisp pitr Change-Id: Ibd31cb09efc34a49b439338e9467faf7a151f2cd Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-07-20L2TP: Add option for custom fib id for outgoing encapsulated packetsPierre Pfister2-0/+17
If a custom fib ID is used (different from ~0), the associated fib is used to forward outgoing encapsulated packets. Otherwise, the fib used is the same as for any packet received on the original RX interface (L2TP does not modify RX interface index). Change-Id: I4533d5f7fa432c78c937d3acdd802d0d1c92a0c7 Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-07-19VPP-203 Find the relative next node index by node namesKeith Burns (alagalah)3-3/+83
vat# get_next_index node-name vxlan4-input next-node-name l2-input next node index 1 Change-Id: Ib71be8a408d08d59b0ed7dfb6ada9711cf29bd69 Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-07-18Add uid/gid config parameters to shared-vm database map operatorDave Barach2-4/+70
So vpp_get_metrics and similar will not need to run as root Change-Id: I635e830834c82990ad84ddaae06f2e50e55fd616 Signed-off-by: Dave Barach <dave@barachs.net>
2016-07-17VPP-187: Standardized retvalue types in vpe.apiCalvin1-8/+8
Change-Id: I0cb0d2588a824c0fa040bbc5a30c3bb8be96aa0f Signed-off-by: Calvin <calvin.ference@gmail.com>
2016-07-16- fixed misleading indentation (fixes compilation error on gcc versio 6.1.1)Wolfgang1-2/+2
Change-Id: I7f666a5fb9dac3cac88633d01e1941dac7cc012d Signed-off-by: Wolfgang Beck <wolfgang.beck01@gmail.com>
2016-07-14Add a command line utility to display critical vpp engine metricsDave Barach3-2/+193
vector rate, aggregate rx rate, [configurable] significant error rate Change-Id: If0b7316a62cb8478d1466f1c9a9903d6df2a6ca0 Signed-off-by: Dave Barach <openvpp@barachs.net>
2016-07-13Add API dump call for vrf/vni mapping to vpp-api-testFilip Tehlar1-6/+18
Change-Id: I7a028ce9ddf21bd3a7d4991ba1be05e5e74202d6 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-07-12policer actionMatus Fabian2-0/+36
JIRA: VPP-90 Policer allows you to specify the action to be taken on a packet: conform-action (green color) exceed-action (yellow color) violate-action (red color) Action to take on packets: drop - drops the packet transmit - transmits the packet, the packet is not altered mark-and-transmit <DSCP> - sets the DSCP value and transmits the packet Change-Id: I59c037e55e7e2a9fc9b9752e92426f3977f5587b Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-07-11Simplify API to add LISP adjacenciesFlorin Coras2-51/+18
The API to add an adjacency requires that two things be provided 1) a local and a remote eid 2) the whole remote mapping for the remote eid. Since the API to add remote mappings can be used for 2), 1) in combination with this API are enough to add an adjacency. Change-Id: Ibe7474924bc3f28b6aed19cefa78fdb812de5eac Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-07-11VPP-183: IPSec transport modeMatus Fabian1-1/+1
Change-Id: I22399aa9d55db0d91da7ba6acbbf552c0d201458 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-07-08Add locator prority and weight to LISP APIFilip Tehlar1-6/+6
Change-Id: Ifa9bcd9a9c5dbda00ff8096909ccbc822445b8cb Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-07-08Remove unnecessary and obsolete configure.ac directivesDamjan Marion1-2/+0
Also enable silent rules where missing Change-Id: Ia521886815c862b013f01df4cc18fd8a298aaaa1 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-07-08Add binary API for IPFIXJuraj Sloboda3-2/+193
Change-Id: I3346b18126d65b72726e977dfb11ba4c380056c0 Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2016-07-07VPP-142 Recursive route sending traffic to wrong interfaceNeale1-72/+60
Indirect routes should always result in an indriect adjacency even when the route's next-hop is covered by a connceted, since the covering route may change and no tracking is in place. Some de-duplication of code for installing indirect routes via the CLI and API. Change-Id: I7a440ffba43ae3990b68cb407244c06bd0827534 Signed-off-by: Neale <nranns@cisco.com>
2016-07-07VPP-148 added bvi_mac flag to l2fib_add_del api call similarly to climarek zavodsky3-1/+5
Change-Id: I3b65e85d24ed37b6889af7e194fee45ec61b15a8 Signed-off-by: marek zavodsky <mazavods@gmail.com>
2016-07-07Add an option to dump details about specific LISP EID in API/CLIFilip Tehlar2-1/+47
Change-Id: Ie5e6751fd791e7ca728522632332abe442a1a75b Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-07-04LISP CP cleanup and refactoringFlorin Coras2-32/+163
- avoid code duplication by using only one function for insertion/updating of remote mappings into map-cache. Static remote mappings are now inserted using this function as well and therefore the code does not try to build forwarding entries out of them now. - bring up lisp dp interfaces when a vni is bound to a vrf. - ensure eids are cleaned-up before parsing control plane messages - ensure map-requests are always sent to default fib - new API to insert lisp adjacencies as opposed to remote mappings which should be replaced post merged in CSIT - reorganize and group functions according to their purpose and use. No need to pre-declare internal functions now. - this does not touch locator-set logic Change-Id: Ibcfc0f2d9c1bc1c9eab6e83c1af1b4cf9302ac10 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-07-04VPP-174 IPsec API fixMatus Fabian1-7/+18
ipsec_sad_add_del_entry and ipsec_spd_add_del_entry parameters with IPv4 address are always 0.0.0.0 Change-Id: I75cb211ce9069596df4ef1d910e263d22940b9d8 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-07-01Simple ip4 NAT pluginDave Barach1-2/+8
Change-Id: Iffe77bf2a05ced41474540ff54a842101aad7c41 Signed-off-by: Dave Barach <dave@barachs.net>
2016-06-29Fix the spelling of the word "suppress".Chris Luke4-8/+8
The spelling mistake where "suppress" is written as "surpress" was sufficiently common and annoyed me enough to fix it. For backwards compatibility, the CLI and API test tool both still accept the erroneous spelling. Change-Id: I82104ae9d8c2c9d6e3396ba0d72cb1dc133081d1 Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-06-29Add support for ethernet address in LISP APIFilip Tehlar2-49/+91
Change-Id: I9f1522f55bdd11602784a421fd850b839a1070e6 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-06-27Add support for classify table/session read to jvpp:Marek Gradzki1-3/+3
* provides length information for variable length arrays in classify table/sessione reply messages * provides jvpp example for reading classify tables/sessions Change-Id: I47f8fca5c849ec874d4e23f28177e310689db522 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-06-27More janitorial workDave Barach13-106/+66
Install vpp api header files in /usr/include/vpp-api, instead of /usr/include/api. Someone will eventually complain if we continue with the status quo. Generate /usr/bin/vpp_plugin_configure, to correctly configure standalone plugin compilation against header files installed from the dev package. If a plugin's CFLAGS don't precisely match the installed vpp engine binary, subtle misbehavior can and will occur. Example: the ip4/ip6 main_t structure size / member offsets depend on DPDK=[0|1]. Screw that one up, and your brand-new configurable ip feature will mysteriously fail to appear, even though the plugin loads perfectly. Change-Id: I20c97fe1042808a79935863209d995c31953b98c Signed-off-by: Dave Barach <dave@barachs.net>
2016-06-27VPP-108 : API calls to read classify table and sessionsPavel Kotucek3-2/+363
Added new API calls to read - classify table ids as array - classify table ids for specified interface - classsify table info and to dump sessions of specified classify table. Change-Id: I089604fa98eea92866495089d76c2330ae7d850c Signed-off-by: Pavel Kotucek <pavel.kotucek@pantheon.tech>
2016-06-24VPP-118: add support for variable length arrays to jvppMarek Gradzki1-2/+2
* extends VPP's message definition language with the following syntax: u32 count: u8 array[count]; which is traslated to: u32 count; u8 array[0]; but now, python API representation generated by vppapigen contains information about where the array length is stored. * modifies existing response messages to use the new syntax Change-Id: I68210bc7a3a755d03d067e9b79a567f40e2d31f3 Signed-off-by: Marek Gradzki <mgradzki@cisco.com>
2016-06-23VPP-72 Added api call aquivalents to:marek zavodsky3-2/+545
"show mpls fib" -> "mpls_fib_encap_dump" and "mpls_fib_decap_dump" "show mpls tunnel" -> "mpls_eth_tunnel_dump [tunnel-index <tunnel-id>]" and "mpls_gre_tunnel_dump [tunnel-index <tunnel-id>]" Change-Id: I59699039392f06dc61f62a015d07186a91cfaf45 Signed-off-by: marek zavodsky <mazavods@gmail.com>
2016-06-23LISP EID virtualization supportFilip Tehlar2-5/+88
Change-Id: I892c001cfdff9d8d93e646641d96520beb3c6265 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-06-21Check if LISP is enableAndrej Kozemcak1-1/+1
Lisp enable flag is enforced. DP API should not be call if the dp is disable. Change-Id: I265cf3ea0460987f3fd5fd84b43127dd3b1c43c3 Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-06-20Fix problem with DPDK vector PMDs not working in VPPDamjan Marion1-2/+4
Linker was picking wrong, weakly linked function from dpdk drivers, so detection of vector mode was always failing. Change-Id: I11725c8ddbc4604dd04ecb89ebb7f02ee05e52c7 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-06-17Dynamically compute ip feature subgraph orderDave Barach1-8/+26
This change-set enables plugins to add themselves to the ip4/ip6 feature subgraphs without having to modify core vpp engine code at all. Add VNET_IP4/IP6_UNICAST/MULTICAST_FEATURE_INIT macros which express the required ordering constraints, and off you go. Along the way, added an implementation of Warshall's algorithm to vppinfra; to compute the positive transitive closure of a relation. In this case, the relation is "feature A runs before feature B." With that in hand, ip_feature_init_cast(...) computes a partial order across the set of configured feature subgraph nodes. In unit-testing, we discovered VPP-145 - ip4/6 inacl wiped out vnet_buffer(b)->ip>current_config_index, which exists in main. So, we fixed that by moving b->trace_index, adding b->current_config_index, and removing the ip opaque union current_config_index. Change-Id: Iff132116f66413dc6b31ac3377198c7a32d51f48 Signed-off-by: Dave Barach <dave@barachs.net>
2016-06-17New LISP API map-request itr-rlocAndrej Kozemcak2-1/+97
API to constrain source locator when sending map-requests. lisp map-request itr-rloc <locator-set name> Change-Id: I19f3a1aa8a387ca8662ccf3a4ad774ea7d655f80 Signed-off-by: Andrej Kozemcak <akozemca@cisco.com>
2016-06-15VPP-137: VPP sends ARP with wrong requested IPNeale1-1/+13
Change-Id: I01802f3dab04c940e65236ba6e680f1e504a0a5f Signed-off-by: Neale <nranns@cisco.com>
2016-06-14Add sw_if_index to af_packet_create and various clean upsKeith Burns (alagalah)3-2/+33
Change-Id: I4c2972b55d5d99f3aa7a05885791eef47351c734 Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
2016-06-13Explicity specify IP address type for format_ip46_address functionDamjan Marion1-2/+4
Change-Id: I3379517535a98a7a5fbd3173503f288a81378821 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-06-12Fix next-protocol issue configured from HoneycombHongjun Ni1-1/+1
PatchSet 2: rebuild. Change-Id: I18ee050629129871b44271f92a1e63b661d55c05 Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>
2016-06-10Fix issue: no handler for msg id 13Hongjun Ni1-352/+351
Delete send_sw_interface_flags within sw_interface_dump, because send_sw_interface_details has covered the link status. Change-Id: I8ea8024ff88cfcc5799913762f047767fdb3c79c Signed-off-by: Hongjun Ni <hongjun.ni@intel.com>