summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2020-11-13interface: add multiarch support for per-interface tx nodeBenoît Ganne3-10/+19
Type: improvement Change-Id: Ia4ce47c0f727cf7b02294f05b94f14e788f52f30 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-11-13vlib: vlib_buffer_t should be always 128 bytes, not 2 cachelinesDamjan Marion1-4/+8
Fixes issues on systems with 128-byte cacheline. Type: fix Change-Id: I33689ffa5ef0a879b4bf93c25d48618dd43daf58 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-11-13ethernet: mac must support 64-bits loadsBenoît Ganne14-59/+88
ethernet dataplane loads MAC addresses as 64-bits loads for efficiency. We must make sure it is valid, especially for the vector of secondary MACs. Type: fix Change-Id: I851e319b8a973c154e85ff9f05f3b8e385939788 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-11-13crypto-native: fix multi-arch variant initializationRay Kinsella1-4/+0
crypto_native/main.h is being built as default, and crypto_native_main is initialized with a size of 64 bytes. crypto_native/aes_gcm.c and crypto_native/aes_cbc.c are march variants, their ICL variants are expecting crypto_native_main to be 256 bytes. Type: fix Signed-off-by: Georgii Tkachuk <georgii.tkachuk@intel.com> Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Signed-off-by: Ray Kinsella <mdr@ashroe.eu> Change-Id: I4cddb75b712ea83c9cfca621887605d7bae104ec
2020-11-13nat: api,cli and test update & cleanupFilip Varga10-2241/+429
Cleanup of print functions in api file, splitting functionality of cleanup callbacks for ED and EI NAT. Updating and fixing API & CLI calls. Type: refactor Change-Id: I7a9dc4c8b1d2ca29db4754be7dfa4f698942127a Signed-off-by: Filip Varga <fivarga@cisco.com>
2020-11-13sr: show the hop-limit value used for SRv6 encapsulationAhmed Abdelsalam1-0/+21
Implements CLI to show the hop-limit value used for the outer IPv6 header of the SRv6 encapsulation. Type: feature Signed-off-by: Ahmed Abdelsalam <ahabdels@cisco.com> Change-Id: I1f3d8f71fb94494ae6ab8104b9fcf989c5585d5c
2020-11-12avf: don't switch process if already running process nodeDamjan Marion1-18/+25
Type: fix Change-Id: I82b11339402b5848b27c600f6484aaeee66cc888 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-11-12tcp: push last buffered sequenceFlorin Coras2-6/+7
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Iba914ac69585e89f174f09e74ae716df1b080c59
2020-11-12nat: use table ID for nat44 ipfix session eventsMatthew Smith2-7/+10
Type: fix IPfix messages about NAT44 session create/delete were being populated with the FIB table index instead of the table ID. The table ID is the correct identifier to report externally (NAT64 IPfix messages for BIB and session create/delete use table ID, as does NAT syslogging). Convert the table index to an ID before adding it to the IPfix NAT44 session create/delete message data. Change-Id: I0166384752b17ff3a8c55aa19fa2af7a8140791e Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2020-11-12devices: remove unused codeDamjan Marion1-7/+0
Type: refactor Change-Id: I3f561818bc7c221f676477a52c7c7781624c185a Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-11-12virtio: fix the index issueMohsin Kazmi1-7/+15
Type: fix Fixes: 587f9130424fd451e4ba823240d02f655fb197d1 Change-Id: I230993a54c84e22e324de2a8defeda83c517d733 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-11-11tcp: validate fin seq in closing statesFlorin Coras1-0/+3
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Id8673cff699cfdc1ac68797b9ab5cdf6f6b578a3
2020-11-10vcl: remove unused configsFlorin Coras2-20/+1
Type: refactor Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ia8698c7ba63fc549f821863bb54fe72cc3a8d5be
2020-11-10vpp: use vpp heap for libcBenoît Ganne5-5/+241
This makes libc use vpp main heap instead of the default libc heap. This gives better visibility (accounting, tracing) on allocations happening in external libraries called from vpp (eg. OpenSSL). Type: feature Change-Id: I5d8a673472145a4e090bedb443b8c58a967d1cca Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-11-10tcp: fix test for trailing bytesFlorin Coras1-1/+1
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I6455f2d38a2927f16fd4cb0e26b8560a2357cebe
2020-11-10sr: Show IPv6 address used as SRv6 Encaps sourceAhmed Abdelsalam2-0/+28
Implements CLI to show the IPv6 address used as source address for the SRv6 encapsulation. Type: feature Signed-off-by: Ahmed Abdelsalam <ahabdels@cisco.com> Change-Id: Ia442d9345a7793836148d890745fc5dc92729b6f
2020-11-10classify: fix classify filter trace del cli processingJon Loeliger3-42/+54
When a 'del' is used to delete a classify table, only the mask is needed to locate the table. Any match vector is unneeded. The tests failed to notice this, but if the test is run by hand in vppctl, it issues a parse error. Fix the test so that it doesn't supply irrelevant data. Fix the CLI processing to read always complete newline terminated line of input instead. This allows unneeded CLI parameters to be ignored. It also necessitated fixing a trace test which had then erroneously split a single CLI command over multiple lines. While in the area, fix a latent bug on table matching where a test for compatible mask vector sizes were not matching impedance properly (byte vs ux32x4). Type: fix Signed-off-by: Jon Loeliger <jdl@netgate.com> Change-Id: I1177ab1dd417f3d11f30eecbaa2b0fb1015c3ab5
2020-11-10cnat: Fix invalid adj_indexNathan Skrzypczak2-10/+29
Type: fix When using sNAT in combination with cnat translations it might happen that the cnat_node_vip.c picks up a translation on a session that has an invalid lb index, thus resulting in a later crash in ip4-load-balance Change-Id: I82607086b2d672a9dcf26bfb82ad7f83e6474562 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2020-11-10ip6-nd: fix memory leaksDave Barach2-11/+24
Quite a noticeable amount of memory. Recoded ra event tx and rx fns in the usual manner, which terminated the leaks. Type: fix Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I486d348456b465ad3940a280d4cf489e8dd655a5
2020-11-09hsa: remove fake binary api registration in echo appsFlorin Coras2-42/+6
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I73fbf991f42e643f906b6a3badd95ef46106eb25
2020-11-09vcl: remove support for shm api connectionsFlorin Coras4-54/+26
Session layer only supports bapi with socket transport or app socket api attachements. Going forward this will be further restricted to the latter. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ib368cf2ce92bbca192cca977664800879cd4058e
2020-11-09session: remove support for shm bapi attachmentFlorin Coras5-57/+30
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I21bda0c46406aff54ad8fe5e44491e8e332de170
2020-11-09vlib: support macros in initial config fileDave Barach1-15/+59
Type: improvement Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: If8a19eb6688755311a3430437331ddf13c7e28c8
2020-11-09session: delegate fifo ooo lookup init to transportsFlorin Coras5-10/+12
Fifo chunk ooo lookup data structures are private (not allocated on segment heap) and should only be initialized by transport protocols that require out-of-order enqueues/dequeues (like tcp). Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Iaa15d6850385bf903cc501c54c2752e8e811449e
2020-11-09ikev2: add tests for DPDFilip Tehlar1-1/+62
Type: test Change-Id: I9c1129a8596344551f3f8f2e029846d22511482e Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2020-11-09session: default to using memfd mq segmentsFlorin Coras2-2/+3
First step towards deprecating the use of binary api's segment for mq allocation. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I9d3d17e4d406575d64e0426bb65465130a84980a
2020-11-09vlib: fix trace number accountingBenoît Ganne19-177/+222
When using classifier to filter traces, not all packets will be traced. In that case, we should only count traced packets. Type: fix Change-Id: I87d1e217b580ebff8c6ade7860eb43950420ae78 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-11-09ikev2: fix msg IDs generationFilip Tehlar1-14/+16
Type: fix Change-Id: Id922895c269f0d2450e55fcb6871b6857f443462 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2020-11-09ikev2: fix udp encapFilip Tehlar2-9/+23
Type: fix Change-Id: I8c66f79f2d8cfff7c6d45e1fc5b529ffb3941491 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2020-11-09tap: add function to set speedAlexander Chernavin2-1/+83
A plugin can set the speed on a host interface making it possible for host applications to be aware of the actual interface speed, not the one that the driver reports by default. With this change, add a function to set speed on a host interface. Type: feature Signed-off-by: Alexander Chernavin <achernavin@netgate.com> Change-Id: I259a52b736022bdd805e8d92dcd1bfd5c58f6f96
2020-11-09ipsec: fix unformat typesBenoît Ganne1-2/+2
ipsec_{crypto,integ}_alg_t are packed and smaller than u32. Callers are using those enums so unformat functions should too instead of u32 to not overflow the stack. Type: fix Change-Id: Ifc86366f1928ca6352f06f390a88ac64668289d5 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-11-09ipsec: fix outer table id lookup in ipsec tun scriptBenoît Ganne1-1/+1
Type: fix Change-Id: I195949b610dca1b860baca18a059d39949627961 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-11-06ipsec: add support for tx-table-id in cli + exampleBenoît Ganne3-3/+89
Type: improvement Change-Id: I840741dfe040718b682935cdbcb0ba958d45a591 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-11-05tcp: avoid consuming trailing bytesFlorin Coras1-0/+4
Thanks to Shaligram Prakash <Shaligram.Prakash@enea.com> for reporting. Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I135d23957a0dbb56a30994dfe3a316efd1eabad1
2020-11-05nat: fix hairpinning traceKlement Sekera1-3/+3
Type: fix Fixes: 17a8ab6857f023bc1436d84808acc58dd614203e Signed-off-by: Klement Sekera <ksekera@cisco.com> Change-Id: I597d08d1d2457116e6856fa40cd65987e13a28d4
2020-11-05vppinfra: mspace_get_aligned should respect MALLOC_ALIGNMENTDamjan Marion1-22/+1
While underlying mspace_malloc() respects MALLOC_ALIGNMENT (16) mspace_get_aligned moves start of data for 4 bytes making final result not aligned to MALLOC_ALIGNED. Type: fix Change-Id: Ib1584f315e3658b3b748ebf4886fb7389ce640fe Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-11-05build: link time optimization for release buildsDamjan Marion3-2/+21
Type: improvement Change-Id: I0e24f1d2ad5c7a11a8bd40125428f86aca867bec Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-11-05build: run garbage collection while linking pluginsDamjan Marion1-0/+3
Ask linker to remove symbols which are not referenced or exported. Type: improvement Change-Id: Iec01fda7ec5b14bab8f36d25c2652bd6fe619961 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-11-05nat: remove unnecessary codeKlement Sekera3-28/+24
Type: improvement Signed-off-by: Klement Sekera <ksekera@cisco.com> Change-Id: I478f5dcbf7595c62611d25a40aa356d8ce09d216
2020-11-05tap: allow change of carrier state on hostMatthew Smith4-0/+45
Type: feature Add a function to adjust the link state of the host side of a tap interface. If an application (e.g. route protocol daemons) running on the host uses netlink to monitor interface state, a plugin could use this function to communicate a loss of connectivity to the application by making the interface appear to go down. Requires a somewhat recent kernel. E.g. it does not have any effect on CentOS 7 but it works on CentOS 8. Change-Id: I677ee7889d2eb142e2395bea98f0b4d7e7e7f810 Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2020-11-05virtio: misc optimizationsDamjan Marion1-35/+41
Type: improvement Change-Id: Iaf98a60e37dd28828feca365b8fdc5d2f7ae6935 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-11-05ip: fix doxygen doc for address add/del commandBenoît Ganne1-2/+2
Type: docs Change-Id: I96d5cdb41bd938f06d2d72f2625bf1b3d2c5b1b4 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-11-05cnat: reduce compile timeNathan Skrzypczak2-20/+20
Compile time reduced from ~30s to 2s for cnat_node_vip.c & cnat_node_snat.c This doesn't impact performance for now as ts update rwlock is the main bottleneck. Type: improvement Change-Id: Ic92df300ae0dfddc5235c350bd021e73e7c850d9 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2020-11-05nat: fix byte order of vrf_id in loggingAlexander Chernavin1-0/+3
Type: fix Signed-off-by: Alexander Chernavin <achernavin@netgate.com> Change-Id: I9930a2a90caa78e848fe657ab2da863467be41ea
2020-11-05virtio: move retry logic to outer functionDamjan Marion1-8/+9
Improves compile time.... Type: improvement Change-Id: I310a2e55e5e488a953d65fd065f7795a43d2e9a7 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-11-05feature: reset interface feature arc on interface deletionBenoît Ganne5-27/+65
When removing an interface we must reset all per-interface per-feature arc data to ensure we do not get wrong feature arc config data when the sw_if_index is recycled. Type: fix Change-Id: I8c9d850d7c62b7b77193da4258ab5fb9bdda85a6 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-11-05nat: remove unused codeKlement Sekera1-22/+0
Type: improvement Signed-off-by: Klement Sekera <ksekera@cisco.com> Change-Id: Ibbdfb0a2d1ff64044a0f6b2443b526bd1cf12f93
2020-11-04session: fix ct server session thread indexFlorin Coras2-2/+3
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I835b61f0b88a7324b09d82400debd78ad8b95401
2020-11-04build: better detection of libbpf dependenciesBenoît Ganne1-4/+6
Type: fix Change-Id: Ib496e6eb0a76e6268aea09d5f4495f3ecd921ec2 Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-11-04vlib: add postmortem pcap dispatch traceDave Barach6-17/+95
Inspired by a real-life conundrum: scenario X involves a vpp crash in ip4-load-balance because vnet_buffer(b)->ip.adj_index[VLIB_TX] is (still) set to ~0. The problem takes most of a day to occur, and we need to see the broken packet's graph trajectory, metadata, etc. to understand the problem. Fix a signed/unsigned ASSERT bug in vlib_get_trace_count(). Rename elog_post_mortem_dump() -> vlib_post_mortem_dump(), add dispatch trace post-mortem dump. Add FILTER_FLAG_POST_MORTEM so we can (putatively) capture a ludicrous number of buffer traces, without actually using more than one dispatch cycle's worth of memory. Type: improvement Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: If093202ef071df46e290370bd9b33bf6560d30e6