aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2023-09-06virtio: add support for tx-queue-sizeMohsin Kazmi5-10/+27
Type: improvement DBGvpp# set loggin class virtio level debug DBGvpp# create int virtio 0000:00:03.0 tx-queue-size 1024 show virtio pci ``` Virtqueue (TX) 1 qsz 1024, last_used_idx 0, desc_next 0, desc_in_use 0 avail.flags 0x1 avail.idx 0 used.flags 0x0 used.idx 0 ``` show logging ``` 2022/07/22 23:20:22:557 debug virtio 0000:00:03.0: tx-queue: number 1, default-size 256 2022/07/22 23:20:22:557 debug virtio 0000:00:03.0: tx-queue: number 1, new size 1024 ``` Change-Id: Ib1a3ebe742b3a6c9fe72bd1c5accfe07682cbdd1 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2023-09-06ip: punt add punt socket support for icmp6Ole Troan3-31/+77
Punt support for ICMP6 messages allows for an external IPv6 RA advertisement agent. Type: feature Change-Id: I0cc928b747ac1f8335ee9f7c42a3231424825dbc Signed-off-by: Ole Troan <otroan@employees.org>
2023-09-06api: fix mp-safe mark for some messages and add moreVladislav Grishenko6-14/+35
Several api messages were not mp-safe although marked as such because non-zero base id was not taken into account, and therefore some other (from zero base id) were falsely mp-safe instead. Keep messages as mp-safe, as they falsely were before: 10 get_first_msg_id 0 1 12 api_versions 0 1 Messages that are no longer mp-safe as they weren't marked: 15 sockclnt_create 0 1 33 proxy_arp_intfc_dump 0 1 Fix messages to be really mp-safe: 809 bridge_domain_dump 0 1 920 ip_route_add_del 0 1 921 ip_route_add_del_v2 0 1 1362 get_node_graph 0 1 1671 create_vhost_user_if 0 1 1675 create_vhost_user_if_v2 0 1 Additionally mark messages as mp-safe, seems they need no barrier: 1360 show_threads 0 1 1370 show_version 0 1 1372 show_vpe_system_time 0 1 Type: fix Change-Id: Ie6c1e3aa89f26bf51bfbcb7e7c4d9fee885487b7 Signed-off-by: Vladislav Grishenko <themiron@yandex-team.ru>
2023-09-06vapi: fix verification for reply messageSylvain Cadilhac1-1/+1
Type: fix Byte swapping should be done before verifying message otherwise the message length will be wrongly computed. Change-Id: I90b2f60bd33e5362e0edd5ee425f6a6f07886f1e Signed-off-by: Sylvain Cadilhac <sylvain.cadilhac@freepro.com>
2023-09-05hs-test: point gdb to vpp source filesFilip Tehlar4-1/+15
Type: test Change-Id: Ie5867737e5d49fd45cc15b690af3493263fb2f6f Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2023-09-05hs-test: verbose output on single test runFilip Tehlar1-1/+1
Type: test Change-Id: I12ae7db36a6f7f9758fd195088877dfcd5606f84 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2023-09-05npt66: make plugin default disabledOle Troan2-0/+5
Plugin is still in experimental state. No reason why it needs to be default enabled. Type: fix Change-Id: Ibf1810215d4c8079a068bfc60aa7dd49306ee4e4 Signed-off-by: Ole Troan <otroan@employees.org>
2023-09-04hs-test: log external appsFilip Tehlar7-94/+97
Type: test Change-Id: Id2b0d408bd46f20b81422506f9db4eb655feddac Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2023-09-04hs-test: fix gdb attachFilip Tehlar1-3/+2
Type: test Change-Id: Ic48ca7a3aab47df50d4e38e6123c90140c944172 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2023-09-04udp: buffer packets for connections in accepting stateFlorin Coras1-1/+2
Type: fix Fixes: 0242d30 Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I6e313000bccce749b813f20a52432154bfd494ed
2023-09-04arping: api to return responder mac addressOle Troan3-0/+68
The new arping_acd call includes the responders mac address in the reply. Enabling a client doing address conflict detection to identify if it is itself that is replying or that it is another host uses the IP address. Type: feature Change-Id: Ia4bab2af1086f06ed71ba42e2e07368d4e330a27 Signed-off-by: Ole Troan <otroan@employees.org>
2023-09-04npt66: checksum applied to src address instead of dst address on rxOle Troan2-21/+28
Applied the checksum delta to the source address instead of the destination address in the RX direction. Cleaned up tests a little. Type: fix Change-Id: I871f3448365587e5319dfbca6ea356935321ff9b Signed-off-by: Ole Troan <otroan@employees.org>
2023-09-04tracenode: filtering featureMaxime Peim13-17/+812
In order to be able to filter on encapsulated packet, a new node has been added to the ip4/6-unicast arcs. Type: feature Change-Id: I1e8ee05bc6d0fce20cadd8319c81bab260c17d21 Signed-off-by: Maxime Peim <mpeim@cisco.com>
2023-09-04session: fix allocation of proxy fifosFlorin Coras9-21/+50
Fifos need to be synchronously allocated once a transport like tcp accepts a session. Since events are now delivered asynchronously, proxy apps must explicitly register a cb function that manages fifo allocation prior to being notified of connect event. Type: fix Fixes: 0242d30 Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I7df973b7014e53e0766ea2bdc61e9871160bc18b
2023-09-01map: test fix feature disablingMaxime Peim1-0/+5
Upon test teardown, MAP features were not disabled, potentially leading packets to be treated by the wrong node. Type: test Change-Id: I0c1c614318d1308f825c5cc0bf95688e92f6d00a Signed-off-by: Maxime Peim <mpeim@cisco.com>
2023-09-01vcl: set min threshold for tx ntfFlorin Coras1-1/+5
Make sure there's at least 3% space in the tx fifo before notifying vcl of a tx event. The threshold is somewhat arbibrary but for a 4M fifo, it now means that ~120kB of space should be available. Should help minimize the amount of tx notifications generated by session layer when apps are faster. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I11dd0931dca8f989000a2481f1f495bd267589c4
2023-08-31fateshare: a plugin for managing child processesAndrew Yourtchenko7-0/+628
For the reasons of modularity and security, it is useful to have various functionality split into processes different from VPP. However, this approach presents the challenges of managing those processes, and is markedly different from simply running everything within VPP process. This plugin is an experiment in having the VPP itself start off a monitor process which in turn starts the child processes, and restarts them if they quit. If the VPP process ceases to exist, the monitor process terminates all the descendant processes and quits itself. This allows to preserve the "single entity to manage" approach of simply running a barebones VPP. An example of running it: export DPDK_CONFIG="" export DISABLED_PLUGINS=dpdk export EXTRA_VPP_CONFIG="fateshare { monitor ./build-root/install-vpp_debug-native/vpp/bin/vpp_fateshare_monitor command ./test1 }" make run Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com> Change-Id: I66221fd7403f220d9652fe76958ca499cfd070a7 Type: feature
2023-08-31session: fix compilation when SESSION_DEBUG is onFlorin Coras1-3/+7
Wrap SESSION_EVT in do loop to avoid complaints about if statement having no arguments which can happen if debugging for groups is not enabled. Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I35af179b806ed47a1e20816a19291c31fdb7566a
2023-08-29mpls: add mpls_interface_dumpPim van Pelt2-0/+68
Add an API call mpls_interface_dump() which returns a list of mpls_interface_details: - If no sw_if_index is given, all MPLS enabled sw_if_index are returned. - If a particular sw_if_index is given, and it doesn't exist, an empty list is returned. - If a sw_if_index exists and has MPLS enabled, a list of that one sw_if_index is returned. Tested: - Create 3 loopback interfaces - Call for ~0 and for sw_if_index 0..5 all return empty lists - set int mpls loop0 enable - set int mpls loop1 enable - Call for ~0 returns 2, and the call for sw_if_index=1 and =2 (the loopbacks) returns each a list of one sw_if_index 1 resp 2, the other values of sw_if_index return empty list - set int mpls loop0 disable - Call for ~0 returns 1, and the call for sw_if_index=2 (loop1) returns both a list of one sw_if_index=2, the other values of sw_if_index return empty list - set int mpls loop1 disable - Call for ~0 and for sw_if_index 0..5 all return empty lists Example Python3 API program: ``` api_response = vpp.api.mpls_interface_dump() print(f"Response is {api_response}") for i in [ 0, 1, 2, 3, 4, 5 ]: api_response = vpp.api.mpls_interface_dump(sw_if_index=i) print(f"Response[{i}] = {api_response}") ``` Type: improvement Change-Id: If87f7d7f8972d99260e859757dbcb251c6fa54a8 Signed-off-by: Pim van Pelt <pim@ipng.nl>
2023-08-26perftool: fix delsvec use of _vec_lenFlorin Coras1-225/+271
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Iab80e009d8717f759edb8133beaa55ed05e57bd5
2023-08-26nat: nat44-ed bug fixWei Li1-3/+4
fix lb static mapping "nat44_ed_sm_o2i_add" laddr and lport Type: fix Signed-off-by: Wei Li <realbaseball2008@gmail.com> Change-Id: I249a00919e8154d92cbce03f6db196c13612948f
2023-08-26nat: nat44-ed cli bug fixWei Li1-1/+5
lport and eport in Cli "nat44 add load-balancing static mapping" should hton() Type: fix Signed-off-by: Wei Li <realbaseball2008@gmail.com> Change-Id: I2eadb7e341efb70cc406e10b3b189e5ebff09ff4
2023-08-25cnat: fix cnat_endpoint_encodeBenoît Ganne1-1/+1
Type: fix Change-Id: I4ab713811626c097c7927228f3819b7785bbb951 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2023-08-25npt66: network prefix translation for ipv6Ole Troan11-0/+739
This is the initial commit of a NPTv6 (RFC6296) implementation for VPP. It's restricted to a single internal to external binding and runs as an output/input feature on the egress interface. Type: feature Change-Id: I0e3497af97f1ebd99377b84dbf599ecea935ca24 Signed-off-by: Ole Troan <otroan@employees.org>
2023-08-22build: support linuxmint OSspencercoder1-3/+3
Support compiling in Linux Mint OS Type: improvement Change-Id: I08721227352b00127fe0acac67269775997fd974 Signed-off-by: spencercoder <xiexiaosong@ruijie.com.cn>
2023-08-22dpdk-cryptodev: fix coverity issuesPiotr Bronowski2-5/+8
This patch addresses coverity issues CID 322716 and CID 322717. Type: fix Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com> Change-Id: I59d6f40c1af8e829d8cb3c042a52e144aeaf1e6b
2023-08-22l2: fix prefetchVratko Polak1-5/+5
This is a clone of Gerrit 35419. (It is abandoned and I am not the owner so I cannot reopen.) Ticket: CSIT-1816 Type: fix Fixes: 5e0ea09d96010e99a7ce0d2f3370f0de50c46c83 Change-Id: I2265cf38a9ce3155460a1025821c2749afca0add Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2023-08-21sr: SRv6 Path Tracing midpoint processing performance improvementJulian Klaiber1-2/+4
Moved the kernel call for the timestamp outside of the inner loop to improve the batch proccessing, and minimizing the kernel calls. Type: improvement Change-Id: I0245c223fc8a178724bb8c5df2b98083be046c26 Signed-off-by: Julian Klaiber <julian@klaiber.me>
2023-08-18nat: documention fixSteven Luong1-4/+4
s/nat44 enable sessions/nat44 plugin enable sessions/ Type: docs Change-Id: I93dbd161f085bff5b98df50cd29c9bedf5038307 Signed-off-by: Steven Luong <sluong@cisco.com>
2023-08-18dpdk-cryptodev: improve cryptodev cache ring implementationPiotr Bronowski4-239/+353
Sw ring is renamed to the cache ring. This name better reflects the puropse of this ring. We've introduced push/pop functions, as well as other utility functions which remove code repetition. Error handlig is improved: previously in case of an error all frame elements were marked as bad, now only these for which errors occured have the error status set. Unnecessary stats counters have been removed. Type: improvement Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com> Change-Id: I2fd42a529ac84ce5ad260611d6b35a861d441c79
2023-08-18vapi: improve vl_api_string_t handlingKlement Sekera4-34/+89
Define vl_api_string_t to correspond with vlibapi/api_types.h Fix allocation and size calculation routine generation. Type: improvement Change-Id: I6b0a3eb3459d75d326e67bfb76dac8125e480afa Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
2023-08-18vapi: support servicesStanislav Zaikin8-53/+367
Add missing support for service { rpc X_get returns X_get_reply stream X_details; } Type: improvement Change-Id: I27555f61a2974e414cb6554f32c550b8ee5eb037 Signed-off-by: Stanislav Zaikin <stanislav.zaikin@46labs.com> Signed-off-by: Klement Sekera <klement.sekera@gmail.com>
2023-08-18cnat: add host tag to bitmap in cnat snatHediBouattour3-0/+17
Type: feature this patch adds a new tag "host" to interfaces for cnat-snat if an interface is tagged pod and host we do not snat traffic outgoing through it Change-Id: I71f5bfcb85581bb8508ba547374f0603f1079ac6 Signed-off-by: hedi bouattour <hedibouattour2010@gmail.com>
2023-08-17tests: more descriptive error messageKlement Sekera2-2/+10
Type: improvement Change-Id: Icf8a5dc711e1e11ec919b515d7af2f487a1c04c2 Signed-off-by: Klement Sekera <klement.sekera@gmail.com> Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2023-08-17idpf: add native idpf driver pluginTing Xu15-0/+6249
Add a new native idpf driver. This patch enables the device initialization. Add some necessary functions and definations for input and output. A new version of virtchnl is introduced. Type: feature Signed-off-by: Ting Xu <ting.xu@intel.com> Change-Id: Ibbd9cd645e64469f1c4c8b33346c1301be3f6927
2023-08-17dpdk: Newer meson 0.55.3nucleo1-2/+2
Fixes error with python 3.12 No module named 'pkg_resources' 'import pkg_resources' removed in 0.55.3 Type: fix Change-Id: I15c8cf195fd07a0eb2f3b58f895ef4b26cc17b90 Signed-off-by: nucleo <alekcejk@googlemail.com>
2023-08-16tests docs: update python3 venv packagesDave Wallace45-471/+583
- Package update performed by 1. updating pip, pip-tools, setuptools 2. 'make test-refresh-deps' on ubuntu 22.04 3. fixing 'make test' and 'make docs' issues on ubuntu 22.04 4. 'make test-refresh-deps' on ubuntu 20.04 - Add dependency for 'make test-refresh-deps' to insure python venv is set up. - Update of python formatter, black, caused reformating of 41 python code files. Type: make Change-Id: I7cafdf4b5189065ac57cb6b254937f6e0897a924 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2023-08-16l2:Add doc for l2 rewrite, and add examplesyanlong1-18/+46
Supplemented the documentation of "l2 rewrite", and added examples Type:docs Change-Id: If49ae0b22989b3cd1c88a27a4e51b74be32d75e7 Signed-off-by: yanlong <dyl_wlc@163.com>
2023-08-16nat: mark several messages as productionAndrew Yourtchenko1-4/+0
As per discussion on the VPP call, since they are being used in CSIT tests and have not seen changes in a while, mark the messages as production from the change process standpoint. Type: improvement Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com> Change-Id: I7fda71edd923b798d034380320a869f7c35cb5a6
2023-08-15vcl: fix ldp epoll events array overrunFlorin Coras1-1/+2
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I3dd65946c220f958a4fda0551b053d690bf06c39
2023-08-15vcl: handle postponed disconnects with selectFlorin Coras1-5/+36
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ia8449344a471129c0d148b39d97a5d310c2a1fc7
2023-08-15vcl: fix error state switch for vcl_handle_mq_eventwanghanlin1-2/+18
When a listen session receives an ACCEPTED message, but then receives either a RESET or DISCONNECTED message from VPP before the session is accepted, the listen session state is switched to VPP_CLOSING or DISCONNECT. The subsequent CLEANUP message handler attempts to send a disconneted or reset reply message to VPP, but since the vpp_evt_q for the listen session is null, this leads to a crash. Type: fix Change-Id: Ic51f78f631fe8d15bf8c56b795f4a900c3e2f724 Signed-off-by: wanghanlin <wanghanlin@corp.netease.com>
2023-08-14dpdk: bump rdma-core to 46.1Dave Wallace2-5/+3
- Per dpdk 23.07 release notes (rdma-core >= 46.0) Type: feature Change-Id: I7c15e15e1cf4b6f652711f9446d9f8324f6c4092 Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2023-08-14dpdk: bump to DPDK 23.07Kai Ji1-1/+2
This patch bumps DPDK version from 23.03 to 23.07. Type: feature Change-Id: I15140cecd008bfafb358f6348a1cb8fc08f70f02 Signed-off-by: Kai Ji <kai.ji@intel.com>
2023-08-11session: fix coverity warningsFlorin Coras2-41/+25
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I910c8ce1713c6d346cc5ea4eb58a89c1c30a10a1
2023-08-11tests: filter coverage report outputDave Wallace1-0/+3
- Remove test code & non-vpp code from coverage report - Remove driver/hardware vpp code which cannot be tested in 'make test' from coverage report Type: fix Change-Id: I04b50c14bc3437b845f2afafae47297189e61e3f Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2023-08-10crypto-sw-scheduler: avoid crypto work on vpp_mainVratko Polak1-16/+18
+ Checkstyle demanded indentation edits. Type: fix Ticket: VPP-2083 Fixes: 9a9604b09f15691d7c4ddf29afd99a31e7e31eed Change-Id: Ie2d33d290330247d36435a073675b732bb64ae93 Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2023-08-09docs: correct the directory path for index.htmlSteven Luong1-1/+1
Type: fix Change-Id: Ia0d6f57790dbca92662c6d8b986c325f1c399131 Signed-off-by: Steven Luong <sluong@cisco.com>
2023-08-09session: async rx event notificationsFlorin Coras23-629/+949
Move from synchronous flushing of io and ctrl events from transports to applications to an async model via a new session_input input node that runs in interrupt mode. Events are coalesced per application worker. On the one hand, this helps by minimizing message queue locking churn. And on the other, it opens the possibility for further optimizations of event message generation, obviates need for rx rescheduling rpcs and is a first step towards a fully async data/io rx path. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Id6bebcb65fc9feef8aa02ddf1af6d9ba6f6745ce
2023-08-09cnat: remove rwlock on tsNathan Skrzypczak7-61/+133
Type: improvement Remove rwlock contention on timestamps. ~10% pps with 10k sessions. Use fixed-size-pools of increasing sizes starting with 4K, and with a x2 step each time. We don't free/shrink allocated pools. Change-Id: I5fea51faba40430106c823275a6356e81709d118 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>