summaryrefslogtreecommitdiffstats
path: root/vnet
AgeCommit message (Collapse)AuthorFilesLines
2016-09-22vhost-user: branchless SSE4.2 implementation of map_guest_mem()Damjan Marion2-0/+45
Change-Id: I64349830c1f7534a8d090572e9473c51c0818e51 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-09-22vhost-user: remove dependency on dpdk codeDamjan Marion2-16/+24
Change-Id: I48908e0fa010570aefc43dd552ee81ee69fc2796 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-09-21A Protocol Independent Hierarchical FIB (VPP-352)Neale Ranns172-10658/+39115
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-21VPP-414: Fixed IPSec transport mode in esp_encrypt.cMatus Fabian1-2/+5
Change-Id: I27accb0c87d6bf2fbbe90d8d1bc074697299e639 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-09-21dpdk: fix wrong tx ring size calculationsDamjan Marion4-27/+22
At many places code was using constant ring size od 4096 which was defined in macro DPDK_TX_RING_SIZE. As we support differnet ring size and default value s now 1024, we need to remove DPDK_TX_RING_SIZE and use value stored in device structure. For that reason dpdk_device_t.nb_tx_desc is moved to first cacheline. Change-Id: I2c2ac11f0f5e8ae779d34f9a9104eaf2921ec34c Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-09-20dpdk: move number of sub-interfaces to 2nd cacheline, introduce flagDamjan Marion3-20/+32
This saves 2 bytes from the 1st cacheline. Change-Id: I691a3a0ee07ec2db4ae85b96b451ef53ad8c9458 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-09-20dpdk: use flags for identifying interface typesDamjan Marion8-42/+36
This will allow us to handle some more complex situations like in case when hqos needs to be enabled only for some PMDs. Change-Id: I5421a8d4cf29b8394b9e956cc4e39737dd07dbbb Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-09-20Use SSE instructions for matching tagged frames by ethertypeDamjan Marion3-8/+29
This change improves performance in l2 scenarios for about 1-2%. Change-Id: Ie35ed8ad70a3b95dd78c0d158c485a10dabaf0eb Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-09-20VPP-419 add thread-safety to LLDP featureKlement Sekera2-30/+90
Change-Id: I3b1153a64674c2caef71c968739ecca6512e9929 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2016-09-20fd closed twiceEyal Bari4-5/+8
fd close()ed after call to unix_file_del of same fd Change-Id: Ia8bf77b72b6cea7c70e004199ce11a33b6260720 Signed-off-by: Eyal Bari <ebari@cisco.com>
2016-09-20VPP-282: Document changes for vnet/vnet/ethernetBilly McFall3-32/+146
Change-Id: Ie75f43516fdd76ba3720f65f38d66f14749e3e2d Signed-off-by: Billy McFall <bmcfall@redhat.com>
2016-09-20vhost-user: announce VIRTIO_F_VERSION_1Damjan Marion2-2/+4
On some setups with QEMU 2.7.0 and xenial guests following error message is reported in guest dmesg: [ 0.895944] virtio_net virtio3: virtio: device uses modern interface but does not have VIRTIO_F_VERSION_1 Change-Id: I5a0b3beffe75c9b0344d377098d94923b2ad7ae9 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-09-20Add structure to some of the documentation; VPP-223Chris Luke3-3/+3
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-19Add support for transparent ethernet bridging to GREDavid Hotham6-27/+90
Change-Id: Iaa3cefe223eb48b128893029a17e092b72a5157c Signed-off-by: David Hotham <david.hotham@metaswitch.com>
2016-09-19Cloned buffer refcount was set to 0Christophe Fontaine1-0/+1
The cloned buffer returned by rte_mempool_get_bulk had a refcount set to 0. This triggered an assert in drop-punt node. Change-Id: I77f53abd72dcdbf5dd512a05e13fe6d3fd569843 Signed-off-by: Christophe Fontaine <christophe.fontaine@qosmos.com>
2016-09-15VPP-306: Document changes for vnet/vnet/vxlanBilly McFall2-1/+76
Change-Id: I1ec4a80ee431758998716014e3fb6f80a5b9c168 Signed-off-by: Billy McFall <bmcfall@redhat.com>
2016-09-14VPP-407 fix coverity warningKlement Sekera1-5/+0
Change-Id: Ic3e5df2d272c2b31fbe875e1c09db0edac4813b8 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2016-09-14VPP-408: fix coverity warning in run_ping_ip46_address()Andrew Yourtchenko1-1/+9
CID 147141: Security best practices violations (DC.WEAK_CRYPTO) /vnet/vnet/ip/ping.c: 496 in run_ping_ip46_address() 490 ping_main_t *pm = &ping_main; 491 uword curr_proc = vlib_current_process (vm); 492 u32 n_replies = 0; 493 u32 n_requests = 0; 494 ping_run_t *pr = 0; 495 u32 ping_run_index = 0; CID 147141: Security best practices violations (DC.WEAK_CRYPTO) "rand" should not be used for security related applications, as linear congruential algorithms are too easy to break. 496 u16 icmp_id = rand (); 497 while (hash_get (pm->ping_run_by_icmp_id, icmp_id)) 498 { 499 vlib_cli_output (vm, "ICMP ID collision at %d, incrementing", icmp_id); 500 icmp_id++; 501 } Change-Id: I822350c03afce0b2dd35f37e27f55df82ca3443f Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2016-09-13VPP-404: IKEv2 profile auth rsa-sig cert-file fixedMatus Fabian2-1/+2
Change-Id: Iaeca4a86eb96096d6840d38c16d60641e9179662 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2016-09-13l2_output: reset bit after mapping is createdDamjan Marion1-0/+3
Change-Id: I894d71b397e7451d4e596b10258933287b7e965f Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-09-13VPP-344 Add LLDP featureKlement Sekera9-0/+1851
Change-Id: Iac96773e7f9028c0f09c3388893e69f67177439d Signed-off-by: Klement Sekera <ksekera@cisco.com>
2016-09-13Implement IPv6/IPv4 ping.Andrew Yourtchenko3-0/+874
Change-Id: Id53797c795c17fbacce3659c945f5126dc9dee86 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2016-09-13Add some help into startup.confDamjan Marion1-0/+2
Change-Id: I84e9d7c3ccd32814c3eebf1cef0a4887c75812a8 Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-09-13VPP-292 Document vnet/vnet/lisp-gpeFlorin Coras7-49/+485
Change-Id: I5b282964330f4c14f7991453ee02c455a8d367ea Signed-off-by: Florin Coras <fcoras@cisco.com>
2016-09-13VPP-376: Refactor LISP dump API + VATFilip Tehlar2-4/+11
- refactor VAT so it won't cache data - remove unused filter flag from locator dump API call - json structure changed for locator and EID table dump calls - remote mapping VAT cli now accepts string for negative mapping action Change-Id: I776fb50659aaa7e98ad93715d282a83f78287344 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2016-09-13VPP-288: Documentation changes via doxygen for vnet/vnet/l2.Billy McFall14-53/+564
Change-Id: I55b552fd054610c993d14078ce048c8c4b676104 Signed-off-by: Billy McFall <bmcfall@redhat.com>
2016-09-12MAP: Doxyfying CLI macros - VPP-165Ole Troan1-48/+158
Change-Id: Iee203bf24e8c68e1367d12f297bf31019cc44c5c Signed-off-by: Ole Troan <ot@cisco.com>
2016-09-12af_packet: allocate per-worker list of free buffersDamjan Marion3-8/+15
Change-Id: I7850f04787fa7ce10c0ae8adefa166c91420f02d Signed-off-by: Damjan Marion <damarion@cisco.com>
2016-09-12VPP-392 properly pass flags from vnet_hw_interface_set_flags_helper toKlement Sekera1-2/+1
vnet_main->hw_interface_link_up_down_functions Change-Id: I7aacaebade695e8fec8306426f693f287b605ed8 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2016-09-11Move CLI examples from wiki to code - VPP-165Keith Burns (alagalah)6-4/+243
Change-Id: I50ad0d79a6ffaf0a51848abf2c5ed57e83c8640f Signed-off-by: Keith Burns (alagalah) <alagalah@gmail.com>
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>