summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2022-02-17ipsec: Improve the handling of NAT-T keepalive messagesNeale Ranns2-9/+34
Type: improvement Ethernet frames on the wire are a minimum of 64 bytes, so use the length in the UDP header to determine if the ESP payload is one bytes of the special SPI, rather than the buffer's size (which will include the ethernet header's padding). In the case of drop advance the packet back to the IP header so the ipx-drop node sees a sane packet. Signed-off-by: Neale Ranns <neale@graphiant.com> Change-Id: Ic3b75487919f0c77507d6f725bd11202bc5afee8
2022-02-17ping: fix incorrect index while clearing pingVyshakh Krishnan1-1/+1
Type: fix Signed-off-by: Vyshakh Krishnan <vyshakh@rtbrick.com> Change-Id: I0b085fd2d3d9b8e08a16585c4964101b6461bf06
2022-02-17dpdk: enable scatter on Rx for net/enaakolechk1-1/+0
Type: fix Since commit https://github.com/DPDK/dpdk/commit/e2a6d08bef489215ebb77b1d3033875ada757cfa DPDK started advertising scattered Rx feature for elastic network adapters. Thus, dpdk plugin doesn't have to disable it for ENA by default anymore Signed-off-by: akolechk <akolechk@cisco.com> Change-Id: I2d4f429be992e3c4edcc0c3adf8c55f3d5381631
2022-02-16af_xdp: change flag passed to bpf_set_link_xdp_fdDastin Wilski1-4/+1
Originally XDP_FLAGS_REPLACE was passed to the function. For kernels not defining this macro (for example 5.4) in if_link.h vpp sets it to 0. If kernel has this macro problem appears, replace flag requires specifying the program to be replaced. bpf_set_link_xdp_fd wraps around __bpf_set_link_xdp_fd_replace and passes 0 as old_fd, it leads to an error while assessing for replacement (if 0 is passed there is no assessing for replacement). To address this issue no flag is passed to the function, only 0. Type: improvement Signed-off-by: Dastin Wilski <dastin.wilski@gmail.com> Change-Id: I3689ce7eb8c71c699f0e589111929979c2bbe213
2022-02-16fib: Use the same adjacency that BFD is usingNeale Ranns4-32/+35
Type: improvement When the adj subsystem is notified of a BFD session, it attempts to find the appropriate adjacency from the session's key. This could lead to a mismatch between the adj used by BFD and that of FIB. The BFD session stores the adj it is using, so FIB uses that instead. Since adj is now using the same adj as BFD, it does not need to maintain its own locks. In BFD it is necessary to initialise the adj index used in INVALID and ensure it is not unlock before listeners are notified of the session delete. Signed-off-by: Neale Ranns <neale@graphiant.com> Change-Id: I9630867b10bb18969475299a0c754942a8df0f44
2022-02-16bfd: On a point to point link use the all zeros address for the peer.Neale Ranns1-8/+12
Type: fix The adjacency used is then the same one as that used by routes in the FIB and so the BFD protection/fast-failover works for thise route, since they are children of the BFD protected adjacency. Signed-off-by: Neale Ranns <neale@graphiant.com> Change-Id: I72e10b3074697cba8a002a4c1acf690983985157
2022-02-16ipfix-export: pass ipv4 addr to format fn for showPaul Atkins1-3/+4
When the ipfix address was changed to be an ip_address instead of an ip4_address the output when creating an exporter via the cli should have been modified to take the address of the v4 part of the addr. Type: fix Signed-off-by: Paul Atkins <patkins@graphiant.com> Change-Id: I141456cd9092c861a4c4aefba4035dbde23efcd6
2022-02-16crypto: Fix for the crash in cryptomgovind1-0/+4
Fix for the crash when both crypto_native_plugin and DPDK QAT are enabled in startup conf. Type: fix Signed-off-by: mgovind <govindarajan.mohandoss@arm.com> Change-Id: Ib020ed7130a99080a093c70c06d47bcacd6d23b1
2022-02-15quic: fix quic_config_fn cfg cmd parse errorfanxb1-3/+3
Type:fix Signed-off-by: fanxb <fxb_mail@163.com> Change-Id: I244f6ddd0a34e82ababd375646d3bb194602b5d5
2022-02-15tcp: Do not include the tcp_packet.h file in the ip4_packet.hNeale Ranns18-97/+112
Type: refactor IP4 does not depend on TCP (it's the other way around). This upside down dependency leads to some nasty circular includes when trying to use ip46_address.h in interface.h Signed-off-by: Neale Ranns <neale@graphiant.com> Change-Id: I4a1bd21543b08b9c1cf1e5563da738414734a878
2022-02-14bfd: add per session countersKlement Sekera5-38/+251
Add udp total session counts - as stat segment entries: /bfd/udp4/sessions /bfd/udp6/sessions and per session packet/byte counters: /bfd/rx-session-counters /bfd/rx-session-echo-counters /bfd/tx-session-counters /bfd/tx-session-echo-counters These counters are per-thread and per-session id. Adjust tests to verify proper function. Type: refactor Signed-off-by: Klement Sekera <klement.sekera@gmail.com> Change-Id: Ie597928022b6ac74c2220019b9e8e1714295f170
2022-02-14bfd: refactor code to fix misc warningsKlement Sekera3-131/+110
This change fixes multiple unused parameter warnings, narrowing conversion warnings and identical switch statement warnings. Type: refactor Signed-off-by: Klement Sekera <klement.sekera@gmail.com> Change-Id: I4140e939c409ce06cc5aaaf5e1b042681f7ca448
2022-02-14srtp: flag connections for no session layer lookupFlorin Coras1-0/+2
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Id78cdf742689a5cff356ac0aa3167af1c886b531
2022-02-14fib: fix incorrect display of mpls fib_indexRajith P R1-1/+1
Type: fix Signed-off-by: Rajith P R <rajith@rtbrick.com> Change-Id: I8c9c85081c27bfe7ee71b5b620a2a761e027789c
2022-02-13hsa: add http throughput test server appFlorin Coras4-2/+569
Can be used for throughput testing over http. For instance, start server: http tps #implicitly listens on port 80 Then, to test throughput with curl: curl <server_ip>/test_file_10g curl <server_ip>/test_file_123m Similarly, for https: http tps uri tls://<server_ip>/443 curl -k <server_ip>/test_file_1g Type: feature Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I30ab7f0d94a7357b3f04546e4a3d3c410a733908
2022-02-13memif: Fix underflowNathan Skrzypczak1-2/+2
Type: fix Change-Id: Id183c47328510b5db7ffcc7a4dfb41f5a3151399 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2022-02-11http: fix support for files larger than u32Florin Coras4-15/+16
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Iad7304c3a8fef14ec85c4240714feb86637411ca
2022-02-11http: add startup configuration stanzaFlorin Coras2-9/+50
Support segment and fifo sizes for now. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ie7242936de7a87df8a703eb371f665be5be4390d
2022-02-10session: use transport endpoint cfg for listenFlorin Coras10-13/+14
Makes it similar to connects. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I38c328670054e1a9ba4dc4ea8fe7519a5a09e8be
2022-02-10vlib: vlib frame bitmapsDamjan Marion3-19/+97
Special bitmaps with VLIB_FRAME_SIZE bits. Type: improvement Change-Id: I48747e422e519e7b5e930fa720397459d3adbb8e Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-02-10tests: Fix the FIB UTNeale Ranns2-27/+27
Type: test The FIB UT fails in debug mode because there is no string associated woth its fib_node_type_t. Change the tests to register their own type, which will give it a name. Signed-off-by: Neale Ranns <neale@graphiant.com> Change-Id: I36e546718faa7241c088494cbae10939aca51d5a
2022-02-10stats: Remove unsolicited clib_warningSteven Luong1-1/+1
It is annoying to see unsolicited message like this spew out to the console which an end-user cares less about. vlib_stats_rename_symlink:301: RENAME new name: /nodes/unix-cli-local:52/clocks Type: fix Fixes: I92a62bb1cb799e8fdc3ec4110ae3428825254f8a Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I071f3d3736c06cd95a38ec46c7e2222caad01283
2022-02-10vppinfra: small optimization in clib_memset_u64Damjan Marion1-0/+8
Type: improvement Change-Id: I4b89c32c224caf8a3a4ac94b26ecefffd26c7038 Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-02-10vppinfra: clib_memcpy_may_overrunDamjan Marion1-0/+43
Faster memcpy variant when overrun of up to SIMD register size - 1 is accepable. Type: improvement Change-Id: I1fb22e2989f2156caa9f34fa096e6ff9ea9ec7b6 Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-02-10vppinfra:remove uXxY_is_greaterDamjan Marion5-26/+8
not needed, '>' works... Type: improvement Change-Id: I9bfbac787e8dca24e9b1bceda0922740eed26346 Signed-off-by: Damjan Marion <damarion@cisco.com>
2022-02-10session: avoid debug half-open session pool contentionFlorin Coras1-0/+11
Half-opens are only allocated from main with worker barrier but can be cleaned up, i.e., session_half_open_free, from main without a barrier. In debug images, the free_bitmap can grow while workers peek the sessions pool, e.g., session_half_open_migrate_notify, and as a result crash while validating the session. To avoid, proactively grow bitmap in debug images. Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I2410793f933fb638651fe8dc08ba78e9bee0bd77
2022-02-09vcl: make eventfd flag configurable from envFilip Tehlar2-0/+8
Type: feature Signed-off-by: Filip Tehlar <ftehlar@cisco.com> Change-Id: Id25e2188c9167b2e187923ebe10660e0bc9c3c0a
2022-02-09fib: ip6 and mpls fib_table memory leaks on fib_table->ft_locksSteven Luong3-2/+5
ip6 and mpls fib_table->ft_locks memory leaked when the table is deleted. name tag is leaked for mpls table parsing. Type: fix Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: Ife68c0ddc3a6f9437a149b308310f042799c2116
2022-02-09bfd: Add an update API that has create new or modify existing semanticsNeale Ranns6-22/+172
Type: improvement helps keep the agents stateless Signed-off-by: Neale Ranns <neale@graphiant.com> Change-Id: I3588f13c081e24f5a8083b490eb02856361e4ccb
2022-02-08http_static: cleanup file handler and cacheFlorin Coras6-493/+674
Type: refactor Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I7aff3a02315f9f92039dd2e3af1cbd8312aec662
2022-02-08tests: vcl: add missing host stack echo testFilip Tehlar1-0/+8
Type: test Signed-off-by: Filip Tehlar <ftehlar@cisco.com> Change-Id: I3b6e56b319aab3ffd2cc82d31e646bd42901275b
2022-02-07memif: memory leak when deleting memif interfaceSteven Luong1-0/+1
When deleting a memif interface, there is a memory leak in mif->local_disc_string. The code that leads to memory leak is memif_delete_if -> memif_disconect -> vec_dup Type: fix Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I579c743c3d47770131153e083e65f6cd899067b3
2022-02-07build: Make the build work on Debian 11Andrew Yourtchenko2-1/+24
Debian 11 has some packages that have changed, and need adjustment. Also - its default compiler is gcc 10, which, contrary to either gcc 8 or gcc 11 prints a bunch of warnings, which fails compilation. And there is no gcc 11 package. Therefore, use clang for this build. Additionally, python 3.9 has exposed this issue: https://bugs.python.org/issue42580 Therefore, make a local patch to scapy to tackle it. Type: feature Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com> Change-Id: I7b9c0f852ab97fe3c1feca3f22020ac0970ba3e2
2022-02-07igmp: make sure fib_index is set before delivering to ip4-localBenoît Ganne1-0/+2
IGMP packets with Router Alert option are delivered to ip4-local without going through ip4-lookup. Make sure fib_index is initialized properly. Type: fix Change-Id: Iab090a33c4c759b6d7f68c28a0b3f4da7a9de864 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2022-02-07tests: Update python packagesDave Wallace4-132/+154
- pip == 22.0.3 - pip-tools == 6.5.0 - setuptools == 60.7.1 (now pinned in test/Makefile) - upgrade packages in requirements-3.txt - install iperf3 for 'make test TEST=vcl' Type: test Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: I1bd85f10fb4f6ba87b9bc1267905e5f1b8eb16de
2022-02-06http_static: fix coverity warningFlorin Coras1-2/+4
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I6d5527c49e9085f35be988549c2f1460be7fd4f0
2022-02-06dpdk: remove dead codeBenoît Ganne1-15/+1
rte_eth_tx_burst() returns the number of packets actually stored in transmit descriptors and the return type is uint16. n_sent cannot be negative and the if branch is dead code. Type: improvement Change-Id: Idc2980d342756c1093ddf74ea6207d072e819331 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2022-02-06stats: fix memory leaksOle Troan2-33/+66
Type: fix Fixes: 72e31bc2d9 Fixes: db02380 Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: I92a62bb1cb799e8fdc3ec4110ae3428825254f8a Signed-off-by: Ole Troan <ot@cisco.com>
2022-02-06perfmon: Fix typo in debug log messagesJon Loeliger1-2/+2
Signed-off-by: Jon Loeliger <jdl@netgate.com> Type: style Change-Id: I955c19ddbe06ef3651c03820fcc14054c63258b9
2022-02-05http_static: handle empty requestsFlorin Coras1-3/+12
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ic002444c51b1ecbbf18a49863cf01888d28c4632
2022-02-05http: estimate tx packets for schedulerFlorin Coras1-1/+13
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ibca4bf59e6319ffdc1beaa084ca80f216e062af0
2022-02-05session: track bytes dequeued in snd paramsFlorin Coras5-12/+11
Also reset send params flags before calling transports to avoid explicit resets in all transports. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I1da7b3fab009728e7fee4199425ced933fa8a122
2022-02-05tests: mark the test suites broken when ASan is enabledNaveen Joy1-0/+16
Mark broken test suites using @tag_fixme_asan.The main issue is that some tests do not pass with ASan. These will need to be fixed, but it takes time and in the meantime, new issues are introduced that trip up ASan. When this tag is set and Asan is enabled, failing ASan tests are skipped, so incremental fixes can pass the CI Type: improvement Change-Id: I02602eb74234c25a4c701279e14704b81d4c5b71 Signed-off-by: Naveen Joy <najoy@cisco.com>
2022-02-05tests: remove constant argumentKlement Sekera1-20/+20
Reduce number of arguments by removing an argument which is only ever used with same constant value. Type: refactor Signed-off-by: Klement Sekera <klement.sekera@gmail.com> Signed-off-by: Dave Wallace <dwallacelf@gmail.com> Change-Id: I061635b28031d75eb1f853b570e85f6e5a9094df
2022-02-05tests: fix test-checkstyle-diff if no .py changedKlement Sekera1-2/+2
Type: fix Signed-off-by: Klement Sekera <klement.sekera@gmail.com> Change-Id: I6d23ff14380b0154f617b3ab7cd1acd5aa45106a
2022-02-03prom: add option to set stat name prefixFlorin Coras3-30/+83
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I8b40d4e935c9280ff89a3d0f8b30bd7beac1e08a
2022-02-03http: honor max seg len in ptr bufferFlorin Coras1-4/+6
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I58ecd933f36c6622f4c6b373d2d94a48f9fc9eae
2022-02-03ip nat: use ip rx sw_if_index in ip-local arc startFlorin Coras3-16/+39
This also changes the behavior of the nat44-ei hairpinning feature. Rather then enabling the feature on every nat interface, it is enabled only on local0. Type: improvement Signed-off-by: Filip Varga <fivarga@cisco.com> Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I4e16a83c9e328aa75fc61df508b620ef743ca775
2022-02-02prom: basic builtin prometheus stats exporterFlorin Coras7-0/+662
This is a vpp builtin alternative, not a replacement, for the existing vpp_prometheus_exporter. The plugin works by registering with http_static as a url handler for stats.prom and handles requests by scraping the stats segment in the main thread. It will therefore consume vpp process cpu cycles. By default the plugin is disabled. To enable, first start the http static server an then use "prom enable" cli. Type: feature Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: If6888e965d1b2361f6a5546586068213d37079d1
2022-02-02bfd: restore the data within the packet after hash verificationAndrew Yourtchenko1-0/+5
The BFD delayed auth change test was failing intermittently within CI. Debugging has shown it depends on the initial random seed, e.g. the below will consistently fail: RND_SEED=1643734669.7126195 TEST='bfd.BFDAuthOnOffTestCase.test_auth_change_key_delayed' Same thing will happen with: RND_SEED=1643736595.1363552 RND_SEED=1643722239.8224792 The analysis of the behavior shown that the function that is doing the hash verification, modifies the content of the packet for the purposes of hash computation. In case of the auth rollover, this function may be called twice - resulting in the second comparison to be made with a bogus packet data, thus failing the check and the test. The above values of random seed are the ones where the test makes it to the point of this double comparison. The solution is to restore the data within the packet after the check from the array where we have copied it into before modifying the packet. Change-Id: Ibb09beb4b1230032db04527bbf38fa335651866b Type: fix Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>