aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2021-05-21af_xdp: refill rx rings when interface goes upBenoît Ganne3-9/+26
If interrupt mode is configured through startup.conf exec script, the input function will not be polled and the rx ring will never be filled. Always refill the ring when interface goes up so it is ready to receive packets. Type: fix Change-Id: I4cf22c8ae00638679f2e8650303a6fe916c1319b Signed-off-by: Benoît Ganne <bganne@cisco.com>
2021-05-21bfd: use vnet cryptoKlement Sekera7-107/+50
Type: improvement Change-Id: I873a99c1258a97ed5ed195b9756e8302f865e7f0 Signed-off-by: Klement Sekera <ksekera@cisco.com> Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2021-05-21af_xdp: workaround kernel race between poll() and sendmsg()Benoît Ganne10-86/+213
Prior to Linux 5.6 there is a race condition between poll() and sendmsg() in the kernel. This patch protects the syscalls with a lock to prevent it, unless the NO_SYSCALL_LOCK flag is set at create time. See https://lore.kernel.org/bpf/BYAPR11MB365382C5DB1E5FCC53242609C1549@BYAPR11MB3653.namprd11.prod.outlook.com/ Type: fix Change-Id: Ie7d4f5cb41f697b11a09b6046e54d190430d76df Signed-off-by: Benoît Ganne <bganne@cisco.com>
2021-05-21nat: add maximum configured sessions to stat segmentOle Troan3-1/+13
Add /nat44-ed/max-cfg-sessions gauge. Reflects the configured value for configured sessions (per thread). Type: improvement Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: I618c8aa0daab0981399cfe9273d191fa1990ef60 Signed-off-by: Ole Troan <ot@cisco.com>
2021-05-21doxygen: fix doxygen tagsDave Wallace6-7/+13
- Missing tags mess up doxygen TOC heirarchy Type: docs Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: I012d55c0ae90aecc665b56903f4212ddc0643943
2021-05-21tests: add role to VCLAppWorkerDave Wallace2-8/+9
- Improve readability of log output with respect to worker role Type: test Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: I1a5787421b31483fa1a2558951568417dfc111d9
2021-05-21linux-cp: Add delegate to adjacenciesMatthew Smith1-10/+74
Type: improvement When an adjacency is created, add the linux-cp delegate on the new adjacency so we can later deal with modifications & deletions in our cache of adjacency data. Add a pool of hash keys and associate the pool index for a particular key with the adj_delegate_t. If the rewrite on an adjacency is changed, this will allow us to delete the old hash table entry and it will not become orphaned. Signed-off-by: Matthew Smith <mgsmith@netgate.com> Change-Id: I072b960c02cf377d66f7d18b8c0e9e05824a0ca3
2021-05-21quic: add extended vcl testFlorin Coras2-1/+43
Only works with release binaries. Type: test Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Iede88713e1dbc4d1c6ae62651ff9150f88953f4d
2021-05-21quic: fix timer updateFlorin Coras1-1/+3
Use ctx timer wheel not current thread since connects are done on main but the ctx is allocated on first worker. Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ibed371bed12970d0d1ae4572f36df0bb1fb70b0f
2021-05-21quic: init crypto context on streamsFlorin Coras1-3/+2
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I901980f1f8ae8eb51c3972537ccac80f620868d0
2021-05-21quic: make sure aead crypto context matches quiclyFlorin Coras1-1/+2
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I8003198c15cd511750dc7eaae025025c733c059c
2021-05-21ipsec: Default the IPSec interface MTU to 9000Neale Ranns1-0/+1
Type: fix The same value is used for other tunnel types. Signed-off-by: Neale Ranns <neale@graphiant.com> Change-Id: I6593001918993d65f127cc9f716c95e932239842
2021-05-21memif: fix gcc-10 build error on arm platformTianyu Li1-1/+1
In function ‘memcpy’, inlined from ‘memif_device_input_zc_inline’ at src/plugins/memif/node.c:850:7, string_fortified.h:34:10: error: writing 16 bytes into a region of size 0 [-Werror=stringop-overflow=] 34 | return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ src/plugins/memif/node.c: In function ‘memif_input_node_fn_neoversen1’: src/plugins/memif/memif.h:175:16: note: at offset 0 to object ‘desc’ with size 0 declared here 175 | memif_desc_t desc[0]; | ^~~~ Using C99 way empty brackets for flexible array members Type: fix Signed-off-by: Tianyu Li <tianyu.li@arm.com> Change-Id: I7a6ad89f95e1b5e3f9aac36546a2559dbda9bd6c
2021-05-20memif: fix input node buffer prefetchTianyu Li1-4/+4
Prefetch should be the next group of buffers instead of current buffers Type: fix Signed-off-by: Tianyu Li <tianyu.li@arm.com> Change-Id: If13967e27f74c10856ae48892420d7ade6f0c92c
2021-05-20tests: don't buffer worker stdin/stdoutDave Wallace1-2/+3
- Required to get VCLAppWorker stdin / stdout data into log.txt when a test fails. Type: test Change-Id: I4db467986940f701750aec6d842a4d9aee22b4e6 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2021-05-20bash: add set-quicly-ws functionDave Wallace1-0/+46
- Set up vpp workspace to build/test/debug with quicly source code downloaded from github. Type: improvement Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: I63a3f3b19f3b753fca1d57f8b22dad7c4e968846
2021-05-20build: add .clang-tidyDamjan Marion1-0/+8
Initial version Type: make Change-Id: Id26827e7812f794da3f17b91f78d2550e4800083 Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-20gre: Walk IPv6 adjacencies during restackMatthew Smith1-2/+4
Type: fix If a GRE tunnel is created and the peer is not resolved yet and an IPv6 route is added which points to the tunnel, packets matching the route will be dropped. When the tunnel peer is resolved, adjacencies on the tunnel interface should be restacked and packets matching the route can be encapsulated and sent.. There is a loop that is intended to do this for both IPv4 and IPv6. The call to walk adjacencies is invoked in a "return" statement though. So the loop is exited and the function returns before IPv6 adjacencies are walked. Remove the return so the loop finishes. Change-Id: Ia4f695681713020209ea490ae4142857cea49c41 Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2021-05-20hsa: test server incremental statsFlorin Coras3-35/+71
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ie8ec924ebaf006f1df84a1013050114831144a79
2021-05-20tls svm: prealloc tcp fifo chunks before ssl writeFlorin Coras3-1/+13
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I7c47b55ec6f0c83f2d13e0e737d0559a32f7c837
2021-05-20session: fix transport half-open cleanup callFlorin Coras1-1/+1
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I47d241a8f2f9e9d0761d14dcddd3327c3b28932c
2021-05-19tls: fix signed unsigned comparisonFlorin Coras1-2/+2
On error, the signed value is cast to unsigned. Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I0f94422f47e40d7c358118b2df8ab96cf4116dd0
2021-05-19bash: fix vpp-make-test -g optionDave Wallace1-2/+11
- Don't pollute shell with local variables which also fixes a bug with -g option - If WS_ROOT is not set and vpp-make-test is invoked in the vpp root dir, then export WS_ROOT env var Type: fix Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: I608b666f7d3020863933a8072fb34e65c7f1c988
2021-05-19quic: fix memory leak & crash on connection deleteDave Wallace1-2/+8
- quicly conn struct leaked on connection delete - Occasionally connection delete is called twice before connection is closed which caused a crash. Type: fix Change-Id: Ifaaaeda55f71d58c97fa4d6652bda60a3efd4b69 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2021-05-19session: cleanup event llist usageFlorin Coras3-41/+27
Type: refactor Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I750c856ac81d951e8c0e62c710e0f35a0c80d6f9
2021-05-19memif: remove dead codeDamjan Marion1-1/+1
Type: fix Change-Id: I6fce8c1f91fc5080271c1832bf40a9fb6bbcb7e3 Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-19avf: improve elogsDamjan Marion4-2/+227
Change-Id: I6221e1a5924223865b3caf53590d3668965b564c Type: fix Fixes: b4ff07a Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-19vppinfra: add more llist macrosFlorin Coras2-25/+63
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ife79871c6530d2cd485928fee465baf2c8957e11
2021-05-19session: fix session queue node access on disableFlorin Coras1-1/+1
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ie4e3623e7e00456437fac5fb8f9c9083f1aa2a2e
2021-05-19build: fix crypto_native compile flags checkDamjan Marion1-2/+2
Type: fix Change-Id: I338036a3cac74fd5f9772bcf7685ee6970653ddb Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-19interface: shared tx queue supportDamjan Marion2-4/+7
Type: improvement Change-Id: I6bb7b6d6bd63b044952ab981be5b0673144c9834 Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-19avf: tx queue sharing fixes and improvementsDamjan Marion3-38/+36
Type: fix Change-Id: I16b6720174efd98c19751e0fff36df58968484d2 Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-19avf: print stats in separate log classDamjan Marion3-6/+38
Type: improvement Change-Id: Ia1a4b1b1acad989cbd47a805b900160ba0071071 Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-18tls: fix dtls with no workersFlorin Coras5-12/+24
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Iecc33fda7f28c037289775ffe0525a50f89a2b8c
2021-05-18session: poll main thread if pending connectsFlorin Coras3-48/+76
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ie8a15c50531f3ccd5f91dbc0779e4d9c0d146844
2021-05-18nat: refactor multiple vrf testsKlement Sekera1-25/+120
Replace VRF test testing multiple scenarios into more simpler tests to improve readability and ease of debugging. Type: refactor Signed-off-by: Klement Sekera <ksekera@cisco.com> Change-Id: Ibaad5328c73b401f52c5fe513dc0ed68ff3e3374
2021-05-18session: only handle old ctrl events per dispatchFlorin Coras1-6/+12
Avoids dispatching ctrl events generated while handling the current pending list. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ibeaf901ba4cf58a68fbd88e5ec3c23f6c2f6f145
2021-05-18session: move tx-buffers to tx ctxFlorin Coras2-16/+14
Type: refactor Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I10ec410fb7f3acb47128dda23510162dc13b20d0
2021-05-17memif: remove unused codeDamjan Marion1-46/+13
Type: refactor Change-Id: I127b8c7131fd993a5fe605c7c36cc1d0b6672984 Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-17build: fix the "show version" output in the centos release buildsAndrew Yourtchenko1-1/+1
A couple of releases ago I made a change that slightly changes the naming of artifacts, in order to make the version sorting better. However, that change broke the "show version" output of the VPP in the RPM - that build copies the entire source tree into a new location and builds there, supplying the version information in .version file rather than using git describe. Updating only the version script and not the .version file content resulted in the VPP release builds within the RPM installs have the "count of commits since tagging" being zero and the commit ID, rather than having XX.YY-release format. A couple of releases - 20.09 and 21.01, saw a more haphazard solution, but it is proper to fix the content of the .version file so it is all consistent. This commit fixes the contents of this file made for the RPM build, so that the versioning script does not see unexpected input, thus addressing the issue of "show version" in the release build. Change-Id: I0af68e69b1e40fc49ade759bb2f0ed9f47614217 Type: fix Fixes: 1060332e62d1216bf33c697d0a54ba35d4903eb3 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2021-05-17memif: remove duplicate code in txDamjan Marion1-53/+39
Type: refactor Change-Id: Idb82e28ee2e370ae8fc1becc2f8b92a548bc6b1b Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-17memif: optimize zero-copy rx ring refillDamjan Marion2-65/+47
Type: improvement Change-Id: I8169da230eb5f74651810a8e2490895620c38269 Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-17memif: fix "remove barriers" commitDamjan Marion1-2/+2
Type: fix Change-Id: I60bb0261c05bf7e25ca01c72780f1cd77fde7a9a Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-17memif: remove barriersDamjan Marion2-22/+33
Type: improvement Change-Id: Idef30aee80b654ce424b6f1f1f730574ca68874c Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-17virtio: add the checks for descriptors chain lenMohsin Kazmi1-0/+23
Type: fix virtio uses indirect descriptors for chain buffers. indirect descriptor chain is mapped on a vlib_buffer_t. Single descriptor is 16 bytes and vlib_buffer_t has 2048 bytes space. So maximum long chain can have 128 (=2048/16) indirect descriptors. This patch adds check to make sure descriptors chain len should not exceed 128. Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com> Change-Id: I060cfb7709568f42c9b5634527172690ce66a1a3
2021-05-16session: rpc for connects to mainFlorin Coras3-5/+88
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ifa47e1500e5cfb3c717f87b1d21131b9531c9005
2021-05-15lacp: coverity fix on null pointer dereferenceSteven Luong1-2/+2
Coverity complains on null pointer dereference. It is not likely to happen. Type: fix Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: Iab726a1e2d60725cec7ab0bbd2787b62e6393d33
2021-05-15session: fix coverity warningFlorin Coras1-1/+1
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I24484a5192d7e683507ed640f75fb37914c0efb0
2021-05-14tcp: remove ho lockFlorin Coras3-13/+0
Half-open sessions are allocated by main thread and cleaned up on main with timers. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I37f000920a45908b62b5501ae9d54a88a9e4c609
2021-05-14vlib: remove unused codeDamjan Marion2-127/+0
Type: refactor Change-Id: Ia5f670541dd43a4f6d731dda84b2d898195643fc Signed-off-by: Damjan Marion <damarion@cisco.com>