summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2019-02-25IKEv2 to pluginNeale Ranns17-1341/+1752
for easy integration with ptoducts running their own Ike stack. Without the VPP IKE plugin loaded, the product is free to handle IKE packets as it pleases. Change-Id: Id0839f4d58b797f4c2da0382eb499fc08b05f66f Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-25buffer chain linearizationKlement Sekera6-436/+217
Rewrite vlib_buffer_chain_linearize function so that it works as intended. Linearize buffer chains coming out of reassembly to work around some dpdk-tx issues. Note that this is not a complete workaround as a sufficiently large packet will still cause the resulting chain to be too long. Drop features from reassembly code which relies on knowing which and how many buffers were freed during linearization, buffer counts and tracing capabilities for these cases. Change-Id: Ic65de53ecb5c78cd96b178033f6a576ab4060ed1 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-02-23vhoat: potential crash in map_guest_mem using debug imageSteven Luong1-1/+14
map_guest_mem may be called from worker-thread/dataplane. It has a call to vlib_log and may crash inside vlib_log's ASSERT statement /* make sure we are running on the main thread to avoid use in dataplane code, for dataplane logging consider use of event-logger */ ASSERT (vlib_get_thread_index () == 0); The fix is to convert the vlib_log call in map_guest_map to event logger Change-Id: Iaaf6d86782aa8a18d25e0209f22dc31f04668d56 Signed-off-by: Steven Luong <sluong@cisco.com>
2019-02-23Add support for 19.01jdenisco5-195/+74
Change-Id: I8583f6f6432d8d7c449f43d62d8707a1718f3240 Signed-off-by: jdenisco <jdenisco@cisco.com>
2019-02-23session: separate local session logicFlorin Coras10-529/+607
Move local session to separate header and source files. First step to refactoring local sessions. Change-Id: I280fdfef20ba8a0977d15c1c8ce030ea2fb72dde Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-22tcp: keep snd sack block free listFlorin Coras3-2/+7
Instead of constantly reallocating the new sack block list, keep the old one as a reusable free list. Change-Id: Iad79a72204f97b96352c1c6eea66c2839a35cfe6 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-22Makefile: fix missing help instructionSteven Luong1-0/+2
make pkg-deb-debug and make vom-pkg-deb-debug were missing in the help instruction Change-Id: Ic49a7c29b3394ee9fc259bd40ecf0611470125c6 Signed-off-by: Steven Luong <sluong@cisco.com>
2019-02-22stats: add buffer gaugesFilip Tehlar4-11/+138
Change-Id: I7f7a459f25d64ea5fa36e30d7dccc667bc19c5a9 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2019-02-22VOM: GBP use singular instance if shared-ptr is setNeale Ranns2-3/+20
Change-Id: I845e0aa0b657b7a4745c158c4c510f604f4502bb Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-22IPSEC: header exportsNeale Ranns8-1/+10
Change-Id: I7d48a4e236c6e7b11b0c9750a30fb68e829d64a5 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-22Callback functions must have the correct signatureNeale Ranns3-4/+8
Change-Id: I642823bdc3c7006a0b719ec1e3a9cd75b2b37253 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-22Maintainers list updateMarco Varlese1-8/+0
Change-Id: I133ad79bac79c50caefed01c638f26ec9b3cd6c3 Signed-off-by: Marco Varlese <marco.varlese@suse.com>
2019-02-22avf: fix eat own tail issue on txDamjan Marion1-3/+7
Change-Id: Ie14ca18bab47ac6765ff0799475d0c2a4d936f90 Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-02-22VOM: mroute dump debug level fixNeale Ranns1-1/+1
Change-Id: Ice8c3e76857ee35c079d72d6697e6a3fbc99b7aa Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-22VOM: De-template the ACL code.Neale Ranns9-216/+711
there's something going wrong with the dependency ordering. i have added hacks in the past, but these are not reliable across compiler versions. Change-Id: I34b4aae4c7ed7beaa424cd692ff34cba21ba802a Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-22GBP: include sclass in format EPGNeale Ranns1-1/+2
Change-Id: I6cbc7dafcc59aa67d79c718d88f67d71ee97b4b6 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-22VOM: fix tests and namespacify l2_vtrNeale Ranns10-61/+69
Change-Id: Ie59220a622c3a5195485cd6857b45f57d6eeaf95 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-22GBP: remove testing assertsNeale Ranns2-2/+0
Change-Id: I27ba13b3501debd4dcbda5df05afdcfc497f608f Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-22tcp: send enough dupacks to cover all sack holesFlorin Coras4-14/+37
Make sure we send enough dupacks to cover all the holes created in the last frame received. Also make sure we send all the blocks, not just the first. Change-Id: I9597a34ac14473d1cc3ad07d65bc37043e3d0582 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-22session/vcl: fix coverity warningsFlorin Coras3-2/+7
Change-Id: I9b0e6d65255e516cf5bf18757d4769176ef76e92 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-22tapv2: coverity strikes backSteven Luong1-5/+4
while https://gerrit.fd.io/r/#/c/16590/ fixed the leaked fd which coverity reported at that time, new coverity run reports simailar leaked fd in a different goto punt path. It would be nice if coverity reported both of them at the same time. Or perhaps it did and I just missed it. Anyway, the new fix is to put the close (fd) statement prior to the return of tap_create_if routine which should catch all goto's. Change-Id: I0a51ed3710e32d5d74c9cd9b5066a667153e2f9d Signed-off-by: Steven Luong <sluong@cisco.com>
2019-02-22Add no-append flag to vlib_frame_tDamjan Marion8-4/+20
Change-Id: I01c4f5755d579282773ac227b0bc24f8ddbb2bd1 Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-02-21vhost: VPP stalls with vhost performing control plane actionsSteven Luong3-214/+259
Symptom ------- With NDR traffic blasting at VPP, bringing up a new VM with vhost connection to VPP causes packet drops. I am able to recreate this problem easily using a simple setup like this. TREX-------------- switch ---- VPP |---------------| |-------| Cause ----- The reason for the packet drops is due to vhost holding onto the worker barrier lock for too long in vhost_user_socket_read(). There are quite a few of system calls inside the routine. At the end of the routine, it unconditionally calls vhost_user_update_iface_state() for all message types. vhost_user_update_iface_state() also unconditionally calls vhost_user_rx_thread_placement() and vhost_user_tx_thread_placement(). vhost_user_rx_thread_placement scraps out all existing cpu/queue mappings for the interface and creates brand new cpu/queue mappings for the interface. This process is very disruptive and very expensive. In my opinion, this area of code needs a makeover. Fixes ----- * vhost_user_socket_read() is rewritten that it should not hold onto the worker barrier lock for system calls, or at least minimize the need for doing it. * Remove the call to vhost_user_update_iface_state as a default route at the end of vhost_user_socket_read(). There is only a couple of message types which really need to call vhost_user_update_iface_state(). We put the call to those message types which need it. * Remove vhost_user_rx_thread_placement() and vhost_user_tx_thread_placement from vhost_user_update_iface_state(). There is no need to repetatively change the cpu/queue mappings. * vhost_user_rx_thread_placement() is actually quite expensive. It should be called only once per queue for the interface. There is no need to scrap the existing cpu/queue mappings and create new cpu/queue mappings when the additional queues becomes active/enable. * Change to create the cpu/queue mappings for the first RX when the interface is created. Dont remove the cpu/queue mapping when the interface is disconnected. Remove the cpu/queue mapping only when the interface is deleted. The create vhost user interface CLI also has some very expensive system calls if the command is entered with the optional keyword "server" As a bonus, This patch makes the create vhost user interface binary-api and CLI thread safe. Do the protection for the small amount of code which is thread unsafe. Change-Id: I4a19cbf7e9cc37ea01286169882e5603e6d7eb77 Signed-off-by: Steven Luong <sluong@cisco.com>
2019-02-21string_test: Coverity woeSteven Luong1-2/+0
Coverity complains about dead code as shown below and it is right. The fix is to simply remove the dead code. 503 if (v_indicator != indicator) CID 190173 (#3 of 3): Logically dead code (DEADCODE) dead_error_line: Execution cannot reach this statement: return -1;. 504 return -1; Change-Id: Ibca9e10451a4459db099bef5ecc6939474bdb903 Signed-off-by: Steven Luong <sluong@cisco.com>
2019-02-21Revert "bond: problem switching from l2 to l3"Peter Mikus1-11/+0
During CSIT testing we discovered that LACP tests were failing and producing coredumps. Reverting this patch fix the problem with VPP crashing. This reverts commit f23890138e02d4218c828c427f687f8ecdb0e165. Change-Id: Icf97053ce1473350add885cbebe591f7f3efcbea Signed-off-by: Peter Mikus <pmikus@cisco.com>
2019-02-21physmem: keep physmem VA in 39-bit address space on x86_64Damjan Marion5-6/+45
Some x86 CPUs have IOMMU capable dealing only with 39-bit address space This patch also adds option to specify physmem base address from startup.conf Change-Id: I9e8abd26efb60e9c4ad54c035fb1751a4a61f4dc Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-02-21API: client does not set root permissions on shm segmentNeale Ranns1-4/+2
Change-Id: I4ba099832b646392c1b6fa34236ca3377c9f786c Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-21GBP: BD index not BD IDNeale Ranns1-1/+1
Change-Id: I6da1ea25d688011b7aead1f639dd6a234ca4f20a Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-21vcl/session: send unlisten over message queueFlorin Coras6-20/+84
Change-Id: I68cd6c0e6be3e8088792df3885ae190bb00462b0 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-21tcp: drop outstanding data when entering closing stateFlorin Coras4-7/+16
Change-Id: I92a009b9630b0d882ea3c5c99aad88ed6f5109a0 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-21svm: fix mem ordering for enqueue nocopyFlorin Coras1-1/+1
Change-Id: Ibc852f88747125a895415570349975d3b379a6f4 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-20TESTS: refactor framework send_and_expect.Paul Vinciguerra2-17/+14
Create a common pg_send method for cases when results are just discarded. Change-Id: I786960d2d7bbb96dcb407f6e59aa96951b7b19e7 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-02-20pg: fix payload hex-string bugKingwel Xie1-6/+8
Change-Id: I0ea98bf9c203398d9cf85d22994a10217bb511d2 Signed-off-by: Kingwel Xie <kingwel.xie@ericsson.com>
2019-02-20Remove autotools leftovers from gitignoreBenoît Ganne1-2/+0
Some tracked files were ignored due to gitignore rules that date back to autotools based buildsystem. Update gitignore accordingly. ~# git ls-files -i --exclude-standard Makefile build-root/Makefile build/external/Makefile build/external/deb/debian/dkms/Makefile doxygen/Makefile extras/rpm/Makefile src/vnet/config.h test/Makefile test/doc/Makefile test/ext/Makefile Change-Id: I3326c932cd174434211b744bf5e26bc4da450339 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2019-02-20pg: fix tracing when device-input feature arc is usedDamjan Marion1-6/+4
Change-Id: I82240b43d3a5f3f33ac9ab2de106b3ec0ea31780 Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-02-20pg: fix crash when multiple streams are enqueuing to the same nextDamjan Marion1-1/+1
Only with debug image and when next node is not ethernet-input... Change-Id: Iaa404b5d35d5c04996ff48cd16877858092b78d7 Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-02-20pg: remove no-recycle optionDamjan Marion41-83/+0
Change-Id: Ic47bde2d08b2719b5c6c87cb2e9a8af0d2160e6e Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-02-20calculate per-thread time offsetDave Barach3-1/+66
The main thread squirrels away vlib_time_now (&vlib_global_main), worker threads use it to calculate an offset in f64 seconds from their own vlib_time_now(vm) value. We use that offset until the next barrier sync. Thanks to Damjan for the suggestion. Change-Id: If56cdfe68e5ad8ac3b0d0fc885dc3ba556cd1215 Signed-off-by: Dave Barach <dave@barachs.net>
2019-02-20session: fix local sessions disconnectsFlorin Coras3-23/+23
Change-Id: Ib4ca472aa2413ced7f82d87e4fee65ca86ab1f2b Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-20vom: Fix the versioning issue [vpp-1555]Mohsin Kazmi2-0/+11
vom library was missing version apended to libvom.so This patch fixes this issue. Change-Id: I99a6c282d651e1882574af999f04610d7a2c4d44 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-02-20docs: use python3 for make docs.Paul Vinciguerra2-3/+4
Change-Id: If62b5ef563523b400fb5160d0343210407905094 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-02-20make test-doc: Clean up import errors.Paul Vinciguerra2-1/+8
Mock additional 3rd party modules and replace wildcard imports that were confusing sphinx. Change-Id: Ia9e599901a2a3fad854d3631dd0991183ae6d715 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-02-20tls: add vcl testFlorin Coras5-8/+44
Change-Id: If4c7efaf6506a827e7a95a56c2f6b6060df03fa1 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-02-20IPSEC: API coverity error of unitialised stat_index valueNeale Ranns1-0/+2
Change-Id: If884a3840f34090e33ce7808d38e50f919290d9f Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-20IPSEC-GRE: no clib_warning in the DPNeale Ranns1-3/+0
Change-Id: If30c7334de55d32e57554cf1601c529cd807b834 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-02-19Makefile: correct opensuse 15.0 dep namingEd Kern1-2/+2
This covers both naming option for opensuse leap15 dep package naming Change-Id: I2ade004e44e75c08afde0f3af42b33cd97ce0ebc Signed-off-by: Ed Kern <ejk@cisco.com>
2019-02-19ldp: return byte count from a successful recvfromHaggai Eran1-2/+6
Unless there's an error, recvfrom should return the number of bytes received. The current code returns zero on success due to ldp_copy_ep_to_sockaddr returning zero. Change-Id: Ib843b99a08c44b5ee2d16efe9edab0cf5df65170 Signed-off-by: Haggai Eran <haggai.eran@gmail.com>
2019-02-19reassembly: handle ip6 atomic fragmentsKlement Sekera1-6/+3
Change-Id: Ide3425f144fb17201dcde7ba89f39e460048100d Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-02-19avf: fix feature arc, take twoDamjan Marion1-1/+2
Change-Id: Ic191850739da82de32d87bbf17947b55cf962f2d Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-02-19reassembly: fix buffer usage counterKlement Sekera2-5/+12
Change-Id: I713904f8eb2f724cb08dba494c160c14cc8b24a1 Signed-off-by: Klement Sekera <ksekera@cisco.com>