summaryrefslogtreecommitdiffstats
path: root/vnet
AgeCommit message (Collapse)AuthorFilesLines
2016-09-07Fix bugs in IPFIX code discovered by coverityJuraj Sloboda3-24/+29
Change-Id: Ibe6ccb99c3c29c14efb34191f209a2f6a14293f7 Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2016-09-07VPP-388 Improve IP header lookup in ipsec_outputFlorin Coras1-7/+7
Change-Id: I5df0067c9ce56d7a15a991b82d4761924d91758b Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-09-07Fix MTU size for the bonded interfaceSteve Shin1-0/+12
Configure the MTU/L3 packet size of the bonded interface as the lowest value of the slave intefaces Change-Id: I34fb4c2156e8ad3d9bf45efe332405d53f72867c Signed-off-by: Steve Shin <jonshin@cisco.com>
2016-09-07VPP-387: Fixed ipsec-input traceMatus Fabian1-20/+31
Change-Id: I0a687c5d5f745a6c82a58c8e20b987180704a685 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-09-07Vhost-User: Implement Indirect DescriptorsPierre Pfister2-94/+182
One of the main issue with virtio is the small queue size. VPP can quickly fill the queue before Linux could empty it, resulting in packet losses. Virtio indirect descriptors double the number of packet which may fit in the virtio queue (From 128 to 256 with standard qemu which hardcodes queue size to 256). Linux will not use such descriptors if the virtio MRG feature is enabled. You may add mrg_rxbuff=off option to qemu commandline when starting the VM such as to disable this feature. This way, Linux will use indirect buffers to receive packets. But it seems that Linux never uses indirect buffers to send packets. This patch also includes some optimization modifications. Change-Id: I26940d41ce6b7e3a08d5516018a8c46c5316ce1c Signed-off-by: Pierre Pfister <ppfister@cisco.com>
2016-09-07VPP-204 Rework and finish IPFIX implementationJuraj Sloboda4-96/+470
Rework flow report registration system - add streams Add support for IPv6 and src and dst ports for TCP and UDP protocols Implement binary API for IPFIX classifier module Change-Id: Id05cc0127a7b95ceaeebf9c79a32c6936449bd63 Signed-off-by: Juraj Sloboda <jsloboda@cisco.com>
2016-09-06VPP-346 More VPP doc fixesChris Luke8-19/+22
- Fix issue in Doxy dependency check when nothing needs to be installed. 'set -e' and plain '[]' logic don't mix well. - Fix Makefile snafu when building Doxy output for a single file. - Include only one of vnet/vnet/buffer.c/dpdk_buffer.c in docs depending on DPDKness. This could do with some improvement in future, eg to properly align the pre-doxy steps with what Doxy does. - Fix rendering of 'inline' tag in Doxygen by having it interpret always_inline as "inline static". - Bunch of duplicate CLI command structure names that confused docs and may one day have caused debugging issues. - Several other Doxygen syntax issues fixed, like documenting non-existant parameters (usually just the wrong parameter name, typos, etc) Change-Id: Ia8cca545e5de9f8750602bffa3c4548acc8971aa Signed-off-by: Chris Luke <chrisy@flirble.org>
2016-09-06Add packet/byte count output tx stats to tunap interfaceJohn Lo1-0/+12
Change-Id: I167c49d2a64e7a36a176d57054ecd99b398a9cca Signed-off-by: John Lo <loj@cisco.com>
2016-09-06Move iOAM Trace as a pluginVengada Govindan3-822/+547
Change-Id: I78322e91485e5429871bd356f668b8ed90f4265a Signed-off-by: Vengada Govindan <venggovi@cisco.com>
2016-09-06VPP-386 Fix map-server output in lisp-cp-lookup traceFlorin Coras1-6/+3
Change-Id: I67dd7896932b8ea96062b9ff074959c172b51ba4 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-09-06IPsec speculative enqueue in exception path, fixes VPP-384Sergio Gonzalez Monroy2-3/+8
Enqueue buffers into next frame before validating them. Change-Id: I466518bc6f304678136a2c3d37f136ce878eef05 Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2016-09-06VPP-385: Fix ARP for indirect adjacenciesFlorin Coras1-0/+16
Change-Id: I48cffb8acbd9e6655d7ec661ee8f7e0689b12a2d Signed-off-by: Florin Coras <fcoras@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-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-01VPP-346 A swathe of doc fixesChris Luke21-92/+110
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-08-31VPP-369 Add an L2 output classification featureDave Barach8-133/+987
Change-Id: If03162d328c1ea179249e734537ebb01bade3331 Signed-off-by: Dave Barach <dave@barachs.net>
2016-08-31VPP-358: Add IPv6 ND Event Notification and TerminationJohn Lo6-62/+381
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-240: delete subinterfacePavel Kotucek3-1/+68
Added new CLI and API command to delete subinterface. Change-Id: Ia92a8facc6ad84634bdec430093e6add02ee674e Signed-off-by: Pavel Kotucek <pkotucek@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-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 Troan4-11/+228
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-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 Tehlar1-3/+33
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-25VPP-228 VPP-326: MAP: Adding additional API/CLI input parameter checks.Ole Troan1-19/+30
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-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 Marion4-9/+61
VPP-349 Change-Id: I774bab98e43d55678a67a7708ca50edbbd4cbb06 Signed-off-by: Damjan Marion <damarion@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-23Fix PCI vendor_id/device_id detection for SR-IOV devicesDamjan Marion1-9/+7
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 Tehlar3-4/+21
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 metadataShwetha3-124/+341
- 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 Barach20-186/+665
- 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-19vhost-user: unmap previously configured memory if necessarySteve Shin1-0/+3
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-18tuntap_rx modification to handle jumbo packets ( > 2K bytes)Steve Shin1-4/+13
Change-Id: Iebe30b87457741ac268b24c96fa7ea8ad1e101a6 Signed-off-by: Steve Shin <jonshin@cisco.com>
2016-08-17VPP-202: L2-GRE over IPSecv16.12-rc0Matus Fabian17-22/+1527
GRE encapsulate layer 2 traffic and IPSec encrypt what is encapsulated by GRE. The whole point of L2-GRE over IPSec is to tunnel layer 2 over GRE and IPSec by bridging the physical interface with IPSec-GRE tunnel interface. Change-Id: Ia4cf9ed407bf663770e0d8905c0ad44ce73bd23b Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-08-17Coding standards cleanup in vnet/vnet/devices, fixes VPP-248Damjan Marion19-2975/+3646
Change-Id: I35cf89bf1aa54b76294876e9feb0ed0ccc316975 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-08-17VPP-261 Coding standards cleanup - vnet/vnet/lisp-gpeFlorin Coras6-1935/+2046
Change-Id: I1bc2098e79ce753f3d72f05f2fcac9ab00d0d052 Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-08-17VPP-260 Coding standards cleanup - vnet/vnet/lisp-cpFlorin Coras11-2078/+2269
Change-Id: I29b84c44c12ab746e9e61c30efa0ac3418d1a09a Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-08-17Fix coverity issues in IPSec code, fixes VPP-189Damjan Marion5-17/+29
Change-Id: I4e43606884ebad9a84abda779b82417192727ef3 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-08-17Coding standards cleanup - remove trailing whitespace, fixes VPP-332Damjan Marion20-160/+160
Change-Id: I649a17f8fa47599faf438b2e596f53761790d10c Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-08-16Coding standards cleanup in vnet/vnet/devices/dpdk, partially fixes VPP-248Damjan Marion8-3635/+4146
Change-Id: Ie3ee4ccc126c5db9020779cbd06b0d1da99c8411 Signed-off-by: Damjan Marion <damarion@cisco.com>