summaryrefslogtreecommitdiffstats
path: root/src/vnet
AgeCommit message (Collapse)AuthorFilesLines
2018-09-14Remove scaffoldingDave Barach2-14/+1
Change-Id: I4acebbf76556428bb45356c8e5b85c72a85a1656 Signed-off-by: Dave Barach <dave@barachs.net>
2018-09-14vlib: introduce user flags in vlib_frame_tDamjan Marion2-3/+3
Those flags have local significance and they can be used for sending hints to the next node. Change-Id: Ic2596ee81c64cd16f96344365370e8fcdc465354 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-14Revert "L2-input: use vlib_buffer_enqueue_to_next"John Lo2-320/+242
The patch did not improve single input link performance and degrade performance with multiple input links. This reverts commit b1232555e91b286feab5667b5a22f29aa8e96626. Change-Id: Ib9336a2e0610088b9145a43cacbdadb52dabd522 Signed-off-by: John Lo <loj@cisco.com>
2018-09-14vcl: keep track of unexpected eventsFlorin Coras2-5/+4
If sessions are marked as blocking, events for other sessions received while waiting for the blocking sessions, are added to a pending list and processed later. Change-Id: Ia6c71006b1c2bcb78af708390da0cd436af397cc Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-14Fix memory leak in API/CLI to create/modify SR policiesJohn Lo4-0/+8
The segment list vector built by the API/CLI is not freed after SR policy creation or modification. Change-Id: If439005481cada6c6af7cb560fe7a4381dd49384 Signed-off-by: John Lo <loj@cisco.com>
2018-09-13L2-FWD: use vlib_buffer_enqueue_to_next and cache prefetch fixNeale Ranns4-201/+159
before: l2-fwd ... 1.72e1 256.00 after: l2-fwd ... 1.49e1 256.00 Change-Id: I24b29b799435776abc6e60df0dd0301b74aac99b Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-12Trivial: Fix lisp flag labelPaul Vinciguerra1-1/+1
Change-Id: Ic5339169124edc8ea1f82ffcba7cde8b7f224e83 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2018-09-13IP-neighbor: add and delete internal APINeale Ranns6-58/+118
Change-Id: I4d1ab5ff0c8f0756e91bf63e045f88513bb7d039 Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-09-13L2-input: use vlib_buffer_enqueue_to_nextNeale Ranns2-242/+320
use the same trick as l2-ouput to group the processing of packets on the same interface. Change-Id: Ib2a6a1b5f362372936197f5bb2fdd0fe9439226b Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-12fix missing extern in vnet/ethernet/node.cDamjan Marion1-1/+1
Change-Id: Idabdd1112ba7e390a7b14a83cc7fbd198c8754df Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-12L2-Learn: use vlib_buffer_enqueue_to_nextNeale Ranns1-195/+147
before: l2-learn ... 2.00e1 256.00 after: l2-learn ... 1.77e1 256.00 Change-Id: I22fe9ab4ec995ee22c547cfe16bf88c04838520c Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-12vhost: Fix VPP crash when reloading VM with mixed-type ports [VPP-1406]Yichen Wang2-1/+15
When VM is having mixed type of vhost-user and SRIOV ports, QEMU (RedHat v2.10) will not send disconnect signal to VPP, and just gives the new memory region directly. VPP is not able to handle new memory region mapping without disconnect signal first, which will result in a SEGV. The fix will handle the VM reboot scenario without explict disconnect signal from QEMU. The fix is to invalidate the avail, desc, and used pointers in the txvq when the new memory regions are received. This is because these pointers are not valid anymore with the new memory regions. In the input node, check to make sure the avail pointer is valid and punt if not. Change-Id: Ieb8b427b202f4442a58907dab1661d63a03650de Signed-off-by: Yichen Wang <yicwang@cisco.com>
2018-09-12VXLAN-GBP: use common types on the APINeale Ranns4-81/+73
Change-Id: I11ec0d7048d36c30a97d437e5b0abd05f06ab0eb Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-12vcl: improve read and fifo event handlingFlorin Coras4-1/+30
Change-Id: Ic1c51818b8aa8dbd164e70bb3b7471868e5af6f6 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-11indent off in ip_lookup_set_buffer_fib_indexNeale Ranns1-4/+5
when the name of the structure crosses a line boundary it's painful to parse... Change-Id: I5d0606900802fb8d64a065f31f3e2a53bd8a5f40 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-11L2-learn; cache prefetch fixNeale Ranns3-16/+23
the header is written (STORE) the data is only read (LOAD) Change-Id: Ia3ac0c81224a0db736c329ed3e2e55b7417f08a0 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-11GBP Endpoint UpdatesNeale Ranns1-0/+7
- common types on the API - endpoints keyed in various ways for DP lookup - conparison functions for VPP IP address types Change-Id: If7ec0bbc5cea71fd0983fe78987d147ec1bd7ec8 Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-09-10new multiversioning on ethernet input nodesDamjan Marion2-35/+17
Change-Id: I1aa196756b3ff4969b8ff2f117778d2cd87d6dd5 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-10vxlan-gbp: Add support for vxlan gbpMohsin Kazmi15-1/+3435
This patch implements vxlan with extension of group based policy support. Change-Id: I70405bf7332c02867286da8958d9652837edd3c2 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-09-10session: lock app worker mq for io eventsFlorin Coras5-30/+26
Also fixes vcl client/server stats and closing procedure. Change-Id: I7d5a274ea0a3c8ea13062bf61bf402248dfe1a19 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-08L2 BVI/FIB: Update L2 FIB table when BVI's MAC changesNeale Ranns19-14/+66
also some moving of l2 headers to reduce dependencies Change-Id: I7a700a411a91451ef13fd65f9c90de2432b793bb Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-08vcl: set worker pthread stop keyFlorin Coras1-1/+1
Otherwise the key destructor is not called on pthread_exit. Change-Id: I11e6b9683a926eecd3f40a44aab41924ff9c3101 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-08session: detect namespace for transport appsFlorin Coras3-4/+20
Change-Id: I770607cb213d538a29d7bd5762682981b01e9d18 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-07session: fix reentrant listensFlorin Coras3-16/+22
Change-Id: I72d400401a308012b43513179870823f6f921e44 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-07L2-FIB: replace bit-fields with flagsNeale Ranns6-69/+132
Change-Id: Ic31da442a0e0477569d53b4a72627bbb25e93365 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-07IP route update fix when multipath and drop setNeale Ranns1-20/+14
Change-Id: I9cec7486cb6e3c5261d74d2b15a4d19469285a30 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-07vcl: refactor test client to support workersFlorin Coras1-1/+1
Change-Id: I7fcfddc2bc7d9a64f8aa0d57ba5d11d325a15ce1 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-07geneve: fix variable initial valueZhiyong Yang1-1/+1
It is not good enough to initialize sw_if_index0 = 0, sw_if_index1 = 0, as it maybe causes the first two incoming packets to miss necessary computation. Change-Id: Ifcab408d9514820e0daa280f4c73956db13b59be Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
2018-09-06vxlan: improve encap performanceZhiyong Yang1-2/+10
1. For vxlan, prefetching one cacheline is enough. 2. Reduce vlib_increment_combined_counter functtion calling if possible. Change-Id: If3a72ac40c8988caaf0d5915b695f86d799f15a9 Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
2018-09-06eth_mac_equal takes const pointersNeale Ranns1-1/+1
Change-Id: I5a47d30d783dcf000e3ca2bcdc46e7d93654cc37 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-06vxlan_gpe: optimize encap performanceZhiyong Yang1-32/+47
The patch can reduce 13 cycles per packet for the graph node vxlan-gpe-encap and increases 5% or so vxlan_gpe encap throughput on Haswell platform for the best case (All pkts have the same sw_if_index). Change-Id: I9c70fd3e0f2f0a9d922cf64970d0b0d51b772024 Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com>
2018-09-06vcl/session/svm: fix coverity warningsFlorin Coras1-3/+3
Change-Id: I27532b3ab244dc95955e836a42b229a6e4e32818 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-06session: support multiple worker bindsFlorin Coras13-333/+601
Allows app workers to listen on the same session endpoint. Incoming connects are spread across the workers in a round-robin fashion Change-Id: Ib5f5817230d9abc6127a85cdbdcad70d980c0f7f Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-06Enum type on the API for QoS sourcesNeale Ranns2-14/+49
Change-Id: I877541ede6e26581c659821502f23b777903b82f Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-05Add missing API MAC address encode implementationNeale Ranns1-0/+1
Change-Id: I4cb073f23a7f24f0fc16f2eda8b869dbe657f71b Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-04l2_output:skip processing if no features are enabledEyal Bari1-2/+6
Change-Id: I7fcc082376b451c6179ec2ef58f98c931adfed27 Signed-off-by: Eyal Bari <ebari@cisco.com>
2018-09-03Deprecate old buffer replication schemeDamjan Marion4-423/+0
Change-Id: I1f54b994425c58776e1445c8d9fe142e7a644d3d Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-08-31IPx address query functions take a const pointerNeale Ranns2-34/+33
Change-Id: I45b0c48e89cb1ea556c795f6163a8346f2e2e0da Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-08-31Fix typoDave Barach1-1/+1
Change-Id: Iadf4ce27f56400b669b80f2e718b6d4330c949a5 Signed-off-by: Dave Barach <dbarach@cisco.com>
2018-08-31FIB path CLI fix for lookup-table IDsNeale Ranns1-0/+12
Change-Id: I8c127d472e0010036061a8a076599d1ff85abab5 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-08-31Introduce a mac_address_t on the API and in VPPNeale Ranns8-2/+239
Change-Id: I05d6c2cb5d34de469eb050e4ee10dc6b954c986d Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-08-31VPP-1407: Fix the wrong length of udp header for buffer chainsshubing guo1-1/+4
Change-Id: I1669faeac15dfb69e335a1e96b6da118dc1892c1 Signed-off-by: shubing guo <guo.shubing@zte.com.cn>
2018-08-31VPP-1408: Fix bug that wrong tx fifo drop in buffer chains flow of dgram modeshubing guo1-1/+4
-- Not drop session dgram hdr when to drop processed udp message from tx fifo Change-Id: Id5ce5780817041bca05011f7b9b53e97a6d78da4 Signed-off-by: shubing guo <guo.shubing@zte.com.cn>
2018-08-30vcl: add support for multi-worker appsFlorin Coras2-1/+7
Add basic support for app registration of multiple workers. LDP does not work with multi-worker apps. Change-Id: I3fc421a2a591a077b275827463f874b261415a63 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-08-30cmake: add missing headerDamjan Marion1-0/+4
Change-Id: Ie1aa5c34fa3a4f9940741b8ae55b93e021ced404 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-08-30Refactor the ARP throttle into a common type so it can be reusedNeale Ranns6-33/+126
Change-Id: Ic7f7af983d5b6d756748023aa0c650f53e9285cf Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
2018-08-30Add SHA2 support to IKEv2 implementationBerenger Foucher2-8/+89
The following patch adds a stronger cryptographic suite to IKEv2 implementation. The following algorithms can now be used for integrity checking in IKEv2 implementation (responder and initiator): - hmac-sha2-256-128 - hmac-sha2-384-192 - hmac-sha2-512-256 The default integrity checking method was set to hmac-sha2-256-128. The default PRF function was set sha2-256. Change-Id: Ia82b4cbbf3067b19b8487040dbefbaf4c9319548 Signed-off-by: Berenger Foucher <berenger.foucher@stagiaires.ssi.gouv.fr>
2018-08-30SR-MPLS: fixes and testsNeale Ranns4-3/+30
- the FIB path takes a vector of type fib_mpls_label_t not u32 so the untype safe vec_add did not work - write som eSR-MPLS tests - allow an MPLS tunnel to resolve through a SR BSID Change-Id: I2a18b9a9bf43584100ac269c4ebc286c9e3b3ea5 Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-08-29SR-mpls: do not pass empty label stack to fibNeale Ranns1-10/+11
Change-Id: Ib1601d01a54296e72be3bbfa057fce965549b02b Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-08-29Address bfd rpc scale issuesDave Barach3-24/+280
Remove the expensive RPC call for every received packet and replace it with lock-protected direct calls. Reinstate RPC for the less frequent notification traffic. Adjust the wakeup event sending logic to minimize the number of events sent, by measuring the time it takes from sending the event to processing it, and subsequently not sending the event if the pending wake-up time is within 2x or the event propagation delay. Eventually: remove oingo / oingoes. Change-Id: I0b3d33c5d029527b54867a97ab07f35f346aaa3d Signed-off-by: Dave Barach <dave@barachs.net> Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com> Signed-off-by: Steve Shin <jonshin@cisco.com> Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>