aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2020-12-08nat: avoid hairpinning infinite loop problemElias Rudberg2-0/+100
Fix in nat44 hairpinning code to check if anything was actually changed in the snat_hairpinning() routine, and return 0 if nothing changed. This helps avoid an infinite loop repeating the three nodes nat44-hairpinning-->ip4-lookup-->ip4-local in case there was no change. Also add a corresponding test case. Type: fix Signed-off-by: Elias Rudberg <elias.rudberg@bahnhof.net> Change-Id: I95f48476bd002ac4c6789afe504681f1963e5d38 Signed-off-by: Elias Rudberg <elias.rudberg@bahnhof.net>
2020-12-07dpdk: support mlx drivers linked with rdma-coreMohammed Hawari1-3/+9
Change-Id: I8b8e4420f7643df95c27f4a4764809e8ddd2d12e Signed-off-by: Mohammed Hawari <mohammed@hawari.fr> Type: improvement
2020-12-07tests: py2 cleanup - remove subclassing of objectPaul Vinciguerra13-12/+13
Type: refactor Change-Id: I9096e3b473110350e1e8e5936e3c4c164f8969a7 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-12-06wireguard: run feature after gsoNathan Skrzypczak1-0/+1
This allows using GSO with wireguard Type: fix Change-Id: Id00a1425f9d9412aca9f259beda55a46bf5595d7 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2020-12-06vlib: vlib_log for "linux device up" warningsDave Barach1-3/+4
Make it easy to figure out why vpp didn't bind a particular hardware interface in the most common case: the Linux interface is up. Type: improvement Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I99534dd91e0030601c09171a9fbc9ad45af6bf08
2020-12-06tests: refactor ForeignAddressFactoryPaul Vinciguerra1-1/+14
Move ForeignAddressFactory back to test_lisp. It is the only test that uses the code and has embedded addresses specific to the test. Type: test Change-Id: If1a39f9b167e36dd7aff7481350ddb8fe17155d2 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-12-04virtio: fix the interrupt handling for packed queuesMohsin Kazmi1-5/+25
Type: fix Change-Id: I2cc1cfd519e5b3502c59cf72e95e454f9122b8e5 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-12-04crypto: fixed vnet_crypto_async_reset_frame assertPiotrX Kleski1-1/+2
Type: fix Changed vnet_crypto_async_reset_frame assert to expect also ERROR state frames. Signed-off-by: PiotrX Kleski <piotrx.kleski@intel.com> Change-Id: I3abc29f3f9642027aee38a59a932e54c90da859d
2020-12-04crypto: fixed async frame enqueue race conditionPiotrX Kleski3-5/+8
Type: fix To avoid race condition happening in async crypto engines, async frame state and thread index set should happen before enqueue. In addition as the enqueue handler already returns the enqueue status, when an enqueue is failed, the async crypto engine shall not worry about setting the async frame state but let the submit_open_frame function to do just that. Signed-off-by: PiotrX Kleski <piotrx.kleski@intel.com> Reviewed-by: Fan Zhang <roy.fan.zhang@intel.com> Change-Id: Ic1b0c94478b3cfd5fab98657218bbd70c46a220a
2020-12-04acl: fix acl-plugin testcases packet countingAndrew Yourtchenko1-2/+3
Counter checks in ACL tests were incorrect if VPP is running with multiple workers Change-Id: Id095d55c6cd3bfee8aaac6d177984e569e87d29b Type: fix Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2020-12-04libmemif: clean up typosPaul Vinciguerra4-4/+4
Type: style Change-Id: I0d25d922312dfd60a665916cf47c3d2faa29ea49 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-12-04avf: fix coverity issueMohammed Hawari1-1/+2
Change-Id: I1b589c924326a98c4cabe5496ce72b20673b5153 Signed-off-by: Mohammed Hawari <mohammed@hawari.fr> Type: fix
2020-12-04udp session: fix deq notification for dgramsFlorin Coras1-1/+4
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I1440c11fb9d962a05d877aebb4de364c86f9953e
2020-12-04virtio: fix the len offsetMohsin Kazmi1-2/+2
Type: fix Change-Id: I8ce1df5c97941fb645b33476db9cfc74f1395b15 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-12-04ip: fixup memory leak in function ip4_full_reass_drop_allbarryxie1-0/+1
Type: fix The vector 'to_free' allocated on heap should be freed to avoid memory leak. Signed-off-by: barryxie <barryxie@tencent.com> Change-Id: I539498b50a7f3e346c83b869fb400868961c233f
2020-12-04papi: add support for enumflag part 1 of 2Paul Vinciguerra5-19/+160
Allow for papi to accept the new enumflag type. Change-Id: I8d8dc8fdb122e9a1b1881f5b2558635c75e4a299 Type: feature Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com> (cherry picked from commit 299abebe2942b4c78b85f9f3b8843f8213bf1efe)
2020-12-04vppapigen: add parser support for enumflagsPaul Vinciguerra4-57/+221
Type: improvement Change-Id: I0f15862cc8399a4f7c8a81fe44ba8b27d8772278 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com> Signed-off-by: Ole Troan <ot@cisco.com> (cherry picked from commit e15523297bb3905f2e0eef4272fc69a8a92463cc)
2020-12-04stats: fix coverity issuesAndrew Yourtchenko1-4/+3
Usage of the possibly negative value with subsequent check on it makes coverity very unhappy, so put the check before use. Change-Id: I731fbe6246f9e4212d546fd9277bc1ddcd3c2ec1 Type: fix Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2020-12-03lisp: .api dont set defaults in reply messagesPaul Vinciguerra1-3/+3
Type: fix Change-Id: I39afa6ee048dd293c5e17120fa661052eb3477d1 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-12-04tls: allow picotls to use secp elliptic curvesVladimir Medvedkin1-3/+3
Fix typos in macros for elliptic curves over prime field. Type: fix Fixes: f83194c2f4 Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com> Change-Id: I657a7feaf1d1fdf3f2ca74fb3787977c65891a20
2020-12-03virtio: fix the offloads in tx pathMohsin Kazmi1-4/+2
Type: fix Change-Id: I1f1f0b6e8c5ef8bc9f2aca4bdc78e89fa951b841 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-12-03nat: fix forwarding handoff workaroundFilip Varga6-31/+170
A special case when out2in packet needs to be handoffed to other worker thread. We are not able to determine which thread they belong to in the first processing of nat handoff node. These packets needs to go through out2in slowpath before we are able to tell where to handoff them. Type: fix Ticket: VPP-1941 Change-Id: I7173bda970ce6a91d81f48fc72aa2457586a076f Signed-off-by: Filip Varga <fivarga@cisco.com>
2020-12-03tests: remove py2/py3 six compatability libraryPaul Vinciguerra3-6/+1
Type: test Change-Id: Idb6b8169845e0239e639429ccfd02a683212b7e6 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-12-03tls: fix passed argument in openssl pluginVladimir Medvedkin1-2/+2
Thread index used in qat_init_thread() is passed via a pointer to a variable located on a stack that does not exist when qat_init_thread is actually executed. Type: fix Fixes: f4a92f6a1c Signed-off-by: Vladimir Medvedkin <vladimir.medvedkin@intel.com> Change-Id: I65dd4e604b78fcb1cf0452d707f47f9785e6371d
2020-12-03svm: fix mutex consistency on trylockFlorin Coras2-4/+16
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I1370943935b460a1a1a22847fed2c97b1272a5e1
2020-12-03papi: remove python2 patternsPaul Vinciguerra6-40/+18
Type: refactor Change-Id: I541759b4b788acf08599661eb9e7abc58e9283d2 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-12-03papi: allow client control over loggersPaul Vinciguerra6-8/+56
This change enables a client to set debug levels globally as well as individually. exposes loggers as vpp_papi vpp_papi.serializer vpp_papi.transport Type: improvement Change-Id: Ib6bd1a1f552b51a22c9fe3de819a5fb970963ae5 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-12-03stats: char-pointer arithmetic style-upVratko Polak1-6/+4
Char* typed shared_header value appears multiple times, so store it is a variable. Pointer "p" value is used more frequently casted to char*, so use that type for it, and convert to void* only at return. Type: style Fixes: 41f15ae1dfd4ac1777b684fdc763d12496209418 Change-Id: I7b3f1e6a43c020acd7ae561f87d12237b07fcd66 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2020-12-03nat: fix incorrect session removal caseKlement Sekera3-10/+43
Add a condition where a TCP session in transitory timeout is kept instead of being erroneously deleted. Type: fix Signed-off-by: Klement Sekera <ksekera@cisco.com> Change-Id: Ic625c8c88cc8864293ebd57b0321505652af9380
2020-12-02nat: use correct per-thread vlib_mainBenoît Ganne1-8/+8
Using vlib_main of another thread is prohibited. Type: fix Change-Id: I9a85a5fee5c6665d423b4306faf3b3f2c5e22f99 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-12-02papi: improve unit testabilityPaul Vinciguerra3-23/+133
refactor the code so that snippets of json can be used to test vpp_papi example unit test provided Type: improvement Change-Id: Ibec608fd2e5b12515aa4db17d85d4319134c22ea Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-12-02stats: void-pointer arithmetic fixElias Rudberg1-2/+3
Cast to (char *) to avoid pointer arithmetic for (void *) pointers. Type: fix Signed-off-by: Elias Rudberg <elias.rudberg@bahnhof.net> Change-Id: I62607b4cbc553449e2c60d514b4b17dbb4f88216
2020-12-02papi: fix copy/paste errorPaul Vinciguerra1-2/+2
Type: fix Change-Id: I8bd20fb38e132f6ab8cbc0e73095b649b5946498 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-12-02ikev2: fix nat traversalFilip Tehlar2-3/+48
Type: fix Change-Id: Ie723cf680745ec2292a15e2df05c1821436dba19 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2020-12-01session: make pacer worker load awareFlorin Coras2-5/+14
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I71b9d54311fcad808fcdaad0df2dca8c161d580e
2020-12-01session: allow small pacer burstsFlorin Coras5-19/+36
Instead of enforcing a "strict" release of data, which relies on frequent rescheduling of sessions, allow some pacer coalescing, i.e., short bursts, that can minimize load on scheduler/session layer and potentially leverage tso. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I67e38e5b8dc335bd214113b70c68c27ae92bd6da
2020-12-01wireguard: return public key in apiNathan Skrzypczak2-2/+9
Type: feature Change-Id: Iacb0da8bc738ed400678f9bb40e70e0031c6588e Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2020-12-01ipsec: change predictionFan Zhang2-2/+2
Type: improvement This patch changes the prediction of the comparison between SA owner thread index and the current thread index. Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Change-Id: I48de0bb2c57dbb09cfab63925bf8dc96613d8bcf
2020-12-01avf: add TSO supportMohammed Hawari3-21/+120
Change-Id: Ica663e1d07225acf53fd74b0051a5a2a34174960 Signed-off-by: Mohammed Hawari <mohammed@hawari.fr> Type: improvement
2020-11-30tests: Fix unversioned python shebang linesDave Wallace1-1/+1
- Unversioned python shebang lines may cause mixed python 2.7 and python 3 execution in make test. Type: fix Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: Ia82c37be33902718c48878378b8343eedb76c2c8
2020-11-30svm: make svm queue mutex robustFlorin Coras2-2/+9
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I256774c25b3c4105139a4728724a1a0c775e740f
2020-11-30map: add include guard to map.hPaul Vinciguerra1-0/+4
Type: fix Change-Id: I26c3640d9fe82d4cf22f19935eeca1411f9a1c3b Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-11-27dpdk: fix cryptodev compileFan Zhang1-45/+6
Type: fix VPP 20.09 used new cryptodev raw APIs in cryptodev_dp_api.c provided by the DPDK 20.08 patch attached. The APIs has been updated between now and then and will cause Cryptodev engine compile failed when bumping DPDK to 20.11 due to the incompatible API formats. As a temp solution to successfully bumping DPDK version this patch makes the newer DPDK version using old cryptodev APIs by compiling cryptodev.c instead. Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Change-Id: I3db607c8c1b2b028166a750c4d66dfc6ff18814c
2020-11-27ip: Sub Address Family types. Feature enable for each SAFINeale Ranns7-16/+215
Type: improvement Signed-off-by: Neale Ranns <neale.ranns@cisco.com> Change-Id: I318424ffa569d9a09187066d6ba15576757c1cf6
2020-11-26vlib: fix vlib log elog vector overrunBenoît Ganne1-1/+1
vlib log strings are vectors not necessarily null-terminated C-string. Type: fix Fixes: bc867c3d2137dab4b1395196c1936233517980ab Change-Id: Ia805ecdf4e76ccb1001dc93647161ee1c3adebc9 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-11-26svm: use internal function to prealloc fifo hdrsFlorin Coras1-30/+3
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ic13828e235d01ec5b73658e4bdd19e510932713d
2020-11-26nat: fix testsFilip Varga5-110/+42
Fixed nat_ha and ipfix tests. Removed obsolete tests and moved extended tests to standard tests. Type: fix Change-Id: I2d7f4c4fa4c52a4aa10d70c956e085a0fe00b911 Signed-off-by: Filip Varga <fivarga@cisco.com>
2020-11-26vcl: avoid coalescing dgrams on readFlorin Coras1-2/+2
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I035f1ef26202bbcf918548cbaa3cdbc17944bf8a
2020-11-26svm: only try to pre-allocate requested number of fifo pairsBenoît Ganne1-1/+8
Type: fix Change-Id: I6f7679fd48d0ed98677c58f8c08d7e969e8e8220 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-11-26vlib: clean up event-logger CLIDave Barach1-12/+12
Change "elog trace" to "event-logger trace"; corresponding change in test/test_vlib.py, verified that the vlib test vectors still pass even though they're not run on a regular basis ("make GCOV_TESTS=yes TEST=test_vlib ...") Type: improvement Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Idee4aa036573865e071a9bab87e27fb5d53b4933