summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2018-09-17STATS: Dynamically mapped shared memory segmentOle Troan18-692/+778
Move from using a hash to a vector with offsets into shared memory. Limit exposure of VPP data structures and include files to external stats library and applications. Change-Id: Ic06129f12d10cf4c4946a86d9bc734eacff2c7da Signed-off-by: Ole Troan <ot@cisco.com>
2018-09-16Register cdp_input when enabled for the first timeDave Barach3-26/+42
Graceful handling of unknown tlv types Change-Id: Idbc9ed524fc8b865c8e12571813cc73548bde480 Signed-off-by: Dave Barach <dave@barachs.net>
2018-09-16vmxnet3: fix clang initialization errorFlorin Coras1-1/+2
Change-Id: I2958bd3bdec98d3e380a8ff8f970563020e28afd Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-16fix nsh map index error, it will cause vpp appear Segmentation fault when ↵zhanglimao1-1/+1
vpp process double packages Change-Id: Ib32bb351356b84aaf696c57398610b52a5a1f4dd Signed-off-by: zhanglimao <zhanglimao0017@gmail.com>
2018-09-15tls: fix openssl engine write complete conditionFlorin Coras1-1/+1
Change-Id: Ic1526f6916970ce2b0c4fc0d148d4396fa629b5f Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-15session: ensure detach is done with worker barrierFlorin Coras1-7/+12
Change-Id: I98a79f2c3b0268c414dd295c7ebfc561ce049d4b Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-15tls: use application interface apisFlorin Coras1-15/+23
This also exposes app to tls sessions. As a result "sh session verbose" will show for each tls session both the application's session (app to tls) and the tls session (tls to tcp). Change-Id: I1e65c63362ce58f314e762d7db78b44479e1e3a5 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-14vmxnet3 device driverSteven Luong14-0/+3173
Implemented vmxnet3 deivice driver for VMWare ESXi. Tested with Ubuntu 18.04 connected to ESXi 6.0 Ubuntu-18.04 (VPP) --- ESXi-6.0 Change-Id: I85fbc86f2d8532b017bc4271612d17e24e498e4d Signed-off-by: Steven Luong <sluong@cisco.com>
2018-09-14BIER API and load-balancing fixesNeale Ranns17-93/+416
Change-Id: Ibda19d786070c942c75016ab568c8361de2f24af Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-14Remove scaffoldingDave Barach2-14/+1
Change-Id: I4acebbf76556428bb45356c8e5b85c72a85a1656 Signed-off-by: Dave Barach <dave@barachs.net>
2018-09-14cpack: add deb/rpm packaging to VPP moduleDamjan Marion10-19/+116
This allows easy packaging of external projects, including VOM and sample plugin. i.e. $ make -C build-root PLATFORM=vpp TAG=vpp sample-plugin-install $ ninja -C build-root/build-vpp-native/sample-plugin package ninja: Entering directory `build-root/build-vpp-native/sample-plugin' [0/1] Run CPack packaging tool... CPack: Create package using DEB CPack: Install projects CPack: - Install project: sample-plugin CPack: - Install component: vpp-plugin-sample CPack: - Install component: vpp-plugin-sample-dev CPack: Create package CPack: - package: build-root/build-vpp-native/sample-plugin/vpp-plugin-sample_18.10~rc0~413~g1433e9d1-1_amd64.deb generated. CPack: - package: build-root/build-vpp-native/sample-plugin/vpp-plugin-sample-dev_18.10~rc0~413~g1433e9d1-1_amd64.deb generated. Change-Id: I6b3ec2433961e53edd976b19659ce214d272c40a Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-14dpdk: add detection of mellanox PMDsDamjan Marion1-0/+10
Change-Id: I523fc489f5e73ba726ab0711eab3fdde53dc35e8 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-14vlib: introduce user flags in vlib_frame_tDamjan Marion5-19/+23
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-14acl-plugin: do not do clib_smp_atomic_add on per-worker countersAndrew Yourtchenko1-2/+2
Just do a regular increment, since we are not contending for these counters. This also makes the tests pass on ARM ThunderX (VPP-1395). Change-Id: I333aaa11d4145d13d322868900bc114df85a020d Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.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-14Ehnance and fix vpp_api_test and custom_dump to support SR-MPLSJohn Lo2-33/+328
Change-Id: I2e06de176f4272b4b7475857b42fe0d106382b6f Signed-off-by: John Lo <loj@cisco.com>
2018-09-14vcl: keep track of unexpected eventsFlorin Coras6-257/+303
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-14cmake: use VPP package in VOMDamjan Marion3-8/+12
Change-Id: I83b244be920521e580085beffb7e40613e67c8ee Signed-off-by: Damjan Marion <damarion@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-13Add a polling configure to make thread bind with hardware enginePing Yu1-4/+9
Change-Id: Ib4130098dd9bf45370bdee9a04e4804074df58b1 Signed-off-by: Ping Yu <ping.yu@intel.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-13vppinfra: optmize clib_count_equal functionsDamjan Marion1-60/+136
Change-Id: Ia4c79d560bfa1118d4683a89a1209a08c5f546b3 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-13NAT: TCP MSS clampingMatus Fabian11-0/+302
NAT plugin changes the MSS value in TCP SYN packets to avoid fragmentation. If the negotiated MSS value is greater than the configured value it is changed to the configured value. If the negotiated MSS value is smaller than the configured value it remains unchanged. Change-Id: Ic3c4f94a2f1b76e2bf79f50f3ad36a4097f3f188 Signed-off-by: Matus Fabian <matfabia@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-13Fix: vppapigen make build fails on fresh installPaul Vinciguerra6-7/+7
Steps to reproduce: vagrant@localhost:/vagrant$ build-root/vagrant/build.sh ... @@@@ Building vpp in /vagrant/build-root/build-vpp-native/vpp @@@@ [51/1169] Generating API header /vagrant/build-root/build-vpp-native/vpp/vlibmemory/memclnt.api.json FAILED: cd /vagrant/build-root/build-vpp-native/vpp/vlibmemory && mkdir -p /vagrant/build-root/build-vpp-native/vpp/vlibmemory && /vagrant/src/tools/vppapigen/vppapigen --includedir /vagrant/src --input /vagrant/src/vlibmemory/memclnt.api JSON --output /vagrant/build-root/build-vpp-native/vpp/vlibmemory/memclnt.api.json AttributeError: 'module' object has no attribute 'dumps' This seems to be due to JSON.py namespace colliding with the standard lib json.py Change-Id: If389e4e05ef0c166b0c2b3bef7ec0185298679a8 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.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 bihash test codeDave Barach1-0/+7
Change-Id: Ie71b99385c33122cbf55f80ebabdc2ccdb4cf2ae Signed-off-by: Dave Barach <dave@barachs.net>
2018-09-12cmake: create cmake VPP module, update sample-plugin so it uses itDamjan Marion11-135/+143
Change-Id: I32e91ba8e55797ffe169f98b09bdb42caa5c7de2 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-12Always use 'lib' instead of 'lib64'Damjan Marion24-81/+58
It is packaging responsibility to put libs in the right place. Use of lib64 resulted in huge amount of files with hardcoded lib64. This patch simplifies things... Change-Id: Iab0dea0583e480907732c5d2379eb951a00fa9e6 Signed-off-by: Damjan Marion <damarion@cisco.com>
2018-09-12Fix LB memory leak and remove useless codePierre Pfister1-11/+1
Vector sort_arr was actually never freed. This change also removes some nearby code which happens to be totally useless. Change-Id: I2f265c1b4770cbcd75a2fb69ea54e46e1b54245a Signed-off-by: Pierre Pfister <ppfister@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 Ranns6-105/+104
Change-Id: I11ec0d7048d36c30a97d437e5b0abd05f06ab0eb Signed-off-by: Neale Ranns <nranns@cisco.com>
2018-09-12device flags will set in dpdk_update_link_state.Khers1-2/+0
Change-Id: If74acb0168bed2201d2a8b47bf3f860540d1574b Signed-off-by: Khers <s3m2e1.6star@gmail.com>
2018-09-12Add patch for ixgbe x550 SFP+ to DPDK 18.08Matthew Smith2-1/+40
Patch for ixgbe which has been used with DPDK 18.02, 18.05. If the link flaps before link status has been successfully collected, the MAC will be reset and the PMD will not wait long enough for it to come back up before giving up, which will continue happening every time an attempt is made to check the link status. This patch was submitted to upstream DPDK in July 2018 but it has not been included in a release yet. Change-Id: Ib2100b33d2a986f3cf74e42fc5538412f76f42c7 Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2018-09-12Add and enable u32x4_extend_to_u64x2_high for aarch64 NEON intrinsics.Sirshak Das2-1/+11
This is the high version of extendto. This function accomplishes the same task as both shuffling and extending done by SSE intrinsics. This enables the NEON version for buffer indexes to buffer pointer translation. Change-Id: I52d7bbf3d76ba69c9acb0e518ff4bc6abf3bbbd4 Signed-off-by: Sirshak Das <sirshak.das@arm.com> Reviewed-by: Steve Capper <steve.capper@arm.com> Reviewed-by: Yi He <yi.he@arm.com> Verified-by: Lijian Zhang <lijian.zhang@arm.com>
2018-09-12Fix create memif socketEd Warnicke1-16/+0
create interface memif [id <id>] [socket-id <socket-id>] ... Can optionally take a socket-id. You create a socket-id with: create memif socket [id <id>] [filename <path>] Unfortunately, this doesn't work because "create memif" was deprecated. It results in: vpp# create memif socket id 0 filename /run/vpp/test.socket command deprecated. Please use 'create interface memif' instead. This fixes it by clipping out the create memif command entirely. Change-Id: If503758706bf758b6cb46e958200527a5856c600 Signed-off-by: Ed Warnicke <hagbard@gmail.com>
2018-09-12vcl: add apis that expos fifo as bufferFlorin Coras8-55/+320
Change-Id: I4bd9c9f73499711e04b38d53daa5c917a4285bf5 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-12vcl: improve read and fifo event handlingFlorin Coras9-22/+58
Change-Id: Ic1c51818b8aa8dbd164e70bb3b7471868e5af6f6 Signed-off-by: Florin Coras <fcoras@cisco.com>
2018-09-11bihash 32/64 bit shared memory interopDave Barach2-39/+39
This patch makes 32/64 bit interoperable shared memory bihash tables work regardless of where they're mapped. Change-Id: If5b4a37ccdaa75410eba755c7d7195633de1b30b Signed-off-by: Dave Barach <dave@barachs.net>
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 Ranns39-677/+1120
- 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-11vat: remove the endiness for u8Mohsin Kazmi1-1/+1
Change-Id: I9636a4e631cacf22d3189e292888c34f615298b0 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2018-09-11VAT: plugin load errorsOle Troan2-4/+22
- NSH plugin overrode vat_api_hookup() - Missing format function in mactime. Change-Id: I2dcbc2522d8f525d223c2ee3bb667111d1b3b78e Signed-off-by: Ole Troan <ot@cisco.com>
2018-09-11remove libvlib from libvlibmemoryclient libsMatthew Smith2-2/+2
On CentOS 7, having libvlibmemoryclient link libvlib causes a SEGV when a program or library is run which links against libvlibmemoryclient and dlopen() is called. This is because dlopen() executes any functions with __attribute((constructor)) set. The VLIB_CLI_COMMAND macro creates CLI registration functions that have this attribute set. So CLI registration functions end up being run by applications which are clients of the VPP API. This doesn't occur on ubuntu 16.04, because ld seems to omit shared libraries that were listed on the command line if they are not used to resolve any symbols. Removing the link to libvlib on vlibmemoryclient to fix this problem results in another problem. Tests of libvcl_preload fail when running 'make test'. This happens because libvcl_preload calls dlopen but does not link against libdl. When libvlibmemoryclient had libvlib linked, these errors did not occur since libvlib links libdl. Adjusted the build of libvcl_preload to explicitly link libdl. Change-Id: I271ba2f9226ce1602e1f6c1525f3b093bb0345ed Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2018-09-11nat: fix busy ports of each threaddongjuan1-4/+15
which can create dead loop in nat_alloc_addr_and_port_default function Change-Id: I468c25ce0f0a0b3f881de564623dea208b2ca700 Signed-off-by: dongjuan <dong.juan1@zte.com.cn>
2018-09-11Replacing vtbl NEON intrinsic with rev NEON intrinsic for byte_swap.Sirshak Das1-5/+1
Using rev16 vector intrinsic to reverse byteorder in each word independently. Change-Id: I071c40780baffe0bda614ec5d9dd92858f574b0d Signed-off-by: Sirshak Das <sirshak.das@arm.com> Reviewed-by: Steve Capper <steve.capper@arm.com> Reviewed-by: Brian Brooks <brian.brooks@arm.com> Reviewed-by: Yi He <yi.he@arm.com> Verified-by: Lijian Zhang <lijian.zhang@arm.com>