summaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2020-10-20vcl: convert vep variables into flagsFlorin Coras4-66/+56
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ief017abc4879bc928746d9f5b9d2cfe04da89bd3
2020-10-20ipsec: Stack the adj from the destination in the SA's TX tableNeale Ranns1-1/+1
Type: fix Signed-off-by: Neale Ranns <nranns@cisco.com> Change-Id: Ib7f39243e051cdf44cc7151d14458a7fab42c6a8
2020-10-19vcl: cleanup read and write readyFlorin Coras4-65/+50
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ib6afedf24c7bd7cc0d98bb324a83517030a05aa7
2020-10-19vppinfra: minor refactor in lock.hDave Barach1-2/+4
For whatever reason, "typedef struct { ... } *foo_t" gives cgo a horrible case of indigestion. A minor refactor makes the pain go away. Type: refactor Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I856b2abf9b16348d2f6145178e683e722914c756
2020-10-19ip: Move the IP6 fib into ip6_[m]fib.cNeale Ranns15-153/+186
Type: improvement reduce the compile time by moving the bihash includes out of ip[46].h Signed-off-by: Neale Ranns <nranns@cisco.com> Change-Id: I6b9216e10aff1013071f9238b3e1ebbdd205bd80
2020-10-19hsa: refactor socket client appFlorin Coras3-315/+177
Type: refactor Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I020e62e1ad929742e1b14b807de3a6f04a9e496f
2020-10-19hsa: cleanup sock server testFlorin Coras4-382/+263
Type: refactor Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I769174f0023d00a59bc5a03cf0a05996b616742b
2020-10-19ipsec: Layout and prefetching of SA structNeale Ranns3-26/+44
Type: improvement - collect all DP used variables onto 1st or 2nd cache line - prefetch the 2nd cache line - in encrypt prefetch the likely location of the trailer. Signed-off-by: Neale Ranns <nranns@cisco.com> Change-Id: I44d58f8d2d469ff71a4f4a71578e7cc1acaeba43
2020-10-19virtio: fix compilation timeDamjan Marion1-30/+31
There is no need to inline 3 times virtio_refill_vring()... Type: fix Change-Id: Ic26e24fd7911af743fedd0e2282784b715e86c3c Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-10-19gso: add checksum validation in groMohsin Kazmi2-1/+23
Type: improvement Change-Id: I0680c1626a46c8afcb7b6e665cc0734b7b37fd18 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-10-19misc: don't export symbols from pluginsDamjan Marion7-7/+9
Type: improvement Change-Id: I2a176fe2871d2e54b010bffc4f1f7a3616f0c455 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-10-18vppinfra: add export symbolsDave Barach2-3/+3
format_one_elog_event() vec_len_not_inline() vec_free_not_inline() Type: fix Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I0432c1b41b985de380e0b73886d0b03ecc19c703
2020-10-17vppinfra: export elog_get_events()Dave Barach1-1/+1
Type: fix Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: Ifc1bcbd8b5f8597796c993a2a5caf3a6c8d2471c
2020-10-17vppinfra: explicitly export symbolsDamjan Marion40-225/+229
Type: improvement Change-Id: I57a9f85f7df1fc48656b72592349f4c544302f77 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-10-17tap: replaces strlen to vec_lenMohsin Kazmi1-4/+4
Type: fix Change-Id: I478b6fc54c47f0e77a1470ed29fdd56774671441 Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-10-16vcl: remove accept state and rename connect to readyFlorin Coras2-15/+10
Type: refactor Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I57fcc6f9c154a6f83e0d59873b76c2e380e6f90a
2020-10-16acl: do vlib_buffer_enqueue_to_next in outer functionDamjan Marion1-8/+11
Improves compilation time and reduces object file size for 1MB Type: improvement Change-Id: Ibe4840c0ced22070248d93822ea61afe20aff65c Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-10-16ipsec: fix instance, and cli del for new ipsec interfaceEric Kinzie2-4/+4
- use user instance number in interface name Restore the behavior of previous versions where the IPsec tunnel interface name contained the value of the user-provided instance number. For example, a command similar to create ipsec tunnel local-ip . . . instance 5 would result in the creation of interface "ipsec5". - ipsec: delete tunnel protection when asked The "ipsec tunnel protect" command will parse a "del" argument but does not undo the tunnel protection, leaving the SAs hanging around with reference counts that were incremented by a previous invocation of the command. Allow the tunnel protection to be deleted and also update the help text to indicate that deletion is an option. - test: ipsec: add test for ipsec interface instance Also cleanup (unconfig) after TestIpsecItf4 NULL algo test. Type: fix Fixes: dd4ccf2623b5 ("ipsec: Dedicated IPSec interface type") Signed-off-by: Eric Kinzie <ekinzie@labn.net> Signed-off-by: Christian Hopps <chopps@labn.net> Change-Id: Idb59ceafa0633040344473c9942b6536e3d941ce
2020-10-16misc: bump debian compatibility level to 10Damjan Marion1-1/+1
Level 9 is deprecated in new ubuntu release. Type: improvement Change-Id: I9376b5f7a1aa0860e35475c5d32f3626257d2f01 Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-10-16nat: error in input parameter of init_nat_kDengfeng Liu1-1/+1
Type: fix Signed-off-by: Dengfeng Liu <liudf0716@gmail.com> Change-Id: I3e7ee771d0cf5b7b1b9fbbc833776d523dfa9f09
2020-10-16build: Add missing debian dependenciesChuan Han1-0/+6
Otherwise, vpp install will fail. Type: improvement Signed-off-by: Chuan Han <chuan.han.comm@gmail.com> Change-Id: Ifb4d7b8f6fb7b333b8205ba6b424176f8554cfdc
2020-10-15vlib: add cgo-friendly plugin registration supportDave Barach2-9/+128
Allows us to declare plugin registrations in a non-disgusting way: var plugin_reg = vpp.PluginRegistration{ Description: "The CGO plugin", Version: "My Version", Overrides: "sample_plugin.so", } It turns out that the specific compiler setup generates (.data section offset, length) pairs in the .vlib_plugin_r2 section: Contents of section .vlib_plugin_r2: 1ba9d0 00000000 00000000 50a81800 00000000 ........P....... 1ba9e0 0a000000 00000000 00000000 00000000 ................ 1ba9f0 00000000 00000000 00000000 00000000 ................ 1baa00 00000000 00000000 00000000 00000000 ................ 1baa10 00000000 00000000 70a81800 00000000 ........p....... 1baa20 0e000000 00000000 ........ Contents of section .data: 18a800 00a81800 00000000 00000000 00000000 ................ 18a810 00000000 00000000 00000000 00000000 ................ 18a820 00000000 00000000 00000000 00000000 ................ 18a830 00000000 00000000 00000000 00000000 ................ 18a840 00000000 00000000 14000000 00000000 ................ 18a850 4d792056 65727369 6f6e0000 00000000 My Version...... 18a860 00000000 00000000 14000000 00000000 ................ 18a870 54686520 45474f20 706c7567 696e0000 The CGO plugin.. 18a880 00000000 00000000 0c000000 00000000 ................ <etc> Unfortunately, it seems impossible to torture clang / gcc into producing anything like this. This patch fabricates a plausible vlib_plugin_registration_t from the so-called vlib_plugin_r2_t. Type: improvement Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I8c0c5a24f3b7bfea07d5181a7250b3d9685e8446
2020-10-15build: forward dependencies to arch-specific libsAloys Augustin3-5/+10
Without this, if a multiarch source depends on a generated api header for instance, the build would be racy between the api header generation and the multiarch object compilation. Type: improvement Signed-off-by: Aloys Augustin <aloaugus@cisco.com> Change-Id: I08fcd0e5a1c51398ac1a8f37cf6562064b400d4a
2020-10-15ethernet: fix Ethernet DMAC checksIvan Shvedunov1-7/+12
Type: fix Due to confusion between ethernet flags and hw interface flags, DMAC filtering was not happening, most of the time. Signed-off-by: Ivan Shvedunov <ivan4th@gmail.com> Change-Id: I95209e1ea0f95f9be0b1a82ec9fcbc80955428d2
2020-10-15vcl: refactor session state enumFlorin Coras4-159/+159
Only allow one state instead of using flags. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I08ffccbf8c3f6e2f61533996bb36c799cbc931e7
2020-10-14crypto: fixed ipsec_mb lib dependenciesPiotrX Kleski1-15/+0
Type: fix This patch re-enables libIPSec_MB build for the ipsecmb crypto engine plugin. Also since DPDK meson build relies on system installed libIPSec_MB.so that may be inconsistent with VPP compiled one (system installed version vs VPP locally compiled version for example), this patch also disables all libIPSec_MB dependant PMDs from DPDK build. Also ipsec-mb version is incresed to 0.54. Signed-off-by: PiotrX Kleski <piotrx.kleski@intel.com> Reviewed-by: Fan Zhang <roy.fan.zhang@intel.com> Change-Id: I2ff9e7cd0c35cff9fa642895301a26a5350ea94e
2020-10-14mpls: no per-MPLS-tunnel tx nodeNeale Ranns3-98/+161
Type: improvement do not add a per-MPLS tunnel tx node. per-tunnl nodes limit the number of tunnels that can be created to the number o fnodes that can be created (64k). improve the tx node. Signed-off-by: Neale Ranns <nranns@cisco.com> Change-Id: I6016f05e809c6c64a0b098a101b28c9dd47824b3
2020-10-14nat: Fix ICMP bypass session creationVladimir Isaev1-0/+6
After get_icmp_o2i_ed_key() bihash key may include IP protocol and addresses from inner ICMP packet. It is OK for session lookup, but we should not create a session on ICMP error message receiving. Type: fix Signed-off-by: Vladimir Isaev <visaev@netgate.com> Change-Id: Ic93272ebe90d2288a975265439f9e079eb28936a
2020-10-14cnat: Fix backend LBNathan Skrzypczak1-1/+1
Type: fix Change-Id: I4ea263270bcc38e505e88d512acacef7439f3823 Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2020-10-14vlib: avoid clipping in show errorFlorin Coras1-4/+4
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ia884d745a11565918c7bf89435ceb0e17b6aef59
2020-10-14vcl: set STATE_UPDATED state when connect with non-blocking socket!fanyf1-1/+4
State set to STATE_UPDATED to ensure the session is not assumed to be open and to also allow the app to close it prior to vpp's connected reply! Type: fix Signed-off-by: fanyf <fanyufei521@outlook.com> Change-Id: I7a6d0914599cb9296d112205dac725ecd11a5d0f
2020-10-14vcl: app_name format type errorjiangxiaoming1-1/+1
Type: fix Signed-off-by: jiangxiaoming <jiangxiaoming@outlook.com> Change-Id: I9f017ec84320ebc56f557385d73893ecf8f25bcd
2020-10-13tcp: fix bt acked_sacked on recoveryFlorin Coras1-2/+3
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I2e2d76661fbb07dd8c6afa3583bb18e01b7a7fb6
2020-10-13session: listeners verbose format alignmentFlorin Coras1-3/+3
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: Ic8e98d7372af3bfde36bface49f9b90de5f3c64b
2020-10-13svm: fix coverity warningFlorin Coras1-2/+2
Type: fix Change-Id: I6c6255e66dd4cd0e4174b2a1658a3b8be40f0f7a Signed-off-by: Florin Coras <fcoras@cisco.com>
2020-10-13tcp: fix listener trace coverity warningFlorin Coras1-6/+2
Type: fix Change-Id: I75c0bd862260e188f625271c3bd545a7ab37af5d Signed-off-by: Florin Coras <fcoras@cisco.com>
2020-10-13session: allow custom config of segment basevaFlorin Coras1-0/+2
Type: improvement Change-Id: If9ea09d652c228004492cf47854a7f6c1f8b3bc2 Signed-off-by: Florin Coras <fcoras@cisco.com>
2020-10-13stats: counters data modelOle Troan17-131/+373
This adds a new data model for counters. Specifying the errors severity and unit. A later patch will update vpp_get_stats to take advantage of this. Only the map plugin is updates as an example. New .api language: A new "counters" keyword to define counter sets. counters map { none { severity info; type counter64; units "packets"; description "valid MAP packets"; }; bad_protocol { severity error; type counter64; units "packets"; description "bad protocol"; }; }; Each counter has 4 keywords. severity, which is one of error, info or warn. A type, which is one of counter64 or gauge64. units, which is a text field using units from YANG. paths { "/err/ip4-map" "map"; "/err/ip6-map" "map"; "/err/ip4-t-map" "map"; "/err/ip6-t-map" "map"; }; A new paths keyword that maps the counter-set to a path in the stats segment KV store. Updated VPP CLI to include severity so user can see error counter severity. DBGvpp# show errors Count Node Reason Severity 13 ethernet-input no error error Type: feature Signed-off-by: Ole Troan <ot@cisco.com> Change-Id: Ib2177543f49d4c3aef4d7fa72476cff2068f7771 Signed-off-by: Ole Troan <ot@cisco.com>
2020-10-13ikev2: fix initial contact cleanupFilip Tehlar2-306/+562
When looking for existing SA connection to clean up search all per thread data, not only current one. Type: fix Change-Id: I59312e08a07ca1f474b6389999e59320c5128e7d Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2020-10-13ikev2: fix coverity warningFilip Tehlar1-5/+21
Type: fix Change-Id: Iee96b3ea3e71ec248c3c3c98d153a08372b5faf0 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2020-10-13ikev2: fix memory leak in auth routineFilip Tehlar1-0/+4
Type: fix Change-Id: I93529b069925fcef32cdb22e27975b802b4c3b97 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2020-10-12l2: mark l2 fib uninitialized after clearingMatthew Smith1-0/+2
Type: fix After clearing the l2fib with 'vppctl clear l2fib', a SEGV occurs the next time a MAC address is learned. In l2fib_clear_table(), the l2fib bihash is freed and then l2fib_table_init() is called to reinitialize it. l2fib_table_init() will not do anything if l2fib_main.mac_table_initialized is set to 1. Reset the value of l2fib_main.mac_table_initialized to 0 before calling l2fib_table_init(). Change-Id: I87f1a3f9a46c951f36c1c0a5ab795b0ec08c81a8 Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2020-10-12misc: clang-11 and gcc-10 supportDamjan Marion5-6/+6
clang-11 complains: error: field 'buffer_template' with variable sized type 'vlib_buffer_t' not at the end of a struct or class is a GNU extension [-Werror,-Wgnu-variable-sized-type-not-at-end] Type: improvement Change-Id: I2cb6b4fde723a05b42cf33dd8130df074f0362ab Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-10-12ip: IP6 incorrectly disabled on removing first ip6 prefixNeale Ranns1-1/+3
Type: fix reference counting on the ip6 state was broken, meaning that disabling one of serveral ip6 configs on an interface, completely ip6 disabled the interface. Signed-off-by: Neale Ranns <nranns@cisco.com> Change-Id: Ie3af51587310ffe871ad2a9cbd927e15a3ececa9
2020-10-12tcp: use 100us timer resolutionFlorin Coras1-4/+4
Experimental reduction of tcp timer resolution from 100ms that allows for finer grained timers, if needed. Please report issues if any encountered. Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I4050f7691aa7365b77298b4427408a4a447834fa
2020-10-12vcl svm: segments improvementsFlorin Coras4-25/+47
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I717c64666972bb4e440cb3d1180a5cb26ee25577
2020-10-12tcp: fix connection reuse with no listenerFlorin Coras1-0/+6
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I674872f68406ac778779a68d3ad991f41765d4e2
2020-10-12nat: set fib index for bypass sessionVladimir Isaev2-1/+2
Bihash key already contains rx_fib_index for lookup but fib value for session itself is set to 0. In the result bihash is allocated with key with fib index set, but free function is looking for key with fib index set to zero. It leads to use-after-free because session itself is removed from pool but bihash is not because of key mismatch. Type: fix Signed-off-by: Vladimir Isaev <visaev@netgate.com> Change-Id: I8ac5a41b0a5a32b1baab9e9d757141d5b24b7798
2020-10-12lldp: fix typo in mac address constantDmitry Vakhrushev1-1/+1
Type: fix Fixes: 149fd3fbd069a5f7be86e68472578ee7af229cb6 Signed-off-by: Dmitry Vakhrushev <dmitry@netgate.com> Change-Id: I06956f3ed3689172c3682d6b707991613255cabd
2020-10-12lldp: fix memory leakageDmitry Vakhrushev1-6/+16
1. Typo in usage of vnet_hw_interface_add_del_mac_address(), which returns 0 when it succeeds instead non zero value. 2. Generated error doesn't clean allocated resources for an interface. 3. Returned value from vnet_hw_interface_add_del_mac_address() should be erased or reported. Type: fix Fixes: 149fd3fbd069a5f7be86e68472578ee7af229cb6 Signed-off-by: Dmitry Vakhrushev <dmitry@netgate.com> Change-Id: Ia6b28ae70fea127d15eb0102223ff972358766bc Signed-off-by: Dmitry Vakhrushev <dmitry@netgate.com>