summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2019-10-27ping: Move to pluginMohsin Kazmi8-23/+50
Type: refactor Change-Id: I51d5bf54dfd408aa0c406cbdf0f4be10ef19d10d Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com> (cherry picked from commit 26c7a4b0b6488423688f4a7f3c8aacf0d1b9c742)
2019-10-27tests: make pg_start() wait until pg completesAndrew Yourtchenko1-19/+13
A sizable number of tests call pg_start() to get the packets flowing and then immediately expect to have the entirety of the packets gone through. This works on powerful and unstressed hardware, but fails in beautifully random ways under load. This also necessitates the complicated logic of remembering the "zombie captures", then sleeping for some time before cleaning them up.... The solution is simple: in pg_start(), start the generators, wait till they all finish, clean up, done. Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com> Change-Id: I930e51b7aae39c9841d22dd905a4d13a465a672b Type: test (cherry picked from commit 8d829f6c480cdd6536537fc49356baa1878b9570)
2019-10-27tests: log error which happens during connect and wait longer for stats socketAndrew Yourtchenko1-2/+3
Intermittently, a test would start VPP, but no testcases would execute. This would be more probable apparent during the high load or if there is another testcase dumping the core at that moment. Adding the logging to the connection revealed it was the stats socket connection erroring with error -2. Increasing the deadline from 3 seconds to 5 minutes has eliminated this error. Change-Id: I40bd7e642abb9e2aef0238c612e4c34781de5db2 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com> Type: test (cherry picked from commit 4f05a8e408cba09057841d97cd5e7da3058836d1)
2019-10-27tests: explicitly wait for the PG to finish before looking for capture fileAndrew Yourtchenko1-0/+15
Rather than only using time-based method of periodically checking whether the pcap file appeared, first check that the packet generator has stopped. To make this change fail-safe, have a 5-minute timeout on this activity, just in case the things go terribly wrong. Type: test Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com> Change-Id: Id16b2802b2de8a4cafb5d9f0a8c9ba62ec89dc32 (cherry picked from commit 3d36f19a0febaed532bd255a150504f7af8f18c2)
2019-10-27tcp: retry lost retransmitsFlorin Coras7-155/+205
Add heuristic that detects lost retransmitted segments and retries sending them. Type: feature Change-Id: I34d1bb16799e1993779222eb2bfad4b40704159e Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit be237bf02382854118986e8ea84c7544e42023f2)
2019-10-27sr: fix deleting an SR l2 steering policyAhmed Abdelsalam1-3/+7
Type: fix Signed-off-by: Ahmed Abdelsalam <ahabdels@cisco.com> Change-Id: I9e98b1622785e58484bf316ef491e44cfb06bcb7 (cherry picked from commit a6b93eac5979f1f1166cdf6f8bfa216b243b2662)
2019-10-27ikev2: fix dangling pointerFilip Tehlar2-14/+28
Type: fix Change-Id: I8aa9029e0a5cf21aa24a90b39eb2787653f65abb Signed-off-by: Filip Tehlar <ftehlar@cisco.com> (cherry picked from commit 1890e9ce57a4b6dbc732f8f11d78001bea7c5855)
2019-10-27build: clean up make help outputDave Wallace2-52/+52
This change is designed to help the uninformed find the right way to run extended tests by using the test-all[-debug] targets. 'make test EXTENDED_TESTS=y' fails to build as it has a dependency on 'vom-install' which is conveniently included in test-all[-debug]. - clarify test-all[-debug] description and make test-help description - Also align indentation of make help output Type: style Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: Ief54cc8a5af68c052aacb0d660237c5eb63451b5 (cherry picked from commit 2777ec761514fc0838ad11e6232ad97897663356)
2019-10-27vlib: fix cli process stack overflowChenmin Sun1-1/+1
Type: fix Some cli processes, including configuring an test flow on an i40e interface consume more than the currently available stack space. Signed-off-by: Chenmin Sun <chenmin.sun@intel.com> Change-Id: I3df53d251cd43286f94647384d6e50a463bad15c (cherry picked from commit 2fd44a00aa26188ca75f0accd734f21758c199bf)
2019-10-27quic: fix wrong condition in update_fifo_sizeMathiasRaoul1-1/+1
Type: fix Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com> Change-Id: If371cde9412be29634164830c58634da248ad0ae (cherry picked from commit cc702410c18b5c54ec8686b02a0d208c9bc80421)
2019-10-23vppinfra: fix page boundary crossing bug in hash_memory64Dave Barach2-4/+109
Fix a day-1 bug, possibly dating back as far as 2002. The zap64() game involves fetching 8 byte chunks, and clearing octets not to be included in the key. That's fine *unless* the 8-byte fetch happens to cross a page boundary into unmapped or no-access space. Type: fix Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I4607e9840032257c96ba7387f86c931c0921749d (cherry picked from commit 7e2cea3d26701ff1d80fda7d8ca907890e3e7baa)
2019-10-22gbp: use correct dst mac for RD-UU forwardBenoît Ganne1-1/+1
Type: fix Change-Id: Ifdd193fab24796346b11a5df81740880f9a50ee8 Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit db056acca08900d05ef806a6bab74ea30b262f0f)
2019-10-22bonding: feature arc may not be enabled for the slave interfaceSteven Luong1-2/+2
vnet_feature_enable_disable takes sw_if_index, not hw_if_index. If there is a subinterface created prior to the slave interface is created, sw_if_index and hw_if_index start to diverge and the problem will happen. Type: fix Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I11e1f099378832f83b748526c6cbeb56960fad3c (cherry picked from commit 1a41a35b27da6921d6d86a9f1ad5f1b46e1185f7)
2019-10-22ip: fix clang debug compilationBenoît Ganne1-3/+1
The non-extern declaration confuses clang linker in debug mode. The function is defined as inline above anyway. Type: fix Fixes: c6215d902f Change-Id: Ic7e4477631cf0bcfb31ab3f81effe3642dd4223e Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit 5b1379be3e25df096d97dcd217965169fc6bb1b2)
2019-10-22tcp: fix tso not work in single buffer issueSimon Zhang2-6/+9
Type: fix Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com> Change-Id: Iddb6fd41812e8c97af58859ef43279cfc0f9d1df Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com> (cherry picked from commit 8a047ed741072bdb8d93b0841473eae06ae3c9d0)
2019-10-22mpls: support fragmentation of mpls output packetRajesh Goel7-16/+176
Type: fix Signed-off-by: Rajesh Goel <rajegoel@cisco.com> Change-Id: Ie4372c5cf58ab215cdec5ce56f8a994daaba2844 (cherry picked from commit d6f1c9c5141c177a14d011a514e392a9357398fb)
2019-10-22ip: only install IPv6 prefixes in FIB when the interface is upNeale Ranns1-39/+36
otherwise they get installed twice and the reference counting means they are not removed. This is the same behaviour as IPv4. Type: fix Change-Id: I9266e04ccff6ff06a577e85973a2ddbeb9dfc52b Signed-off-by: Neale Ranns <nranns@cisco.com> (cherry picked from commit 1ff3c15b3c7607c9b590ad44d18dea5eb1cb8c4e)
2019-10-22fib: P2P interfaces do not need specific multicast adjacenciesNeale Ranns1-3/+18
they can use the 'auto' adj for all traffic Type: fix Change-Id: Id2b9557683252a94badc8f9dfab5f7b2ae26f1ee Signed-off-by: Neale Ranns <nranns@cisco.com> (cherry picked from commit da0e7497ca972f3219352d884b5c51e455503dbb)
2019-10-22tests: handle unicode charactes in cli outputKlement Sekera1-1/+2
Type: fix Change-Id: Ic4fb53e6d10a1de155a3088be81d53d9efeb0c0f Signed-off-by: Klement Sekera <ksekera@cisco.com> (cherry picked from commit 6be55648334308d4eaa4a02143b968720bb62078)
2019-10-22build: add env variable to pass extra cmake argsNathan Skrzypczak1-0/+4
If VPP_EXTRA_CMAKE_ARGS is set, its content will be appended to the vpp cmake command cli Type: feature Change-Id: I825d4239e62b0a2fb70a652f0671f6c559630aad Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com> (cherry picked from commit 29736540335fb983f472457883e9fefde61bd913)
2019-10-18tcp: rate sample for persist segmentsFlorin Coras1-0/+6
Type: fix Change-Id: I7c38d2ad6364f098529f51c15b533eb234b82716 Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit dd60b1b128d8d6c07dc8b8bcbf932b808cedbaab)
2019-10-18vlib: move thread barrier around mod of global node next dataChristian E. Hopps1-6/+5
The old code modified the node next array prior to obtaining the thread barrier. Then it updated the runtime node data, and upon barrier release caused reforking of each worker thread. The reforking clones the main thread nodes and reconstructs the runtime node structure. This cloning is not 100% "deep" in the sense that the node next array is shared (i.e., only the pointer is copied). So prior to the barrier being obtained the node's next array is being changed while workers are actively using it (bad). Treating the node next array as read-only in the workers and sharing it is a decent optimization so instead of trying to fix that just move the barrier a little earlier in the process to protect the node next array as well. This was tripping an assert in next frame ownership change by way of the ip4-arp node. The assert verifies that the node's next array length is equal to the runtime next node count. The race above was lost and the node next array data was updated in the main thread while the arp code was still executing in a worker. This was being hit when many arp requests were being sent from both ends of a tunnel during which the add next node function was called, which often led to an assert b/c the next node array was out of sync with the runtime next node count. - PS#2 update - move barrier sync to just above code that modifies state. Ticket: VPP-1783 Type: fix Signed-off-by: Christian E. Hopps <chopps@chopps.org> Change-Id: I868784e28f994ee0922aaaae11c4894a3f4f1fe7 Signed-off-by: Christian E. Hopps <chopps@chopps.org> (cherry picked from commit d3122ef4ecfa9a515cc39c1632d29e43fa771b2a)
2019-10-18dhcp: API return code fixNeale Ranns1-2/+2
Type: fix Change-Id: Ifcbfeecd6ca1215ec473eec4cce736ab4eacde80 Signed-off-by: Neale Ranns <nranns@cisco.com> (cherry picked from commit d751746af9ca1130202d19bddd96a5f6af2ecc5c)
2019-10-18ip: Fix IP unnumbered dump of one interfaceNeale Ranns2-1/+10
Type: fix Change-Id: I35fb6fdfba50c4a59cf1ffb94cb51487bcf5afc9 Signed-off-by: Neale Ranns <nranns@cisco.com> (cherry picked from commit ac3e72cb9765f78f1cf03ff5d5ccd9ff944668b6)
2019-10-18misc: add "show run summary"Dave Barach1-11/+19
Prints the interior node vector rate, rx / tx / drop rates Type: feature Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I57130db0f99e852a8498aa90d01e52f7ac33dcc9 (cherry picked from commit ac78f8a902fc61465edf657f7c7da7ff575210c8)
2019-10-18hsa: make APP_OPTIONS_PREALLOC_FIFO_PAIRS configurableMathiasRaoul3-1/+5
-add prealloc_fifo_pairs member in echo_main_t -new cli parameter in vpp_echo Type: feature Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com> Change-Id: I6bb1214ee93e06421cd0a3721420278c51cd59c4 (cherry picked from commit 7028a0157e28066696fba7d9978f7ab474f4d4f8)
2019-10-18quic: make quic fifo size configurable via cliMathiasRaoul2-6/+83
Type: feature Depends-On: I8d71078a9ed42326e19453ea10008c6bb6992c52 Change-Id: I6d6ac649094ef4bee2aed311915dd58f11972e79 Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com> (cherry picked from commit 00078b991365db97edf919567ca8b169ffd9b3e4)
2019-10-17fib: fix use-after-free for interface adj removalBenoît Ganne1-0/+3
Type: fix Change-Id: I82308e368d14d84f5970dad229bdcf2de7d1839d Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit 7391156ce68a81f258d65f498ec6161d694fae47)
2019-10-17bonding: graph node running after bond-input in feature arc may crashSteven Luong2-3/+42
In bond RX quad loop, when all packets within the frame have the same incoming interface, we cannot skip calling bond_update_next because that function calls vnet_feature_next() to update the b->current_config_index. The next node needs the correct b->current_config_index to work with. Type: fix Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I3d8b3d4e0f95490f406fae7638f0c43c301ce664 (cherry picked from commit 71e5b4710258376873c62428cb4a81b2a650fc26)
2019-10-17ip: RD-CP API incorrect reply codeNeale Ranns1-1/+1
Type: fix Change-Id: Ie436d51999dc1384a0db492f28a7e66620e14551 Signed-off-by: Neale Ranns <nranns@cisco.com> (cherry picked from commit be01e635bcc942395c581eeb5a108edaaa82e36f)
2019-10-17fib: recursive calculation leads to delegate pool reallocNeale Ranns1-4/+14
Type: fix Change-Id: Ib7ac53d1b59b641ccd3b1d733107d7f1ba174314 Signed-off-by: Neale Ranns <nranns@cisco.com> (cherry picked from commit a66020becd7d01eefea55244cbcf5df9679a9443)
2019-10-16vppinfra: create unformat function for data size parsingMathiasRaoul2-0/+26
Type: feature Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com> Change-Id: I8d71078a9ed42326e19453ea10008c6bb6992c52 (cherry picked from commit 579b165069e7c14392cded3a76e5cc1964ad13a9)
2019-10-16misc: add "maxframe" and "rate" to packet-generator cli.Christian E. Hopps3-5/+13
Allow for setting the maximum number of generated packets to be included in the frame passed to next nodes. This is very important for testing code which may be susceptible to multi-frame vs single-frame bugs (e.g., code that is doing re-ordering where packets may be buffered between frames). Update: - remove redundant packet "rate" option. - reduce n_max_frame to u32 as that's what pulled from the CLI. Type: feature Signed-off-by: Christian E. Hopps <chopps@chopps.org> Change-Id: Ie362bbb110b2cf01d9f65c559bbe9101e17b7fdc Signed-off-by: Christian Hopps <chopps@labn.net> (cherry picked from commit 87d7bac5cf2ebdc7820e1edaadc2cc3b6d111cf2)
2019-10-15rdma: fix crash when failing to read pci addr on createBenoît Ganne1-0/+3
Type: fix Change-Id: I543e2e5976cb384b81278a7ec98a0a6ab1612438 Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit 0dd97d473bc0c958d9fcea508e1f5122a137b23f)
2019-10-15rdma: fix crash when failing to detect numa node on createBenoît Ganne1-0/+5
Type: fix Change-Id: Ibb8e7c1c13869c1dce2385f58bd7260fcf776c5a Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit 90ea5dc1bd7adcedd0d5765c3ee04c98c4853337)
2019-10-15vlib: pci: set pci driver name to none when no driver is loadedBenoît Ganne1-0/+2
If no Linux PCI driver module is loaded, then the driver_name in the PCI info struct is NULL. This can triggers crash when checking driver name eg. in vlib_pci_device_open(). Default to "<NONE>" as driver name, which should never match. Type: fix Change-Id: I9e69889a7566467bd8220b92bbbaa72ada957257 Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit 0eae2bb1f1199f7dcb6a8c62b1ea612ed9ee4ae1)
2019-10-15ip: fix use-after-free in IPv6 SLAAC expirationBenoît Ganne1-3/+11
Type: fix Change-Id: I46b166b3a10c4543eafa4422531dd3c725db45f1 Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit 79c9d3650357fa675df2998e362e9881cff17a34)
2019-10-15nat: fix use-after-freeBenoît Ganne1-4/+6
Type: fix Change-Id: Iac91c086c4e975f0bada058f40b7b7d4475377f8 Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit 7233846ce93fddef495a1029ca211f42afe046f2)
2019-10-14devices: vhost not reading packets from vringSteven Luong2-0/+25
In a rare event, after the vhost protocol message exchange has finished and the interface had been brought up successfully, the driver MAY still change its mind about the memory regions by sending new memory maps via SET_MEM_TABLE. Upon processing SET_MEM_TABLE, VPP invalidates the old memory regions and the descriptor tables. But it does not re-compute the new descriptor tables based on the new memory maps. Since VPP does not have the descriptor tables, it does not read the packets from the vring. In the normal working case, after SET_MEM_TABLE, the driver follows up with SET_VRING_ADDRESS which VPP computes the descriptor tables. The fix is to stash away the descriptor table addresses from SET_VRING_ADDRESS. Re-compute the new descriptor tables when processing SET_MEM_TABLE if descriptor table addresses are known. Type: fix Ticket: VPP-1784 Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I3361f14c3a0372b8d07943eb6aa4b3a3f10708f9 (cherry picked from commit 61b8ba69f7a9540ed00576504528ce439f0286f5)
2019-10-14ip: MFIB CLI fix for parsing path flagsNeale Ranns2-3/+4
Type: fix Change-Id: I7ed9726d8c5ca26715a84b004a18fd7f93142486 Signed-off-by: Neale Ranns <nranns@cisco.com> (cherry picked from commit 46023762d1da674ff73954f0d1523d450bfcf03c)
2019-10-11lisp: fix dangling references to bihash tablesDave Barach1-6/+26
gid_ip4_table_t's and gid_ip6_table_t's are allocated from pools. They MUST NOT be listed on the clib_all_bihash list to avoid dangling references. Switch to the clib_bihash_init2 API, which has the required knob. Type: fix Ticket: VPP-1788 Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I49a17e937922c3af2e1c46b24e20883af51584a8
2019-10-11tcp: unittest: do not access non-existent samplesBenoît Ganne1-1/+0
There is no bt->samples for this test, do not use it. Type: fix Change-Id: I2090290887bc5c0b5cdb0561cf2bf72a87781089 Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit b0a7c484eec9a813751e6e3fa71a9955ad5f0f74)
2019-10-11acl: fix intermittent test failureAndrew Yourtchenko1-9/+9
ACL tests use random port number in the tests. A port number 6081 causes the decode in scapy to consume some of the Raw payload into GENEVE encoding, which breaks the test. Solution: bring up the lower range of random port to 16384, so that it does not touch any of the well known ports. Type: test Change-Id: I022660d8ec147857924b436f1871b0b5ddcf4c47 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com> (cherry picked from commit ec574ff9129a7cc4282916d2a989e88d78aaff60)
2019-10-11quic: Create custom event loggerMathiasRaoul1-2/+39
Type: feature Change-Id: I20acfe6a53cf9f15e3e4b8847b6f76757962f1c7 Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com> (cherry picked from commit dd4d8ac29202fe54e74a13ce86d1ba3f79d1555f)
2019-10-11api: fix non-null-terminated C-stringBenoît Ganne1-5/+10
Type: fix Change-Id: I132112bf77e1fad7fc0227a96e6b0cee590295e8 Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit fb0bb3a732cd46848e26fcc6a17d9fdf99727af3)
2019-10-11ipsec: initialize msgid and allow no dh in child saChristian E. Hopps1-14/+18
- set msgid to 0 not random. - allow for no DH in ESP child SA Ticket: VPP-1781 Type: fix Signed-off-by: Christian E. Hopps <chopps@chopps.org> Change-Id: Ibe26009d38f444eeaec5b042097f145d161c7672 (cherry picked from commit 0e182c5b1d27139764dca7059c9c91be8387977a)
2019-10-11quic: Add Tx, Rx and packet drop countersMathiasRaoul3-0/+66
Type: feature Change-Id: I25aeeed49fc569315296a73c5595c2e2e302434f Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com> (cherry picked from commit ff1f6faaa90cd446545a8d0c0b0baa85d69efa35)
2019-10-11session: fix use-after-freeBenoît Ganne5-6/+7
Make sure to reinitialize data before free-ing it. Type: fix Change-Id: I45727c456d0345204d4825ecdd9690c5ebeb5e94 Signed-off-by: Benoît Ganne <bganne@cisco.com> (cherry picked from commit d4aeb84c3f066b755b723163da292eab95bd1ef9)
2019-10-11quic: add cli command for statsMathiasRaoul1-0/+47
add command to display stats from quicly (rtt, packet loss) Type: feature Change-Id: Iaa18bc78fbf80a9367ef150a8cf4997a456c6b39 Signed-off-by: MathiasRaoul <mathias.raoul@gmail.com> (cherry picked from commit 922f0b211c160b4f1d05b87ad0103581d17efb8b)
2019-10-11build: build-root/Makefile rm of install treeBurt Silverman1-0/+1
Type: fix The scenario is touch of a dpdk source file in places like <TOP>/build-root/build-vpp-native/external/dpdk-19.08/. The subsequent build will trigger an rm -rf $(PACKAGE_INSTALL_DIR) by build-root/Makefile at around line 709. Because the package in question, "external", consists of various "sub" packages, all of which are controlled with files like .quicly.install.ok located in build-root/build-vpp[_debug]-native/external, we end up not handling the .*.install.ok files to reflect the removal of that PACKAGE_INSTALL_DIR. This fix will correct that, at least for the case of touching/changing dpdk files. A better long term solution would be to change the "sub" packages to be full fledged build system packages, as Dave Barach points out. Signed-off-by: Burt Silverman <burtms@gmail.com> Change-Id: Ia94ccaa2795cbf354b5921c3001a7141313b66be (cherry picked from commit 839a7bce3872f992f4807ee6d6a76f9b361151dc)