summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2019-02-27buffer chain linearizationKlement Sekera6-442/+216
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-27Makefile: correct opensuse 15.0 dep namingEd Kern1-4/+3
This covers both naming option for opensuse leap15 dep package naming Change-Id: I2ade004e44e75c08afde0f3af42b33cd97ce0ebc Signed-off-by: Ed Kern <ejk@cisco.com>
2019-02-22vhost: VPP stalls with vhost performing control plane actions [VPP-1572]Steven 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> (cherry picked from commit 67f935ec6eb9ec37b7d73029c5afa89cbf4a9aa2)
2019-02-22tcp: free sack block list on connection cleanupFlorin Coras1-0/+2
Change-Id: I7152b4ae64528082765726d5844580aad54c0c70 Signed-off-by: Florin Coras <fcoras@cisco.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-22physmem: 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-22Add no-append flag to vlib_frame_tDamjan Marion8-4/+20
Change-Id: I01c4f5755d579282773ac227b0bc24f8ddbb2bd1 Signed-off-by: Damjan Marion <damarion@cisco.com>
2019-02-20IP route local and connectedNeale Ranns4-7/+51
allow routes that are local and connected to be added via the API. this emulates the addition of a second address in the same subnet added to an interface. Change-Id: Ib18a08c26956be9a07b3360664210c8cf6734c84 Signed-off-by: Neale Ranns <nranns@cisco.com> (cherry picked from commit 7425f9289bdc17d330044b0df0fc31cdeeca626b)
2019-02-20FIB: pass a copy the walk contextNeale Ranns1-1/+3
since it can realloc when new ctx are added. If not we can get some nasty memory corruption. Change-Id: I617709c3013acbcb8aee07dc147894f0de896555 Signed-off-by: Neale Ranns <nranns@cisco.com> (cherry picked from commit 58085f2f6757e464196b283cc8335ab5cf34a012)
2019-02-19Revert "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-07tcp: fix reset sending in syn-sentFlorin Coras3-6/+7
Change-Id: I468b1015bca5f95b162fb49e904aa4e4d38db75e Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit d4c49be5e20406220cf89083c9df86c3c0761a81)
2019-02-04Fix borken install-dep on RHELYichen Wang1-0/+3
Change-Id: I247cca88e33f782e1acb72eb2c0e1515faf2f030 Signed-off-by: Yichen Wang <yicwang@cisco.com>
2019-01-3019.01 Release Notesv19.01Andrew Yourtchenko1-0/+389
Change-Id: I43fd3aac9039c6d551fac8607374a0ebfdc6f74a Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-01-30ipsec: fix check support functionsKlement Sekera2-5/+17
Change-Id: If94c57fbb07a7376a9f2873e1489c00b28152620 Signed-off-by: Klement Sekera <ksekera@cisco.com> (cherry picked from commit 4fd5a9d3e6abdf61f266da8400a299fe5b0eb0ed)
2019-01-30VTL: Fix pep8 test/test_syslog.pyPaul Vinciguerra1-4/+4
Change-Id: I8894a7a8f2be117a4c1cec9ce5134a1572da7ec7 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com> (cherry picked from commit 776e46d77c21899874d156a48b8d89e7133d212c)
2019-01-30Update version (19.01) for API changes scriptAndrew Yourtchenko1-2/+2
Change-Id: I9c39b5076d366b3455a875df32765b2cb8f3eca2 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-01-30Update to doxygen documentation for release 19.01Andrew Yourtchenko1-0/+1
Change-Id: Id19cefc24d391f0437a0355f5328505ec21aa58a Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-01-28avf: fix queue enable issueDamjan Marion1-8/+11
It is actually a bitmap.... Change-Id: Ie359e085df3f371512f773600f8d7460b2232b3e Signed-off-by: Damjan Marion <damjan.marion@gmail.com>
2019-01-25IP6 FIB: walk table for dump (VPP-1553)Neale Ranns1-12/+7
Change-Id: Iaa57ace6df96bfacd1235c80ec7bb08e5f335530 Signed-off-by: Neale Ranns <nranns@cisco.com> (cherry picked from commit 5c1f559b1bf32acd528664e7674a2d46f2aed947)
2019-01-23bond: packet drops on VPP bond interface [VPP-1544]Steven2-20/+21
We register callback for VNET_HW_INTERFACE_LINK_UP_DOWN_FUNCTION and VNET_SW_INTERFACE_ADMIN_UP_DOWN_FUNCTION to add and remove the slave interface from the bond interface accordingly. For static bonding without lacp, one would think that it is good enough to put the slave interface into the ective slave set as soon as it is configured. Wrong, sometimes the slave interface is configured to be part of the bonding without ever bringing up the hardware carrier or setting the admin state to up. In that case, we send traffic to the "dead" slave interface. The fix is to make sure both the carrier and admin state are up before we put the slave into the active set for forwarding traffic. Change-Id: I93b1c36d5481ca76cc8b87e8ca1b375ca3bd453b Signed-off-by: Steven <sluong@cisco.com> (cherry picked from commit e43278f75fe3188551580c7d7991958805756e2f)
2019-01-21ldp: add support for TCP_CONGESTION sockopts (VPP-1550)v19.01-rc2Florin Coras1-0/+9
Change-Id: I0fcf3385cc4fb96f000b84d5f880f74131c0d60f Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit 0ed24e93b207850078ca7f58cd4106cc4a906952)
2019-01-21doxygen formatting fix: prevent stray examples appearing in the docsAndrew Yourtchenko1-2/+2
The 'example' keyword triggers the creation of very out-of-context example in the "Examples" top level of documentation. Rename the keyword in the comment so the comment is still readable, but does not trigger the doxygen. Change-Id: Iecbdc236918f9178a034817aa6cea7ab6b2c1654 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-01-20session: add support for vrf in session unformat (VPP-1546)Florin Coras1-7/+22
Change-Id: Ic5ba751c2bd2db9af4a21d3db40cc305d1208c30 Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit baee8d498830bbbf54ec76e7c0c887c6373fe985)
2019-01-20tcp: fix debugging without cc stats (VPP-1547)Florin Coras1-0/+1
Change-Id: I376856fcadce570bb555064435f5876eefb2befa Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit 0702554639e5149d9012cc196aa43c3c8d0d7f9b)
2019-01-20fix data_length in IpSec API call (VPP-1548)Michal Cmarada1-4/+6
Change-Id: Idb2839f6082bd2e052be2bc5417f0ebb43d1c0a6 Signed-off-by: Michal Cmarada <mcmarada@cisco.com>
2019-01-20VOM: ip-mroute inspect register handler fixNeale Ranns1-1/+2
Change-Id: I57689446005da00fa064e2938cfe55a9e1cef9fc Signed-off-by: Neale Ranns <nranns@cisco.com> (cherry picked from commit d870ce441272d7057c8cb2b8f9731ebe41a17f0a)
2019-01-18tcp: allow data in passive open ack (VPP-1545)Florin Coras1-2/+3
Change-Id: Iceb99d3f8b7029bd1b1e9ebafb1e0b3790c573e4 Signed-off-by: Florin Coras <fcoras@cisco.com> (cherry picked from commit 865872ebdb2bbaf3f157e2a9889405b84114d2eb)
2019-01-18VTL: Use latest version of syslog_rfc5424_parser (0.2.0) released: 190117Paul Vinciguerra1-3/+1
Upstream changes not compatable with: https://gerrit.fd.io/r/#/c/16797/ Running tests using custom test runner Active filters: file=test_syslog.py, class=None, function=None Adding tests from directory tree /vpp/test 1 out of 914 tests match specified filters Not running extended tests (some tests will be skipped) ============================================================================== Syslog Protocol Test Cases ============================================================================== Syslog Protocol test OK ============================================================================== TEST RESULTS: Scheduled tests: 1 Executed tests: 1 Passed tests: 1 ============================================================================== Test run was successful Change-Id: I42f86ae3e7f062c0343025ba16bc6e8d2c34ed50 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com> (cherry picked from commit 5011c67058c3c37d344c5d83ab6046700327b7b4)
2019-01-16Initial changes for stable/1901 branchv19.01-rc1Andrew Yourtchenko1-0/+1
This patch adds an entry for the defaultbranch in .gitreview Change-Id: I3dc45492ec51b10524b0a6d894c7e42c352f0daa Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2019-01-16make test: raise packet tracing limit to 1000Klement Sekera1-2/+2
Change-Id: I4309cefe13ee861342e7962c7652919a47748656 Signed-off-by: Klement Sekera <ksekera@cisco.com>
2019-01-16DOC ONLY: update readme.mdDave Barach3-469/+28
Remove the source code, replace with reference to the upstreamed patch. Change-Id: I6f5430b1e9804530afbec1805353852e1da745d6 Signed-off-by: Dave Barach <dave@barachs.net>
2019-01-15vmxnet3: add numa support and link speedSteven4-13/+23
Allocate physmem on the same numa set link speed cap vmxnet3 support version to 3 if the device supports higher version Change-Id: Id47dd83b0da53e623fd6cf3ad010e58158b1ab15 Signed-off-by: Steven <sluong@cisco.com>
2019-01-14api_helper_macro mp->pid is network endianOle Troan1-1/+1
Change-Id: I7d2385b9e9bf5a62f3e9382ca2627a74a4e30785 Signed-off-by: Ole Troan <ot@cisco.com>
2019-01-14VTL: vpp_papi_provider: Don't shortcircuit vpp_papi jasonfile detection.Paul Vinciguerra1-5/+5
The detection login in vpp_papi is significantly more advanced than the implementation in vpp_papi_provider. Let's take full advantage of it and ensure consistent behavior. Change-Id: I786e6d5f4588a0d74e863cce1b0bc1a93fa0e614 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-01-14VTL: Allow running simple unittest.TestCases.Paul Vinciguerra3-14/+18
It came to my attention that Ole added a simple test in: https://gerrit.fd.io/r/#/c/16381/ and the framework forced him to launch an instance of VPP to test the formatting of a mac address. This change allows the test framework to run standard unittest.TestCases without the need to spawn a VPP instance. Change-Id: I56651ab27c4c6bf920081a526f168a743d643201 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-01-14VTL: New version of pyparsing breaks tests.Paul Vinciguerra1-0/+2
Specify use of version <2.3.1 released Jan 13, 2019 Change-Id: I23cfb802a677956b77897e0c2b690fac50e18541 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-01-13remove useless line in dpdk cryptodevSimon Zhang1-2/+0
Change-Id: I2ef33c7c15b3eb1f55bbfd5cbdd230d6a4d58936 Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
2019-01-13bonding: support custom interface IDsAlexander Chernavin8-8/+55
Change-Id: I78fe58144fa3ba2e1c7135897a13a2541f235c91 Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
2019-01-13dpdk: show hardware may display the wrong information for rss activeSteven1-0/+1
Some dpdk driver does not support rte_eth_dev_rss_hash_conf_get. When that happens, we display whatever that was in the stack variable for rss_hf which is confusing. The fix is to clear rss_hf prior to the call. Before the fix -------------- DBGvpp# sh hard Name Idx Link Hardware format_dpdk_device:599: rte_eth_dev_rss_hash_conf_get returned -95 GigabitEthernet13/0/0 2 up GigabitEthernet13/0/0 Link speed: 10 Gbps Ethernet address 00:0c:29:c4:8c:eb VMware VMXNET3 ... rss avail: ipv4 ipv4-tcp ipv6 ipv6-tcp rss active: ipv4 ipv4-frag ipv4-tcp ipv4-udp ipv4-other After the fix ------------- DBGvpp# sh hard Name Idx Link Hardware format_dpdk_device:600: rte_eth_dev_rss_hash_conf_get returned -95 GigabitEthernet13/0/0 2 up GigabitEthernet13/0/0 Link speed: 10 Gbps Ethernet address 00:0c:29:c4:8c:eb VMware VMXNET3 .. rss avail: ipv4 ipv4-tcp ipv6 ipv6-tcp rss active: none Change-Id: If8f8327f0012eecc8d23cd7f3f9cc581ca025654 Signed-off-by: Steven <sluong@cisco.com>
2019-01-12session: generate wrong thread errors instead of crashingFlorin Coras7-23/+47
Change-Id: I7e59ae718d2722c49d42b22a0874e1645a191e89 Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-01-11Fix custom-dump for gre_add_del_tunnel: src and dst IPsIgor Mikhailov (imichail)1-7/+4
Change-Id: I747ca01dc8df9fb5e11168ec46979c4a1f1baa7c Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
2019-01-11Fix 'show interface span' field lengthIgor Mikhailov (imichail)1-2/+2
Allow to display longer interface names, e.g. VirtualEthernet0/0/0.102 The field length (32) is now the same as for 'show interface'. Change-Id: I1cb1efd459acb800bfaeeec40b672c8b17cd8c3d Signed-off-by: Igor Mikhailov (imichail) <imichail@cisco.com>
2019-01-11Fix interactive testsjuraj.linkes1-2/+4
When running tests interactively (i.e. not using child process) the tests are split into small suites each containing tests from a VPPTestCase, but only the first suite is run. Fix this by creatin a new suite with all of these small suites in it and running that suite. Change-Id: I0236f4a980d01765eb993f41d54d98640bb2cd39 Signed-off-by: juraj.linkes <juraj.linkes@pantheon.tech>
2019-01-11gbp2: Fix typo in conditionMohsin Kazmi1-1/+3
Change-Id: I1b327309586c9234a22cda011953a1940d31e1ba Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2019-01-10strncpy_s_inline copies more bytes than necessarySteven2-3/+13
Given n equals to the maximum number of bytes to copy from src in the API, or the rough estimate strlen of src, strncpy_s_inline should not copy more than the number of bytes, computed by strlen(src), to dst if n is greater than strlen(src). The number of bytes to copy is computed by strnlen(src,n), not n. Change-Id: I088b46125d9776962750e121f1fbf441952efc2b Signed-off-by: Steven <sluong@cisco.com>
2019-01-10vpp_config: Rework for Python2/3 compatibility.Paul Vinciguerra12-406/+554
On ubuntu: $cd <basedir>/extras/vpp_config $./scripts/clean.sh $./scripts/cp-data.sh $sudo apt-get install python3-pip python3-setuptools $python3 -m pip install . $vpp-config Changes: * Convert to print() function. * raw_input changes. * floor division changes. * replace vpp-config.py with a setuptools 'vpp-config' entry_point. * replace netaddr with ipaddress from the standard library and backport. * .decode() subprocess.Popen's stdout because in python3 they are bytes. Change-Id: Id98894ee54e0c31a0ba0304134b159caef415705 Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2019-01-10VOM: IP route ECMP supportNeale Ranns4-33/+85
Change-Id: Iede0c30aacfe7289f428062bb9540410097c40e2 Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-01-10session/vcl: improve fifo tx notificationsFlorin Coras5-83/+144
Change-Id: Ied476c417c8ba5b4d7c615125c36eecd9ca64fbc Signed-off-by: Florin Coras <fcoras@cisco.com>
2019-01-10ARP/ND: copy opaque2 persistent fields to new packetNeale Ranns4-6/+19
Change-Id: Ic65f686aaccaf8450732d88d7471b587faccaa9d Signed-off-by: Neale Ranns <nranns@cisco.com>
2019-01-10Enable random reassembly test for ARMjuraj.linkes1-4/+1
The underlying failure has been fixed and now the test can be re-enabled. Change-Id: I75251f6150ef1771dc23ea079799229690cf87d9 Signed-off-by: juraj.linkes <juraj.linkes@pantheon.tech>