summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2021-06-03linux-cp: use default adjacencyMatthew Smith1-21/+16
Type: fix Outbound packets from the host have an adjacency lookup performed so buffer metadata can be filled in and output features can be applied. If no adjacency is found for a packet, it gets dropped. This breaks DHCP and possibly other things since the DHCP reply to a discover request is sent to a destination MAC address that is determined by the contents of the request packet rather than any existing neighbor table entry. If adjacency lookup for outbound packets does not find an entry, use the default adjacency for the interface & address family. Change-Id: Ia53a4df3a5bad2991768cfe4a84c560b879e656f Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2021-06-03fib: fix flags updates when adding routes with a udp encap pathArthur de Kerhor1-1/+1
When adding a route via a udp encap instance, FIB_ENTRY_FLAG_IMPORT should not be set. In particular, fib_route_attached_cross_table should always return false for such paths. Modified test_udp_encap to leverage the bug that needed to be fixed. Type: fix Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com> Change-Id: Iaa9489e96d1cff09751f92c62caf7999d924fd7f
2021-06-02vcl: ldp placeholder for SO_LINGERFlorin Coras1-0/+3
Make sure we don't return error if app tries to setsockopt it. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I1a9a6a8da03380b0b6a6d01efed9b672a3f0b1f9
2021-06-01srtp: cleanup build and default to disabledFlorin Coras2-12/+1
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I62fb56257445a05105e556d1ea6cc6280b5eeccc
2021-06-01udp: calculate inner checksums if needed before udp encapArthur de Kerhor2-1/+7
We do not want to encap headers containing wrong checksums. Additionnally, this clears the checksums offlads flags, which was something missing since the outer headers checksums were calculated during the encap. Hence, those should not be recalculated afterwards. Type: fix Change-Id: I7fd07987b4f13f76c6990a1c08dc2f960bdd8de1 Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com>
2021-05-31nat: fix broken nat44-ed cliRuslan Babayev2-10/+1
snat_set_frame_queue_nelts has been replaced with nat44_ed_set_frame_queue_nelts. Type: fix Signed-off-by: Ruslan Babayev <ruslan@babayev.com> Change-Id: I8d970be71376fdbb2bfd383d4d5824a8def93bb3
2021-05-31interface: fix vnet_sw_interface_update_unnumberedDave Barach1-6/+13
Unless a software interface is actually unnumbered, do not set ip[46]_main.lookup_main.if_address_pool_index_by_sw_if_index [sw_if_index] to ~0 Fixes this scenario: loop create set int state loop0 up create sub-interface loop0 1 set interface ip addr loop0.1 192.168.1.1/24 delete sub-interface loop0.1 set int ip addr loop0 192.168.1.1/24 Type: fix Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I46141d862fa57d70b93d7bb0c105403708165264
2021-05-29tls: fix handling of failed connectsFlorin Coras1-16/+18
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ifbf43dd69aa07be485fe7fa01c917512e423036e
2021-05-29udp: add udp decapsulationArthur de Kerhor5-10/+193
Possibility to register a port via CLI or API to decap incoming UDP packets: - For CLI, a user needs to specify the inner protocol (only MPLS supported for now) - For API, the protocol is specified by index Added unittests Type: feature Change-Id: Ifedd86d8db2e355b7618472554fd67d77a13a4aa Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com>
2021-05-29hsa: proxy listener support addition of fifo segmentsFlorin Coras1-0/+1
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I59218f784140ef5ecb8468af6aebfe25fd7703a4
2021-05-28tls: fix handling of failed acceptsFlorin Coras1-3/+12
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I34b53dcaf4f049157b538ea40a39033d43e525a5
2021-05-28svm: fix inadequate atomic load for chunk mgrDave Wallace1-3/+3
- Fixes intermittent LDP cut thru iperf3 test failure on AARCH64 Type: fix Change-Id: Id21a078d642e03d974bacacd1f4d0faa42fb6652 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2021-05-28gso: fix the error handlingMohsin Kazmi3-16/+52
Type: fix Change-Id: I7ada1b780b5c40261f6b14cfadc3f382e4e39086 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2021-05-27vlib: handoff reworkDamjan Marion5-282/+177
Type: improvement Change-Id: I1e199ae31e969154319e94c5cd286b8d8adc6660 Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-27build: kindly ask python not to polute src/Damjan Marion3-6/+7
Type: make Change-Id: I1ec82e0f3c19dee79f942996339240c73d4e380c Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-27dpdk: bump to 21.05Fan Zhang2-12/+29
Type: feature This patch bumps DPDK version to 21.05 and updated VPP to accomodate the changes in DPDK latest version. Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Change-Id: If217441f70c9ab531196dca7ec7a486ec9931cff
2021-05-27interface: add tx-queue cli support for new tx infraMohsin Kazmi3-5/+109
Type: improvement set interface tx-queue tap1 queue 2 threads 1-2 show hardware-interfaces tap1 Name Idx Link Hardware tap1 2 up tap1 Link speed: unknown RX Queues: queue thread mode 0 vpp_wk_1 (2) polling TX Queues: queue shared thread(s) 0 no 0 1 no 1 2 yes 1-2 3 no 3 4 no 4 Ethernet address 02:fe:09:3a:48:ff VIRTIO interface instance 1 set interface tx-queue tap0 queue 4 threads show hardware-interfaces tap0 Name Idx Link Hardware tap0 1 up tap0 Link speed: unknown RX Queues: queue thread mode 0 vpp_wk_0 (1) polling TX Queues: queue shared thread(s) 0 no 0 1 no 1 2 no 2 3 no 3 4 no Ethernet address 02:fe:03:6a:66:fc VIRTIO interface instance 0 Change-Id: I6154476ec9ff0b14287098529c88a14b779371a5 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2021-05-27ip: allow the 'ip6 enable' on tunnel interface typesNeale Ranns1-27/+19
Type: feature This was limited to HW interface types (for historical reason AFAICT) Signed-off-by: Neale Ranns <neale@graphiant.com> Change-Id: I3785a356ae31722fa60d84f64ec9aa53ebdd615f
2021-05-26dpdk: fix missing symbolFan Zhang3-11/+23
Type: fix This patch fixes the missing symbol of dpdk_plugin.so when creating symmetric key. The solution is to add dependency of libssl to dpdk cryptodev and disable cryptodev engine when libssl is not presented. Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Change-Id: I30aa6e3e3af1faefa82883bad613e1d82235a2ec
2021-05-26vppinfra: explicit blocking mode for sock connectsFlorin Coras4-5/+9
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I3a33230de13fef613dc9523cf24a9968d200c2e5
2021-05-26fib: During the mfib lookup set the unicast FIB index in the packet so that ↵Neale Ranns1-26/+28
a uRPF check on a for-us packet is done in the correct VRF Type: fix Signed-off-by: Neale Ranns <neale@graphiant.com> Change-Id: Iafa6efea0d96962aa9136dccefc148a961f74476
2021-05-26pg: revert exec file fixesRay Kinsella1-6/+1
This reverts commit fd4fd0d1853ae7384e7a64c4cad17a3469720b95. Type: fix Change-Id: I6ef84f646372270ded486eacee81817067e49106 Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
2021-05-26nat: add thread index assertionsKlement Sekera4-0/+11
Add extra assertions to debug build. Type: improvement Signed-off-by: Klement Sekera <ksekera@cisco.com> Change-Id: Ib20130365e8f9dbb556fcbb4321dd184c7eff603
2021-05-26api: socket client connect set to blockingFlorin Coras2-1/+9
Binary api client must otherwise check the returned error and if it was EAGAIN/EINPROGRESS poll for connect completion. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I89845b1a59b9fa2ab0968029435ceb203bfa8f6c
2021-05-26vlib: revert exec cmd handle scripts with blank linesRay Kinsella1-21/+3
This reverts commit 269e1569e1f7798bf7d7f539daf505b2f1997a08. Type: fix Change-Id: I40bd71ae3b5e9dc8345fb2460aae437de8a9a5ba Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
2021-05-26perfmon: revert raw column supportRay Kinsella3-30/+0
Revert raw column from the perfmon plugin. Type: refactor Signed-off-by: Ray Kinsella <mdr@ashroe.eu> Change-Id: If127f57ee2022cc1c0ea5177f1655a792f195f1d
2021-05-26tests: move vapi C/C++ test files into src/Damjan Marion4-0/+1538
Type: improvement Change-Id: Iaad004661db1e9076e6c27227878f1612fa7289f Signed-off-by: Damjan Marion <damarion@cisco.com> Signed-off-by: Klement Sekera <ksekera@cisco.com>
2021-05-25srtp: basic implementation based on libsrtp2Florin Coras13-4/+1537
Type: feature Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ic5e99938a5f130e83de6d590d2f89252d055bceb
2021-05-25linux-cp: A V2 variant of pair create API that returns the hostNeale Ranns5-22/+88
interface created Type: improvement Signed-off-by: Neale Ranns <neale@graphiant.com> Change-Id: I31a83cd50513078895078bae3ae11372d351ddcd
2021-05-25nat: report correct EI per-user session limitMatthew Smith2-3/+5
Type: fix When enabling the endpoint independent NAT44 plugin, user_sessions determines the maximum number of translations that can be active for a single inside address. If 0 is passed in, a default value is used but 0 is still stored in the field that is used to populate reply messages to nat44_ei_show_running_config, At the time of enabling the plugin, if user_sessions is 0, update the field which is used by nat44_ei_show_running_config to contain the default per-user limit which gets used by the EI nodes. Change-Id: I6b060d85bcd42d91db879b95a8b07c6844bcd2a5 Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2021-05-25dpdk: disable DPDK iAVF interrupt supportMohammed Hawari1-2/+3
Change-Id: I665d9d11fcdd9af33e38972a74e51ce3085f3e55 Signed-off-by: Mohammed Hawari <mohammed@hawari.fr> Type: fix
2021-05-25interface: show if tx queue is sharedDamjan Marion1-4/+6
Type: improvement Change-Id: Idb48f835730db6c652c4b0e6ef310c7f36599a72 Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-05-22tls: prealloc chunks for dtls dgram enqFlorin Coras2-3/+5
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ib25598f72f6539c07de1acee1e6049ecd28f35cc
2021-05-21session: improve main thread connects rpcFlorin Coras2-18/+26
Avoid grabbing the worker barrier if there's no work to be done. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ice3de5df41cd1752aba3419ad2e2dd82f30e9bfb
2021-05-21stats: catch stat segment overrun in retry loopOle Troan1-3/+3
Raise IOError so that the blocking code retries not only on optimistic locking failures but also on data segment illegal reads. Type: fix Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: I6bb250e239486b60192004271c1690e790513318
2021-05-21af_xdp: use desc offset on rxBenoît Ganne2-41/+26
Instead of pre-programming the data offset on rx, use offset passed in the descriptor. This is more robust and future-proof. Type: fix Change-Id: I2bd910d92b8b03d17be5be85a24108be711dc7b9 Signed-off-by: Benoît Ganne <bganne@cisco.com>
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 Sekera6-106/+49
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-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 Coras1-1/+1
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-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