aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2020-08-27tests: "force solo" testcase supportAndrew Yourtchenko4-0/+16
Some of the tests are time-sensitive, and at present require a non-trivial modification in order to run at high concurrency. Without these modifications, they intermittently fail, and require the test retries. Rather than setting them to the extended tests and forgetting about them, put them into a "solo" set, which gets run in a single-threaded mode after the rest of the tests are done. Mark a few of the tests that showed errors during TEST_JOBS=48 as forced-solo. Also, give a better diagnostic if the testcase misses a docstring needed to represent it in the diagnostic outputs. Type: fix Change-Id: I33fe62eb17edc1885bd2c3523892051d52da6546 Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2020-08-26vppinfra: elog multi-track g2 test patternDave Barach1-0/+64
Type: test Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Ia4504629cb5e87067a337d16f43e044399b87cac
2020-08-26vcl: fix duplicated key of session_index_to_vlsh_table in multiplehanlin2-11/+28
threads vcl workers scenario Type: fix In multiple threads vcl workers scenario, multiple vcl workes can create sessions with same index. Because only one vls worker created, key of session_index_to_vlsh_table is duplicated. Signed-off-by: hanlin <hanlin_wang@163.com> Change-Id: I7e1f5bc471adc5378194452aef85e611f5d0df1d
2020-08-25vcl: cleanup non-blocking connectFlorin Coras1-2/+16
Make sure session is in non-closed state after non-blocking connect to ensure cleanup is performed, if needed. Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ic1533b9864828f875c840dfdfeed08bf32d10651
2020-08-25flow: add vnet/flow formal APIChenmin Sun10-3/+701
This patch adds the API for vnet/flow infra. Currently this API supports the below flow types: VNET_FLOW_TYPE_IP4_N_TUPLE VNET_FLOW_TYPE_IP6_N_TUPLE VNET_FLOW_TYPE_IP4_N_TUPLE_TAGGED VNET_FLOW_TYPE_IP6_N_TUPLE_TAGGED VNET_FLOW_TYPE_IP4_L2TPV3OIP VNET_FLOW_TYPE_IP4_IPSEC_ESP VNET_FLOW_TYPE_IP4_IPSEC_AH VNET_FLOW_TYPE_IP4_GTPU All the above flows are tested with Intel E810/X710 NIC Type: feature Signed-off-by: Chenmin Sun <chenmin.sun@intel.com> Change-Id: Icb8ae20cab9bdad6b120dddc3bd4fb1d85634f3f
2020-08-25ip-neighbor: skip probe for disabled interfacesMatthew Smith1-0/+6
Type: fix In ip6_neighbor_probe(), if the interface is not enabled for ip6, return NULL and skip trying to build a packet. If the interface is not enabled, its mcast adjacency will be set to ~0 and a seg fault will ensue. Change-Id: I825c9f40a0d5b2a77f788ac8dbd618138706383d Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2020-08-25api: register endian handlers for reply messagesOle Troan4-5/+34
Endian handlers was not registered for reply messages. Causing endian-neutral handlers to crash. Type: fix Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: Id14173300ee1ab2601e92d58c70d2fa260814b69
2020-08-24bonding: enhance binary api handlingSteven Luong1-0/+9
- check input sw_if_index to make sure it is sane. Coverity actually complains about it. - return rv. Some of the APIs handlers were not passing back the rv. Type: improvement Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I8378ea948af561ba2bd9b02fb10bf4f9df2a2cd2
2020-08-24vmxnet3: enhance debug CLI error handlingSteven Luong2-2/+18
- Display the interface name upon successfully creating the interface. - Don't go silent when error occurs. Be explicit about it. Type: improvement Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: Ie4fdaf323f8b3833ad4a7af3872290141204aba8
2020-08-22hsa: set connected mode for udp serverjiangxiaoming1-0/+4
Type: fix Signed-off-by: jiangxiaoming <jiangxiaoming@outlook.com> Change-Id: I32a28a944fcee11657c4dd0ba34ad6d73de89263
2020-08-21vppinfra: add format_one_elog_eventDave Barach2-0/+10
To avoid ridiculous pointer gymnastics in golang Type: improvement Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Ic5a641c18281970e2b9bc3013a54cfc3ae92e372
2020-08-21vppapigen: Fix missing api dirNathan Skrzypczak1-0/+1
Type: fix pci_types.api lives in vlib/pci which wasn't included in the generate_json.py script Change-Id: I15649786282584b7aefb9ace83c5154eb697b50b Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2020-08-20tcp: track reorder with sacksFlorin Coras7-39/+66
Type: feature Change-Id: I041bff2e8d589c171661de286fa1503531dff891 Signed-off-by: Florin Coras <fcoras@cisco.com>
2020-08-20tap: fix flags in custom-dumpMohsin Kazmi1-6/+6
Type: fix Change-Id: I4cd0b1855eab05344897686dc17b7df44de6c786 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-08-20virtio: add modern device supportMohsin Kazmi7-47/+678
Type: feature Change-Id: I205f7c146a213d603d9d1e46fcf5195a876608dc Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-08-20ipsec: fix esp paddingMilan Lenco1-1/+1
Type: fix Signed-off-by: Milan Lenco <milan.lenco@pantheon.tech> Change-Id: Ic8db52b41d7e5af3425099f008984e50afb3da74
2020-08-20virtio: refactor pci device codeMohsin Kazmi7-350/+533
Type: refactor Change-Id: I7342178f9ab9adb99b91a4f984bc22bef2ce8021 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-08-20ip: vnet_ip_mroute_cmd payload_proto fixElias Rudberg1-6/+6
Make sure payload_proto variable is set properly in vnet_ip_mroute_cmd() function. This avoids using an uninitialized payload_proto value which could lead to assertion failure when using e.g. the ip mroute add command. Type: fix Signed-off-by: Elias Rudberg <elias.rudberg@bahnhof.net> Change-Id: I8b1d1df02e80150836b7b0448814d8f99747eeed
2020-08-20nat: fixed cli nat summary and nat limitFilip Varga3-50/+109
Type: fix Change-Id: I78017b02015116f93b579c7381119f618351c98d Signed-off-by: Filip Varga <fivarga@cisco.com>
2020-08-19session: ct init error handlingFlorin Coras1-4/+18
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ie70348406a2bfc156302687d2f5f98bc1a50c88f
2020-08-19vppinfra: minor tweaks for cgo interoperationDave Barach7-24/+78
'type' is a keyword in golang, so s/type/event_type/ in elog.h and elsewhere. Add vec_len_not_inline(...), elog_write_file_not_inline(...) and elog_read_file_not_inline(...) since the inline forms aren't usable. More such tweaks may follow. Type: improvement Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I9a80a6afa635f5cdedee554ee9abe400fafc1cb6
2020-08-19nat: session cli command fixFilip Varga1-3/+11
Type: fix Change-Id: I57ae649d1b26d5bea2df89c209f257372e565b49 Signed-off-by: Filip Varga <fivarga@cisco.com>
2020-08-18api: retry sending fd on EAGAINFlorin Coras1-1/+2
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I04117636ad95b706e3dd9331f00bd80e57d26d7f
2020-08-18build: add explicit commit to rc1, rc2 builds, and add ".0" to ↵Andrew Yourtchenko1-4/+16
post-non-dot-release per-patch builds This addresses problem with incorrect sorting of artifacts in the per-patch packagecloud repositories for throttle branches, by slightly changing the version string for the non-released (per-build) artifacts: 1) the rc1 and rc2 artifacts now will have the count of commits since tag (0) and the explicit commit hash 2) the builds after version XX.YY but before XX.YY.1 are named as if the version was "XX.YY.0" Type: fix Change-Id: Ib69a59ee98aa296c5cb24b183bba807b6cb3c05c Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2020-08-17vppinfra: fix RC in bihash instantiationNathan Skrzypczak2-5/+5
There can be a race condition in the case a thread tries to do a bihash_search while another instantiates the bihash. Type: fix Change-Id: Ic61b590763beb409e112957c43a5a66cd10afb28 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2020-08-17nat: det: replace speculative buffer enqueue modelKlement Sekera2-948/+897
Replace speculative buffer enqueue coding model with vlib_get_buffers(...)/vlib_buffer_enqueue_to_next(...). Type: improvement Signed-off-by: Klement Sekera <ksekera@cisco.com> Change-Id: Ib5a32d60592fb17ed0ba1ac074047e39780f74be
2020-08-17stats: Move misplaced comment blockVratko Polak1-3/+3
Type: fix Fixes: fdc678081ca5f0971b8bcbf312c1e83017365c33 Change-Id: I64d15b050cfd3d88923bf996cb68b13504dbf6af Signed-off-by: Vratko Polak <vrpolak@cisco.com>
2020-08-17vppapigen: generate define for module_semverOle Troan1-0/+7
Generate a semver define for API modules in the VPP side C generator. E.g in map.api_types.h \#define VL_API_MAP_API_VERSION_MAJOR 4 \#define VL_API_MAP_API_VERSION_MINOR 2 \#define VL_API_MAP_API_VERSION_PATCH 1 Type: improvement Change-Id: I2ab86154e85e26fb075c4e91a01ff3692640654b Signed-off-by: Ole Troan <ot@cisco.com>
2020-08-17tap: add gro supportMohsin Kazmi8-14/+87
Type: feature Change-Id: I5868dd267aa26aa97aec5fd70e70c5956ac52277 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-08-17nat: sessions get expired when fib table removedFilip Varga7-9/+348
fib table removal would leave lingering sessions in vpp this patch is aimed at solving this issue by grouping sessions by source and destionation fib. if one of the fibs gets removed this grouping is tagged as expired and session won't be passed to non existing fib table Ticket: VPPSUPP-93 Type: improvement Change-Id: I45b1205a8b58d91f174e6feb862554ec2f6cffad Signed-off-by: Filip Varga <fivarga@cisco.com>
2020-08-14vcl: rx dequeue notifications with epollFlorin Coras1-52/+57
Add deq request on ct fifo if present and clear event when session is removed from epoll group. Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I8a20342879b3aac2f8fe8171556baaf9c992363b
2020-08-14vcl: minimize vpp to vcl rx eventsFlorin Coras1-1/+11
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I2015162bd315927e45b9fe583324b1458fe69d8f
2020-08-14gso: packet coalesce libraryMohsin Kazmi13-9/+1059
Type: feature Change-Id: Ia19d3611e596d9ec47509889b34e8fe793a0ccc3 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-08-14ip: add VNET_IP_TABLE_ADD_DEL_FUNCTIONSteven Luong4-0/+137
vrf table may be dynamically added or deleted. When the table is deleted, clients who use the corresponding vrf table may need a callback to do the clean up. The mechanism added here is cloned from VNET_SW_INTERFACE_ADD_DEL_FUNCTION. Type: improvement Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: I08635c715cd7361a6c359b90890dd3545b0da94c
2020-08-13vcl: clear ct rx event on right fifoFlorin Coras1-1/+1
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I70bab0d86287c108c6dffda5c5b2f29277c15de1
2020-08-13nat: move deterministic nat to det44 sub featureFilip Varga27-3108/+4484
Type: refactor Change-Id: I0bb203102a0e13dd7448e2125925ab356bbd7937 Signed-off-by: Filip Varga <fivarga@cisco.com>
2020-08-13nat: remove non-error error countersKlement Sekera16-507/+585
Some statistics counters were implemented as error counters. Move them to stat segment, where they belong. Type: improvement Change-Id: I5600bec1b4e0496282297374ec1e79d909cdaf8a Signed-off-by: Klement Sekera <ksekera@cisco.com>
2020-08-13acl: use the global heap when allocating the lookup contextAndrew Yourtchenko1-0/+3
The "ACL as a service" lookup infra is shared, so a global heap must be used. Type: fix Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com> Change-Id: I86894254b737392c1968b6a581b5a37590376428
2020-08-13vppapigen: remove unreachable codeOle Troan1-1/+0
Type: fix Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: Ifd81acaa020f6ebff20ec4eff4370d8a18323860
2020-08-13stats: remove offsets on vpp sideOle Troan7-209/+82
Represent pointers directly in shared memory and require clients to adjust for shared memory segment being mapped at different base address. Deprecated: stat_segment_pointer() / stat_segment_offset() Added: stat_segment_adjust() Bumped the stat segment version to 2. Type: refactor Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: I33e756187b8903b45dcd353e6c1a101b7a4acb79
2020-08-12vcl: mt detection and cleanupFlorin Coras4-67/+109
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I521c110fd4d7445bd585c96d4c768f16a0a7d3b8
2020-08-12vcl: support multi-threads with session migrationhanlin9-26/+263
Currently, mutlti-threads only support one dispatch thread and multiple worker threads, eventually only dispatch thread is a vcl worker and can interact with epoll. This patch will register all threads as vcl worker, and then each thread can interact with epoll now. Moreover, session migration also supported, such as socket created in thread A and used (bind, connect and etc.) in thread B. Type: feature Signed-off-by: hanlin <hanlin_wang@163.com> Change-Id: Iab0b43a33466968c1423d7d20faf1460c8589d91
2020-08-11vcl: support inter worker rpcFlorin Coras6-30/+205
Type: feature Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I664cd14c84fc5cf2ffe61efce99c95219b44fad7
2020-08-11vppapigen: add support for empty optionsOle Troan2-3/+17
Type: improvement Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: I59323447bee7bb4f0563251a5df80cbefb9bd89e Signed-off-by: Ole Troan <ot@cisco.com>
2020-08-11papi: allow unknown address familyOle Troan2-10/+71
In unions all representations of the union are decoded. Which means trying to decode something that isn't an address might have invalid address family types. Type: fix Ticket: VPP-1884 Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: Id3381ef8cc885952c1eb488ebc70e276eaceb366
2020-08-11stats: add timeout for in_progress access to stat segmentOle Troan2-8/+50
add new api stat_segment_set_timeout_nsec to limit time waiting for vpp in_progress state. Change-Id: Ic78a97bc5013d67d7e4bbcc4a6f0ef918f9f9b33 Type: improvement Signed-off-by: Ole Troan <ot@cisco.com>
2020-08-10stats: name and error index client memory leakOle Troan3-27/+77
Type: fix Change-Id: I6c9999b93d4f4ad4b8540a21e793c9a90e7c8ecf Signed-off-by: Ole Troan <ot@cisco.com>
2020-08-09vcl: fix getting wrong non-blocking flags issue in VPPCOM_ATTR_GET_FLAGS actionSimon Zhang1-2/+4
Type: fix Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com> Change-Id: If4c700b59b8936a43d6a73ed75cc6fdaf6cf141d
2020-08-07vrrp: change init of vrrp key in VR lookupMatthew Smith1-5/+7
Type: fix A struct that is used as a hash key was being initialized in its declaration. On CentOS 8 this caused some hash lookups to fail. This seems to be caused by uninitialized padding. Use clib_memset() to initialize the key with 0's to avoid the issue. Change-Id: I00555c201a1ab34133971313ba14f20f4e867a30 Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2020-08-06memif: wrong interface counter is incrementedSteven Luong1-2/+2
vlib_increment_combined_counter takes sw_if_index, not hw_if_index. Type: fix Signed-off-by: Steven Luong <sluong@cisco.com> Change-Id: Iecde2697ed490940f0eff796d28d15381405b895