Fan Zhang [Wed, 6 Oct 2021 13:23:33 +0000 (14:23 +0100)]
build: fix ipsecmb version check
Type: fix
This patch fixes the chacha20-poly1305 support check in ipsecmb
engine build.
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Signed-off-by: PiotrX Kleski <piotrx.kleski@intel.com>
Change-Id: I74b52a27f78a0f6a65c867dbd44a44a8f4a2ed60
Filip Tehlar [Wed, 6 Oct 2021 12:48:34 +0000 (12:48 +0000)]
udp: fix severity error info
Type: fix
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I415d68b39ecac546b531f6eb98bca51e7eb6f7f7
Benoît Ganne [Thu, 9 Sep 2021 09:58:28 +0000 (11:58 +0200)]
ip: fix path MTU node errors definition
The path mtu node uses errors defined by ip fragmentation.
Type: fix
Change-Id: I1f173955919a4f555ab0309cd8201ec342a0ae92
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Benoît Ganne [Tue, 28 Sep 2021 09:19:37 +0000 (11:19 +0200)]
ikev2: do not require optional IDr on IKE AUTH
IDr is optional in IKE AUTH from the initiator. In that case, the
responder is free to use any matching profile and fills the
corresponding IDr in the response.
The initiator is then free to accept or reject it.
Type: improvement
Change-Id: I07a1c64a40ed22bd41767c259406238bbbab5cf4
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Benoît Ganne [Wed, 29 Sep 2021 17:02:58 +0000 (19:02 +0200)]
ikev2: add logs in case of parsing errors
Type: improvement
Change-Id: Id0a6a9e68725ea7aa0b7da14cf54d14405a907fb
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Benoît Ganne [Wed, 29 Sep 2021 16:51:31 +0000 (18:51 +0200)]
ikev2: do not send IDi on responder AUTH
The IDi is not mentioned in the RFC for the responder AUTH message, and
it confuses some IKE implementations.
Type: fix
Change-Id: I2bcefa1efd315412a6f5fa592668d4e0da510264
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Ed Warnicke [Sat, 14 Aug 2021 21:19:43 +0000 (16:19 -0500)]
arp: source address selection
https://gerrit.fd.io/r/c/vpp/+/30197 introduced SAS and inadvertently
broke ping in a variety of situations:
https://jira.fd.io/browse/VPP-1992
https://jira.fd.io/browse/VPP-1970
https://lists.fd.io/g/vpp-dev/topic/
84038840
all of which seem to be rooted in situations where there's literally
nothing smarter ping can do for source address selection than
to pick the first IP on the interface. This can happen for:
1. P2P interfaces, see attempted fix: https://gerrit.fd.io/r/c/vpp/+/32801
2. Interfaces with /32 IP addresses intentionally assigned
After some discussion, this problem was partially fixed in
https://gerrit.fd.io/r/c/vpp/+/33449
Unforunately, while source selection was fixed in ping, it continued
to be broken in arp/nd. This gerrit builds on
https://gerrit.fd.io/r/c/vpp/+/33449
and fixes arp/nd.
Type: fix
Ticket: VPP-1970
Ticket: VPP-1992
Fixes:
e2fe097424fb169dfe01421ff17b8ccd0c26b4a6
Change-Id: Ief60c321676a15f4f30bf4cd84d50b2f1efec432
Signed-off-by: Ed Warnicke <hagbard@gmail.com>
Ray Kinsella [Wed, 6 Oct 2021 15:21:33 +0000 (15:21 +0000)]
perfmon: Topdown Level 1 support on Snowridge
Enable Topdown Level 1 support on Snowridge,
enabled with standard CPU events on small core.
Type: improvement
Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Change-Id: I58ad09383de7464265ac1b69e683f253591e3b5e
Ray Kinsella [Wed, 6 Oct 2021 15:15:41 +0000 (15:15 +0000)]
perfmon: check bundle is supported
Add a check bundle is supported before futher activation.
Enable different bundles with same name, supported on different platforms.
Type: improvement
Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Change-Id: I73e8bbd1e07c05ebccd9146d48a234eb598a2388
Ray Kinsella [Thu, 7 Oct 2021 10:42:26 +0000 (11:42 +0100)]
perfmon: fix peusdo events
Fix peusdo events, missed populating "core" events with peusdo events.
Type: fix
Fixes:
bf37bf6f7
Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Change-Id: I569fa876f1b58540adac0b095be0ff4ade664dec
Artem Glazychev [Mon, 23 Aug 2021 06:35:31 +0000 (13:35 +0700)]
ip: check if interface has link-local address (addition)
previous -
b31fbc47f5fcf8234c757558d7b0285348774086
Type: fix
Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
Change-Id: I7ea2d693d3ad5bf41ece066b3511fbfa156c1e4b
Artem Glazychev [Thu, 10 Jun 2021 17:10:00 +0000 (00:10 +0700)]
wireguard: add events for peer
we can receive events from peer about its state:
-WIREGUARD_PEER_STATUS_DEAD
-WIREGUARD_PEER_ESTABLISHED
Type: improvement
Change-Id: Ide83fbe2cfafa79ded5bcf3f6a884c26a7583db0
Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
Filip Tehlar [Wed, 6 Oct 2021 12:54:51 +0000 (12:54 +0000)]
session: fix severity info
Type: fix
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I6548274f8c0ae2a183b1d221cb195de445c2819f
Artem Glazychev [Thu, 3 Jun 2021 13:11:54 +0000 (20:11 +0700)]
wireguard: add ipv6 support
Type: improvement
Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
Change-Id: If1a7e82ce163c4c4acaa5acf45ad2b88371396f6
Filip Tehlar [Wed, 6 Oct 2021 09:47:41 +0000 (09:47 +0000)]
tcp: fix severity info
Type: fix
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ibe39bc045c3b154209a83b59ef95a37c61b32c0c
Nathan Skrzypczak [Wed, 6 Oct 2021 13:03:35 +0000 (15:03 +0200)]
docs: more nitfixes
Type: fix
Change-Id: I41455e1cdc62e7c0baa148630b0701b042f3b156
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Damjan Marion [Wed, 6 Oct 2021 10:07:04 +0000 (12:07 +0200)]
build: fix lib dir in debian packaging
Type: fix
Change-Id: I64b0bbe5ba2317ab03b68f140df69a94a0dd7407
Signed-off-by: Damjan Marion <damarion@cisco.com>
Nathan Skrzypczak [Wed, 29 Sep 2021 13:36:51 +0000 (15:36 +0200)]
docs: vnet comment nitfixes
Type: improvement
Change-Id: Iac01d7830b53819ace8f199554be10ab89ecdb97
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Nathan Skrzypczak [Wed, 29 Sep 2021 13:35:31 +0000 (15:35 +0200)]
vlib: doc nitfixes
Type: improvement
Change-Id: I9e761f908d9d2becbc61eb0515dc6b7c1e1e036f
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Nathan Skrzypczak [Wed, 29 Sep 2021 13:38:50 +0000 (15:38 +0200)]
docs: extras/deprec nitfixes
Type: improvement
Change-Id: I39038072eff3c09536917a32984daebab69e6fe7
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Benoît Ganne [Thu, 30 Sep 2021 11:41:00 +0000 (13:41 +0200)]
ip: add classifier-based ACLs support on ip punt
This feature allows one to add classifier-based ACLs on packets punted
from the ip infra, eg. to only whitelist specific sender(s).
Type: feature
Change-Id: Idab37b188583efbca980038875fc3e540cb2e880
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Nathan Skrzypczak [Wed, 28 Jul 2021 12:09:50 +0000 (14:09 +0200)]
session: Add session_sapi_enable_disable
Type: feature
This adds an API message to do the switch
at runtime.
Change-Id: Ice6b69c57f0bfbf5668182e25593362ff4133615
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Damjan Marion [Thu, 30 Sep 2021 18:04:14 +0000 (20:04 +0200)]
build: don't hardcode triplet, allow specifying custom lib dir
Type: fix
Change-Id: I33f364fda88914f88f9b976cb83e6d3ff466f0bb
Signed-off-by: Damjan Marion <damarion@cisco.com>
Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Mohsin Kazmi [Fri, 1 Oct 2021 10:34:42 +0000 (12:34 +0200)]
tap: free the tap_fds vec on interface deletion
Type: fix
Tap fds are stored in vector array but deleting tap
was not freeing this vector.
This patch fixes it.
Change-Id: I5228e3b9f432c69cf2656b2ee7402360d775964b
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Ray Kinsella [Thu, 30 Sep 2021 14:15:32 +0000 (15:15 +0100)]
perfmon: bundles with multiple types
Allow perfmon bundles to support more than one bundle type, either node
or thread. Only used for topdown bundle for the moment.
Type: improvement
Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Change-Id: Iba3653a4deb39b0a8ee8ad448a7e8f954283ccd8
Filip Varga [Mon, 30 Aug 2021 14:23:38 +0000 (16:23 +0200)]
nat: NAT44 ED api fix and improvement
Backward compatibility fix returns erroneous behavior that lets user
add internally unused inside interface for the purpose
of complying with the old add/dump/details API behavior.
Change introduced in https://gerrit.fd.io/r/c/vpp/+/32951 removed
extra inside interface that wasn't required or any how used by the
output feature. This patch also changed outside interface flags to
inside & outside. This fix returns the old behavior by imitating
the old behavior through dummy registratoin data.
Added new API calls nat44_ed_add_del_output_interface
and nat44_ed_output_interface_get/details as a
replacement of old API's. New API introduces
simplified and cleaner way of configuring outside
feature without requirement of config flags.
Type: improvement
Signed-off-by: Filip Varga <fivarga@cisco.com>
Change-Id: I7a170f7325727c04da5e2e3ffbe3f02179531284
Mohsin Kazmi [Mon, 4 Oct 2021 09:29:08 +0000 (11:29 +0200)]
interface: free the output_node_thread_runtimes
Type: fix
output_node_thread_runtimes was not freed when an interface
is deleted. This patch fixes it.
Change-Id: I763b0109be1904d43839528a346f3b9aa8927205
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Mohsin Kazmi [Mon, 4 Oct 2021 09:21:57 +0000 (11:21 +0200)]
interface: remove the redundant vec_free on rx_queue_indices
Type: fix
vnet_delete_hw_interface() calls vec_free on rx_queue_indices.
function vnet_hw_if_unregister_all_rx_queues() is used to free
rx_queue_indices which is also called by vnet_delete_hw_interface().
So, second vec_free is redundant.
Change-Id: Ibda4be38fd122d33532bb384c97b0b9e5f441134
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Nick Brown [Mon, 27 Sep 2021 15:53:23 +0000 (16:53 +0100)]
build: Allow ipsec-mb plugin to build with libipsec_mb 0.55
The 0.55 version of libipsec_mb does not support the chacha functions
used in the plugin.
The missing symobls are:
ipsecmb_ops_chacha_poly
ipsecmb_ops_chacha_poly_chained
IMB_CIPHER_DIRECTION
Check for ipsecmb_ops_chacha_poly() and conditionalise the chacha code
in the plugin on this.
ipsec_mb 0.55 is the version currently found in Debian Stable (bullseye)
Type: make
Signed-off-by: Nick Brown <nickbroon@gmail.com>
Change-Id: I88c962ac4f99a58b5cd61fb9b75f692e27d4ec30
Mohsin Kazmi [Thu, 30 Sep 2021 09:28:07 +0000 (09:28 +0000)]
memif: integrate with new tx infra
Type: improvement
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: I7c2b9891e269f23c3aa2a0abfee3cf0a0f1e2135
Florin Coras [Fri, 1 Oct 2021 21:57:03 +0000 (14:57 -0700)]
vcl: remove unsed configs
Type: refactor
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: If755cf38e6b30e8757f2c6fb4cf5e6642fa87e52
Filip Tehlar [Fri, 24 Sep 2021 06:21:25 +0000 (06:21 +0000)]
hsa: do not drop the barrier when creating echo server
Type: fix
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I25d3ac72360bea130f567095b486d8e295d2f2f7
Artem Glazychev [Tue, 25 May 2021 05:06:42 +0000 (12:06 +0700)]
wireguard: use the same udp-port for multi-tunnel
now we can reuse udp-port for many wireguard interfaces
Type: improvement
Change-Id: I14b5a9dbe917d83300ccb4d6907743d88355e5c5
Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
Jieqiang Wang [Thu, 29 Jul 2021 17:03:16 +0000 (17:03 +0000)]
vppinfra: fix potential memory access error in _pool_init_fixed
_pool_init_fixed uses mmap to initialize a fixed-size and preallocated
pool, whose size is the sum of vector_size and free_index_size with
alignment to the CLIB_CACHE_LINE_BYTES and page size. In this way
vector_size equals to pool_header_t + vec_header_t + elt_size * max_elts
so moving to the end of the pool space should be pool_header_t pointer +
vector_size, instead of vec_header_t pointer + vector_size.
Simple code to reproduce this error:
u64 *pool;
pool_init_fixed(pool, 2042);
Improve unit test to cover this case
Type: fix
Signed-off-by: Jieqiang Wang <jieqiang.wang@arm.com>
Reviewed-by: Lijian Zhang <lijian.zhang@arm.com>
Reviewed-by: Tianyu Li <tianyu.li@arm.com>
Change-Id: If088ef89b3dcb2d874ee837ae9da60983b14615c
Signed-off-by: Dave Barach <dave@barachs.net>
Mohsin Kazmi [Mon, 4 Oct 2021 11:43:19 +0000 (13:43 +0200)]
virtio: remove control queue support from virtio_show() for tap/tun
Type: fix
Tap/Tun interfaces do not have control queue.
This patch removes the support of control queue
from virtio_show() which is used by show tap/tun cli.
Change-Id: Ib89144ad488ed548fb1ce50ee232a1b8659ccf29
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Benoît Ganne [Fri, 1 Oct 2021 17:20:02 +0000 (19:20 +0200)]
fib: fix unitialized padding in fib_api_next_hop_decode
If the type is IPv4, makes sure the padding bytes are set to 0 as this
is used by ip46_address_is_ip4() to detect the type.
Type: fix
Change-Id: I6a81fa05a6b227086853901bf3dcdc66e6d04d2c
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Benoît Ganne [Mon, 4 Oct 2021 10:03:20 +0000 (12:03 +0200)]
ip: fix punt for ipv6
Type: fix
Change-Id: I583c30e9b63c0b0b6cd5fef0b2cb9ed7ec9856e2
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Ray Kinsella [Thu, 30 Sep 2021 15:02:04 +0000 (16:02 +0100)]
perfmon: topdown events as peusdo events
Topdown events are peusdo events exposed by linux,
and are only present on Intel platforms.
Change to clarifies this.
Type: fix
Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Change-Id: I6a3dcea5f43f53dbb96475329baf5e596a24d54f
Nathan Skrzypczak [Wed, 29 Sep 2021 13:37:34 +0000 (15:37 +0200)]
docs: plugin comment nitfixes
Type: improvement
Change-Id: Ib7e2f5f314144064de7b6be0fade3db2f9c943fe
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Mohsin Kazmi [Fri, 1 Oct 2021 17:01:48 +0000 (19:01 +0200)]
interface: remove the input_node_thread_index_by_queue
Type: fix
input_node_thread_index_by_queue is not being used anymore.
Change-Id: I0141fa0d024affb39771acf7516e064c5c8acfe9
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Sivaprasad Tummala [Thu, 30 Sep 2021 13:43:46 +0000 (19:13 +0530)]
hsa: proxy app worker thread deadlock
proxy main lock not released in certain cases and resulting in deadlock.
Type: fix
Signed-off-by: Sivaprasad Tummala <Sivaprasad.Tummala@intel.com>
Change-Id: Ib869f459b447189bb921c05fd260f3691c2ac787
Neale Ranns [Fri, 6 Aug 2021 09:03:45 +0000 (09:03 +0000)]
mpls: Save the L3 header offset in the meta-data before label imposition
Type: improvement
Subsequent features in the data-path can thus easily find the l3 header
without parsing the label stack.
Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: I26f7d4bbe9186aeb8654706579c72424e8ecca2c
Mohsin Kazmi [Tue, 23 Feb 2021 14:55:04 +0000 (15:55 +0100)]
devices: add support for pseudo header checksum
Type: improvement
Linux uses pseudo header checksum when checksum of l4 is offloaded.
This patch adds similar support in virtual interfaces.
Change-Id: I6a94d1104e59356f95057e7c122e3be9cd8659a3
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Artem Glazychev [Thu, 20 May 2021 05:33:52 +0000 (12:33 +0700)]
wireguard: move adjacency processing from wireguard_peer to wireguard_interface
now we should add routes manually
Type: improvement
Change-Id: I877511a18854efdfad02939267d38a216b2ccec3
Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
Nathan Skrzypczak [Wed, 29 Sep 2021 13:28:26 +0000 (15:28 +0200)]
fib: doc nitfixes
Type: improvement
Change-Id: I29346c849a5e1ff3c2ea399671f9f50d075e9f18
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Nick Brown [Wed, 29 Sep 2021 15:13:23 +0000 (16:13 +0100)]
build: consistent use of CMAKE_INSTALL_LIBDIR
Set the RPATH to based on CMAKE_INSTALL_LIBDIR so that libraries are
correctly found.
Type: make
Change-Id: I82d649345edea2c5d3f6b3f43e3e5869b9e580a7
Signed-off-by: Nick Brown <nickbroon@gmail.com>
Nathan Skrzypczak [Wed, 29 Sep 2021 13:34:29 +0000 (15:34 +0200)]
nat: doc nitfixes
Type: improvement
Change-Id: I9a4303030b9657c28bbd73168def72c7daa13483
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Filip Tehlar [Wed, 29 Sep 2021 14:20:49 +0000 (14:20 +0000)]
vat2: do not require _crc field in API messages
Type: improvement
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: Icc2ce594225c3197c9e5be8faa3dc2ee5b0a553e
Andrew Yourtchenko [Tue, 28 Sep 2021 08:26:26 +0000 (10:26 +0200)]
misc: package the devtool plugins
a274c3a2ed8c4f1f38cb6f126326b4e6798869d2 has split the devtool plugins into a separate component,
which caused them not to be packaged as part of the existing .deb, however this can still be useful
to have them.
This commit adds the new deb vpp-plugin-devtools which contains that component.
Change-Id: I3cf44493745c3d4951ffd2194c6ae539e8ad5926
Type: fix
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Alexander Chernavin [Mon, 30 Aug 2021 08:55:27 +0000 (08:55 +0000)]
nat: nat44-ed add session timing out indicator in api (2)
Type: improvement
Currently, NAT44-ED users sessions details are returned for both active
and timed out NAT sessions. It may confuse users that expect to see only
active sessions in the response and make them think that timeouts for
NAT sessions do not work.
With this change, introduce an indicator of timing out for NAT sessions
returned in NAT44-ED user session details.
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Change-Id: Ib4d689f77cec4b0b0cc8484019e13733cc8bdc0d
Filip Tehlar [Sun, 23 May 2021 18:40:40 +0000 (18:40 +0000)]
ikev2: build only when deps requirements are met
Type: improvement
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: I89bcc1ba804ded676b194dbda52704cd0c54a67e
Matthew Smith [Tue, 28 Sep 2021 21:02:10 +0000 (16:02 -0500)]
classify: fix message IDs on API replies
Type: fix
When the API cleanup of classify messages was done, the code was not
updated to add the message enums to REPLY_MSG_ID_BASE. So the wrong
message IDs are being sent back in replies to classify API requests.
Add REPLY_MSG_ID_BASE when populated vl_msg_id on a reply.
Change-Id: Ic7c828f14d42a346fc58fc9ff062b954f494cdbd
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Neale Ranns [Tue, 21 Sep 2021 12:34:19 +0000 (12:34 +0000)]
ipsec: Record the number of packets lost from an SA
Type: feature
Gaps in the sequence numbers received on an SA indicate packets that were lost.
Gaps are identified using the anti-replay window that records the sequences seen.
Publish the number of lost packets in the stats segment at /net/ipsec/sa/lost
Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: I8af1c09b7b25a705e18bf82e1623b3ce19e5a74d
Nathan Skrzypczak [Wed, 22 Sep 2021 15:46:02 +0000 (17:46 +0200)]
tap: Fix tap create with ns
This fixes the interface creation passing
a netns. [0] made the renaming of the new
tuntap interface before switching netns
Thus, preventing creating an interface in
another netns if one exists in VPP's netns
with the same name.
This also fixes restore netns on errors
Type: fix
[0] https://gerrit.fd.io/r/c/vpp/+/33696
Change-Id: I5c83bb37d664057bcf231cd0c636f0e51aa542ad
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Nathan Skrzypczak [Fri, 7 May 2021 17:39:07 +0000 (19:39 +0200)]
libmemif: Fix abstract sockets
This fixes size computation when using
abstract sockets with libmemif
Type: fix
Change-Id: I3a686e4ff2132b9fb295bbe30633958dcfec672b
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Stanislav Zaikin [Tue, 28 Sep 2021 16:31:32 +0000 (18:31 +0200)]
fib: add barrier lock for fib_urpf_list_pool and fib_entry_pool
Pools fib_urpf_list_pool and fib_entry_pool can grow while ip6_urpf_loose_check/fib_entry_get_flags_for_source are being executed. That may result as a crash in mt environment.
Type: fix
Change-Id: I44ca2cb70255e7aaf2e1f7a7d2eecd25cbdd0aaa
Signed-off-by: Stanislav Zaikin <zstaseg@gmail.com>
Filip Tehlar [Fri, 23 Jul 2021 08:51:10 +0000 (08:51 +0000)]
api: API trace improvements
Type: improvement
* add support for JSON format in API trace
* add ability to replay JSON API trace in both VPP and VAT2
* use CRC for backward compatibility check during JSON API replay
* fix API trace CLI (and remove duplicits)
* remove custom dump
* remove vppapitrace.py
* update docs accordingly
Change-Id: I5294f68bebe6cbe738630f457f3a87720e06486b
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>
Ole Troan [Mon, 27 Sep 2021 15:11:34 +0000 (17:11 +0200)]
misc: vpe.api messages dynamically allocated
This is the last in the series of moving API messages from vpp/api/vpe.api to vlibmemory/memclnt.api.
This patch makes the remaining vpe.api messages dynamic, to help VAT2 binary-api command.
Moves the VAT test code to a separate file and removes the now unnused API meta files.
Type: improvement
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I01dd78eaff1d3715dff17d2643bf0f7f0089935b
Signed-off-by: Ole Troan <ot@cisco.com>
Nathan Skrzypczak [Wed, 23 Jun 2021 09:28:39 +0000 (11:28 +0200)]
devices: Add queues params in create_if
Type: feature
Change-Id: I027ff2c5c905a7ccebd3705a58e35218a94f4880
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
arikachen [Wed, 22 Sep 2021 03:13:11 +0000 (11:13 +0800)]
af_xdp: fix init lock for shared txq
Type: fix
Signed-off-by: arikachen <eaglesora@gmail.com>
Change-Id: Idb5e66d7a2a7ccb6fb5155341df54586186eb11f
Július Milan [Fri, 10 Sep 2021 07:43:31 +0000 (09:43 +0200)]
nat: NAT44 ED & EI session filtering CLI
Improving session filtering capabilities of
show nat44 sessions CLI command for EI and ED NAT
plugins. Adding filtering options: saddr, sport,
daddr, dport, proto for both i2o and o2i flows.
Type: improvement
Change-Id: I70bc94a2e922cddf9451eb7dcbf4a7be21ebf0df
Signed-off-by: Filip Varga <fivarga@cisco.com>
Alexander Chernavin [Fri, 17 Sep 2021 12:37:48 +0000 (12:37 +0000)]
stats: add name vectors to prometheus exporter output
Type: improvement
Counters are labeled with interface indices in the Prometheus exporter
output. For example:
# TYPE _if_drops counter
_if_drops{thread="0",interface="0"} 0
_if_drops{thread="0",interface="1"} 0
_if_drops{thread="0",interface="2"} 2112
[..]
Currently, it's unable to map interface indices to the interface names
using only output provided by the Prometheus exporter. However, this
mapping is present in the vpp_get_stats output:
# vpp_get_stats dump /if/names
[0]: local0 /if/names
[1]: GigabitEthernet0/8/0 /if/names
[2]: GigabitEthernet0/9/0 /if/names
[..]
With this change, add name vectors to Prometheus exporter output as info
metrics. Thus exposing interfaces and their indices:
# TYPE _if_names_info gauge
_if_names_info{index="0",name="local0"} 1
_if_names_info{index="1",name="GigabitEthernet0/8/0"} 1
_if_names_info{index="2",name="GigabitEthernet0/9/0"} 1
[..]
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Change-Id: Iff86c4d6fea8805e71fb04fccf278bae855e88d1
arikachen [Tue, 28 Sep 2021 10:43:44 +0000 (18:43 +0800)]
af_xdp: fix free mem in tx while no free slot
Type: fix
Signed-off-by: arikachen <eaglesora@gmail.com>
Change-Id: Id305b9d311b2d0d11583db1a14a45d9187a1e628
Nick Brown [Thu, 16 Sep 2021 09:56:33 +0000 (10:56 +0100)]
build: complete python3 support, no hardcode path
find_package(Python3) will not set variables that are later used, so set
those needed. Perhaps the python2 support, which is EOL, could be
dropped?
Use DESTDIR, instead of hardcoding the path. This allows system
packaging, or local installs, to work properly.
Type: make
Signed-off-by: Nick Brown <nickbroon@gmail.com>
Change-Id: I045516c61473c612ab70858cd9b58c4e2838b347
Filip Tehlar [Thu, 2 Sep 2021 10:32:40 +0000 (10:32 +0000)]
sr: add API test files
Type: improvement
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
Change-Id: Iefc88107ae96915570ae425a527c3969f7ce7b1d
Benoît Ganne [Mon, 27 Sep 2021 13:37:48 +0000 (15:37 +0200)]
ikev2: support variable-length nonces
IKEv2 nonces can be 16 to 256 bytes.
Type: fix
Change-Id: Ib332028594355c9e5b462bddb7e4dffbcdc9a927
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Dmitry Valter [Sun, 19 Sep 2021 20:47:19 +0000 (23:47 +0300)]
tests: don't install vapi_c{,pp}_test
Don't install vapi_c{,pp}_test. It confuses dpkg-shlibdeps to think we
need libsubunit as shared lib dependency
Type: fix
Fixes:
a2d6d352c6926d2f8d4e50aeb1ec59802f32b37b
Signed-off-by: d-valter@yandex-team.ru
Change-Id: Ifb702a61be32b37e79b48780cc61cb0838e87153
Jakub Grajciar [Mon, 4 Jan 2021 10:10:42 +0000 (11:10 +0100)]
libmemif: refactor connection establishment
per_thread_ namespace fuctionality replaced by memif socket.
Interfaces are grouped by memif socket which holds interface database.
Each thread can create it's unique memif socket. The path name
can be equal across threads so that the app only uses one
UNIX socket. In case of listener socket, listener fd
can be obtained and set using APIs.
This change allows:
- No lookup on file descriptor events
- improves interrupt handling
- Loopback support (connect two interfaces in one app)
- usefull for debugging and testing
- Improves code readability by providing control channel
abstraction for each interface and listener sockets
Type: refactor
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I1b8261042431c0376646ab4c4c831f6e59dd3eed
Jakub Grajciar [Mon, 4 Jan 2021 09:39:30 +0000 (10:39 +0100)]
libmemif: remove per_thread_ namespace
Type: refactor
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: Ib5a88132ad28860553fc82f5aaaf84e0a1b8e8bf
Jakub Grajciar [Mon, 4 Jan 2021 14:01:54 +0000 (15:01 +0100)]
libmemif: remove old examples
Type: refactor
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: I2331f6fb43ca533afb32f7d448adda27b19689ac
Jakub Grajciar [Mon, 4 Jan 2021 09:17:46 +0000 (10:17 +0100)]
libmemif: remove outdated unit tests
Type: refactor
Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com>
Change-Id: Ie42c03980cf2cc0766308043d7d3ea5301a59b75
Nick Brown [Mon, 27 Sep 2021 11:11:23 +0000 (12:11 +0100)]
build: Stricter git tag version parsing
Only consider git tags that begin with 'v', as these are far more likely
to be vpp version tags, and thus parsed by the version script properly.
This needed when working with git clone to which additional tags may
have been added.
eg tags like:
upstream/21.06_rc0+
20210622
debian/21.06+
20210811-1myvendor2
should be ingored, as they will not be parsed correctly.
Type: make
Change-Id: I7a6d185acd029335abaea5a9dac48839f1397135
Signed-off-by: Nick Brown <nickbroon@gmail.com>
Ray Kinsella [Wed, 22 Sep 2021 10:24:06 +0000 (11:24 +0100)]
classify: Large and nested classifer unit tests
Type: test
Large and nested unit tests to test AVX-512 optimized versions of the classify
hash and match algorithims.
Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Change-Id: Ie423fee5e0fd1cb4bdf3bec8e0230a5f7cfc75fc
Vladislav Grishenko [Sat, 18 Sep 2021 12:32:17 +0000 (17:32 +0500)]
fib: fix crash on exporter tracker remove
Exported entries are tracked only when the prefix found in the export
FIB is really attached, exporter tracker is not set if the export
entry is not valid for export, ex. for special FIB entries - default
route, zeronet, mcast and broadcast prefixes.
When imported entries need to be purged, such unset exporter tracker is
being removed by non-initialized index with absent delegate entries,
causing corresponding assert and crash.
Type: fix
Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru>
Change-Id: Ib24a2e7853a03a960577872480213e1e8097da5a
Nathan Skrzypczak [Fri, 28 May 2021 11:44:24 +0000 (13:44 +0200)]
virtio: Still init unused txq
Type: fix
For some virtio backends, packets don't seem to flow
if all the queues that have been requested are not
initialized
Change-Id: I41765d668497ff954e6d69d36836590947fd93b1
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Aloys Augustin [Wed, 15 Sep 2021 14:06:04 +0000 (16:06 +0200)]
gso: do not gro on small packets
This has two benefits: fix an issue where small packets can be
padded to 64 bytes by the ethernet layer, and we included these bytes
in the tcp stream; and also if we receive a small packet, it signals
that this tcp stream is likely more latency-sensitive than throughput-
sensitive, and skipping gro buffering should be beneficial.
Type: fix
Change-Id: I165b97673d8cdce95ebf0a66c362ae9f9e6f3f34
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
Mohsin Kazmi [Wed, 22 Sep 2021 20:03:28 +0000 (20:03 +0000)]
tap: move the api msg_id_base to tap_main_t
Type: fix
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: Ia4065550a7ad1109e3a2592ef2c21b5e23fa85b5
Nathan Skrzypczak [Fri, 7 May 2021 17:39:07 +0000 (19:39 +0200)]
gomemif: Add mode support
Type: feature
Change-Id: I0bc51288bc63a0583b98314e4e2a62383b0d6e43
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
Florin Coras [Wed, 15 Sep 2021 16:02:08 +0000 (09:02 -0700)]
misc: api move continued
Move control ping and change dependencies from vpe.api_types to
memclnt.api_types
Type: refactor
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I9f8bc442e28738c48d64d1f6794082c8c4f5725b
Aloys Augustin [Sun, 26 Sep 2021 16:26:15 +0000 (18:26 +0200)]
ip: fix ip table allocation randomness
This prevents going through the same sequence every time the api is
called.
Type: fix
Change-Id: I3ca3587ab5d1c060e2913ca88501b8dbcdd9c196
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
Florin Coras [Wed, 15 Sep 2021 01:54:45 +0000 (18:54 -0700)]
misc: move part of vpe apis to vlibmemory
VPE apis are actually vlib apis. This moves those that are not tightly
coupled with vapi to vlib_api
Type: refactor
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I456a64ce49a0cdeff4a0931c6ea513cb639f683e
Signed-off-by: Ole Troan <ot@cisco.com>
Matthew Smith [Fri, 24 Sep 2021 20:27:36 +0000 (15:27 -0500)]
ip: set error number on failed intf addr
Type: fix
A subinterface that does not have exact match enabled cannot have
an IP address configured on it. When this is validated in the functions
which add an interface IP address for IPv4 and IPv6, a clib_error_t * is
returned but api_errno is not set. The API handler uses the value of
vnet_main.api_errno to set the return value in it's reply. Since it was
not set, the API reports the operation succeeded.
Set vnet_main.api_errno if vnet_sw_interface_supports_addressing() returns
a non-null value when adding/deleting an interface IP address.
Change-Id: I257a30d21788986102a2a719235e714ff16a24e8
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
Florin Coras [Thu, 23 Sep 2021 22:08:05 +0000 (15:08 -0700)]
vcl: grab wrk create lock sooner
Type: fix
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I0faeef20c57486564122e39f01f31c8c45f38014
Damjan Marion [Wed, 22 Sep 2021 13:50:35 +0000 (15:50 +0200)]
classify: use AVX-512 to find entry
Type: improvement
Change-Id: I10f4084907ad714aded86e0b7a1a4d1c5fa1f140
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Wed, 22 Sep 2021 13:28:29 +0000 (15:28 +0200)]
classify: use AVX-512 to calculate hash on x86
Type:improvement
Change-Id: I9f9f16eabf64203db11cd4338948d76ca5e0ef12
Signed-off-by: Damjan Marion <damarion@cisco.com>
Andrew Yourtchenko [Mon, 20 Sep 2021 12:59:07 +0000 (14:59 +0200)]
misc: Initial 22.02-rc0 commit
- Add 22.02 Release Notes placeholder
- Add test framework link
Type:docs
Change-Id: I0128df2be71057add64a5843603a5539e8d340c7
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Aloys Augustin [Wed, 22 Sep 2021 15:17:28 +0000 (17:17 +0200)]
wireguard: fix wg-output-tun feature configuration
The removed code caused the feature to be wrongly removed on the wg
interface.
Type: fix
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
Change-Id: I998e01ec231527128eaeae78bcc7576ac00e5b12
Florin Coras [Wed, 22 Sep 2021 23:34:49 +0000 (16:34 -0700)]
svm: remove unused fifo functions
Type: refactor
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I4525bc669d1c42c41dbc398cf239a093b6853298
Ray Kinsella [Tue, 7 Sep 2021 12:45:08 +0000 (13:45 +0100)]
stats: revert stat_validate_counter_vector3 non-static
This reverts commit
c30157811e4c8e870d2680b08ecd3a38dff2d53b.
Type: refactor
Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Change-Id: Id011c8e5acb1613e09fd339ce614159c0acd651a
Mohsin Kazmi [Wed, 22 Sep 2021 20:22:05 +0000 (20:22 +0000)]
tap: remove cxq_vring from tap/tun
Type: fix
virtio_if_t is shared data struct between tap, tun and virtio pci.
cxq_vring is virtio pci specific element. It shouldn't be set or
accessed in tap driver.
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: I8b34570f61b38d8b9d79d5b0669bda0f89ebc28c
Mohsin Kazmi [Wed, 22 Sep 2021 18:56:05 +0000 (18:56 +0000)]
virtio: fix the type of argument in virtio_show()
Type: fix
virtio have three different interfaces (tap, tun and native virtio).
virtio_show() is used by CLI commands to show information about these
interfaces. It uses interface type to print interface specific information.
virtio_show() should use proper type for virtio interfaces (TAP, TUN, VIRTIO).
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: I2043dc2cfe2e2f6c7c9348b8494aa4a27cab31f3
Artem Glazychev [Wed, 15 Sep 2021 12:35:51 +0000 (19:35 +0700)]
ping: set fib_index for lookup_node
lookup node uses this field later to set fib_index for buffer
Type: fix
Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
Change-Id: I993cf80296e1713b4f13fc6ccdf49ebeaf295467
Neale Ranns [Wed, 22 Sep 2021 10:49:43 +0000 (10:49 +0000)]
interface: allow an interface's index to be given in 'sh int'
Type: improvement
e.g.:
DBGvpp# sh int 3
Name Idx State MTU (L3/IP4/IP6/MPLS) Counter Count
loop2 3 down 9000/0/0/0
Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: Ie296167ab2b1b9576b46f6d4d9fb9546aef3a0da
Fan Zhang [Wed, 22 Sep 2021 08:50:22 +0000 (09:50 +0100)]
misc: update MAINTAINERS file
Type: improvement
Add myself as maintainer for crypto related components.
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Change-Id: Ib43bd30b69c52c6370e3dda9ad9ed9a04374d817
Mohsin Kazmi [Tue, 21 Sep 2021 11:05:15 +0000 (11:05 +0000)]
hash: fix the initialization warning error on gcc-10
Type: fix
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: Ic7d99154def71cd06e8faa64180912e5b844424e
Aloys Augustin [Thu, 16 Sep 2021 18:53:14 +0000 (20:53 +0200)]
ip: add ip_table_allocate to api
Set tableID = ~0 for auto selection unused ID
https://jira.fd.io/browse/VPP-1993
Type: improvement
Change-Id: I4eec2cc1d18fc025196cb6ac4c9a4b374388eb56
Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
Damjan Marion [Mon, 20 Sep 2021 15:51:31 +0000 (17:51 +0200)]
classify: improve vnet_classify_hash
Type: improvement
Change-Id: I8b129b71f91b12ab2d8b05fe3891a7ab8926f072
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Mon, 20 Sep 2021 15:36:49 +0000 (17:36 +0200)]
classify: simplify vnet_classify_find_entry_inline
Type: improvement
Change-Id: I3de4450b95f6fa76705923d983cf93c21b02a635
Signed-off-by: Damjan Marion <damarion@cisco.com>
Damjan Marion [Tue, 21 Sep 2021 09:38:04 +0000 (11:38 +0200)]
vppinfra: make default hugepage size configurable
i.e.
memory {
default-hugepage-size 1G
}
Type: improvement
Change-Id: I822afb51712ae92f4e4992b8ffa33dcb15ccaef1
Signed-off-by: Damjan Marion <damarion@cisco.com>
Mohammed Hawari [Tue, 21 Sep 2021 15:44:26 +0000 (17:44 +0200)]
interface: fix poll vector realloc
Change-Id: I60815b5827b4406228fd6b490f4ac1f874bac974
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Type: fix