9345 Commits

Author SHA1 Message Date
Benoît Ganne
2e64b5a934 unittest: keep ASAN happy for non-terminated string tests
Type: fix

Change-Id: Iae9e84d4297acd54c909d3a8a39adafcd86b0a91
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-07-19 11:31:36 +00:00
Andrew Yourtchenko
df494dafa0 abf: mark API as in-progress
As requested by Neale, mark the ABF API as in-progress

Change-Id: I109a32fa54b1f2a882695d9fd71b235fa46bc6f3
Type: fix
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2020-07-17 12:09:49 +00:00
Andrew Yourtchenko
d2f8fb9c7e gbp: mark APIs as in-progress
As per request from Neale, mark the GBP plugin APIs as in-progress.

Type: fix
Change-Id: I679943edcfff0742ee32c45cd8f97f482c353b9f
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2020-07-17 12:09:21 +00:00
Andrew Yourtchenko
f733e7ade0 l2e: mark API as in-progress
As requested by Neale, mark the API as in-progress.

Change-Id: Id92cad65c66435e179583507f077816e09e4205b
Type: fix
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2020-07-17 12:09:05 +00:00
TimotheeChauvin
2887159a1a pppoe: fix uninitialized memory bug
In pppoe_cp_node.c, node->errors[error0] was accessed without
node->errors being initialized.

Found with AFL + ASAN.

Type: fix
Signed-off-by: TimotheeChauvin <timchauv@cisco.com>
Change-Id: Ide8a60021b2d47b5e2fce7062d8f12c7f4d225f7
2020-07-17 07:09:45 +00:00
Tom Seidenberg
6c81f5a249 misc: add callback hooks and refactor pmc
Callbacks for monitoring and performance measurement:
- Add new callback list type, with context
- Add callbacks for API, CLI, and barrier sync
- Modify node dispatch callback to pass plugin-specific context
- Modify perfmon plugin to keep PMC samples local to the plugin
- Include process nodes in dispatch callback
- Pass dispatch function return value to callback

Type: refactor

Signed-off-by: Tom Seidenberg <tseidenb@cisco.com>
Change-Id: I28b06c58490611e08d76ff5b01b2347ba2109b22
2020-07-16 21:44:42 +00:00
Chenmin Sun
bab02f0b18 dpdk: fix coverity warning in the flow code
CID 211153

Type: fix

Signed-off-by: Chenmin Sun <chenmin.sun@intel.com>
Change-Id: Ic4d518d047c3ff36d9a7b72477c3efcb554d05bb
2020-07-16 21:44:19 +00:00
Benoît Ganne
01a103bec1 vlib: fix asan compilation with gcc
clang tends to force alignment of all sections when compiling for
address sanitizer, confusing VPP plugin infra.
On the contrary, GCC does not support this attribute on sections.
Selectively enable it depending upon the compiler.

Type: fix
Fixes: cea46522e79637f6ec37c03ec3fbeb87b160a378

Change-Id: I2dd6e52e70e6b4d89c101171cafc813e175ec472
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-07-16 21:42:40 +00:00
Fan Zhang
4933849439 crypto: fix coverity issue for cryptodev
- Fixes coverity issue #210160.
- Fixes the possible issue in cryptodev when input node does
  not update mbuf, such as avf-input.
- Fixes GCM ESN packet incorrect tag.
- Code clean up to reduce binary size.

Type: fix

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Signed-off-by: Dariusz Kazimierski <dariuszx.kazimierski@intel.com>
Signed-off-by: Piotr Kleski <piotrx.kleski@intel.com>
Change-Id: Ic05ae29855ac1f7a62e4af5831a4ed9faa8f561a
2020-07-16 21:42:00 +00:00
Benoît Ganne
1bd6f61820 vppinfra: fix format_c_identifier vector overflow
In case of vector, we must check length before trying to access element.
Also fix wrong DPDK plugin workaround.

Type: fix

Change-Id: I2ecef1c88ebef2362f48cab0d462699aa43cd4b9
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-07-16 21:41:12 +00:00
Dave Barach
65b65a4692 misc: add tracedump API plugin
Type: feature

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I586547508003b95eaa74e18e4a5ac6f72986822c
2020-07-16 21:39:50 +00:00
Dave Barach
ac0326fc5a adl: move allow/deny list function to plugin
Provide binary API compatibility support for the "cop" APIs until vpp
21.01.

Change the deprecation date in map.api to vpp 21.01.

Type: refactor
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I0e60d96de4ae9ae4448f134cf257934126f3b760
2020-07-16 21:39:23 +00:00
Damjan Marion
9a0f2a5e7f ip: optimize ip4_header_checksum, take 2
- add 64-bit version
- remove byte swaps, as they are actually not needed

Type: improvement
Change-Id: Ia1efe54ee80b4ae7633b9ab36b3154c3357006d7
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-07-16 17:52:36 +02:00
Benoît Ganne
284e658dbf ikev2: fix race condition in child_sa update
Type: fix

Change-Id: I864d49a641b45337c0a45a0af7d996cad75f6629
Signed-off-by: Benoît Ganne <bganne@cisco.com>
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2020-07-16 13:21:55 +00:00
Benoît Ganne
5e60c17f49 vppinfra: enable STATIC_ASSERT with clang
For some reason clang does not support &((struct foo*)0)->field in
static assertion contrary to gcc.
Use offsetof() macro implementation provided by both compilers instead.

Type: fix

Change-Id: I3311cdd29c5861e45dc0ef92f2bbd66242ca73b8
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-07-16 13:21:27 +00:00
Damjan Marion
e5f0050c7a ip: optimize ip4_header_checksum
Type: improvement
Change-Id: I67bacb90a3dd8a9bd7beb4975ad0fe344675b65f
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-07-16 12:07:20 +00:00
Aloys Augustin
cf86740a11 gre: fix outer ip6 length
This updates the computation of the outer ip6 header payload_length
field in order to take into account the GRE header length.

Change-Id: Ie9f982521aeaef7279a9e329a33272d6fae0a428
Type: fix
Signed-off-by: Aloys Augustin <aloaugus@cisco.com>
2020-07-16 11:25:08 +00:00
Damjan Marion
94dbf95220 vppinfra: more vector inlines
Type: improvement
Change-Id: Ie0de374b89ec3a17befecf3f08e94951597609ec
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-07-15 20:26:42 +02:00
Klement Sekera
4d119a6f15 nat: add prefetching to in2out_ed/out2in_ed
This saves about 20 clocks/packet in both code paths.

Type: improvement
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: Ib559c74bf8168e3ddd764d51b7e5bcd2a557f591
2020-07-15 16:27:29 +00:00
Filip Tehlar
a7b963df27 ikev2: add support for AES-GCM cipher in IKE
Type: feature
Ticket: VPP-1920

Change-Id: I6e30f3594cb30553f3ca5a35e0a4f679325aacec
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2020-07-15 16:12:16 +00:00
Mohsin Kazmi
8046fdc10b virtio: fix the msix for multiqueue
Type: fix

Change-Id: Ie0cff37b474f8d85a3ae376e0f547a347fb1ad8a
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-07-15 15:57:40 +00:00
Filip Tehlar
ac46e3b1db ikev2: API downgrade due to lack of ikev2 tests
Type: refactor

Change-Id: Ic7ddad20088e069887f81721cceb21f4902e8907
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2020-07-14 19:26:33 +00:00
Chenmin Sun
e30f9c5c63 ip: fix format_ip6_address_and_mask() bug
Previously there's a format_ip4_address in format_ip6...
This patch fixes this typo

Type: fix

Signed-off-by: Chenmin Sun <chenmin.sun@intel.com>
Change-Id: Ice124db6594720ed35a992d069341f399c331e1d
2020-07-14 14:34:57 +00:00
jiangxiaoming
3999a4bdb7 hsa: set connected mode for echo_server app in udp mode.
Type: fix

Signed-off-by: jiangxiaoming <jiangxiaoming@outlook.com>
Change-Id: I85a53ee049a9af371d929364400fe166cf71d53f
2020-07-13 21:41:32 +00:00
jiangxiaoming
b495e9fd6d session: fix application_lookup_name fail due to app_by_name default hash type wrong
Type: fix

Signed-off-by: jiangxiaoming <jiangxiaoming@outlook.com>
Change-Id: I539c431d991234c6cebc0961588f5dfbc9caa3c2
2020-07-13 17:07:17 +00:00
Florin Coras
47cb248424 session: reduce verbosity on fifo alloc failure
Also fix session test app name registrations

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I7d365154ab9af83b17b026762ab4f0aea85ce486
2020-07-13 08:57:35 -07:00
Benoît Ganne
52e9aaf0b5 dpdk: add txq struct and fix dpdk tx lock
This introduces a txq structure mirroring the rxq structure.
This fixes the case when #txq > #rxq, because lock must be per txq.

Type: fix
Fixes: dfb19cabe20ccf1cbd1aa714f493ccd322839b91

Change-Id: Ic1bce64d2b08b9a98c8242a1ba1bfcdbda322bec
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-07-09 15:32:51 +00:00
Florin Coras
ea7e7087d2 session: fix ct listener cleanup
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I749f36a7062bf9b073c1b6753436c23ba326a5db
2020-07-07 17:57:59 -07:00
Florin Coras
c78d47b141 tcp: round down rcv wnd even if avoiding retraction
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I7fb3a4a2ffc4c5f42aa043e3a317b52d7767fb81
2020-07-07 14:56:02 +00:00
Mohsin Kazmi
4834a66b7b tap: fix the tun sndbuf value for kernel 4.20 and later
Type: fix

From kernel 4.20, xdp support has been added in tun_sendmsg.
If sndbuf == INT_MAX, kernel executes xdp data path
for tun driver which assumes packets are ethernet frames.
This patch is avoiding the xdp data path in kernel by setting
the sendbuf value < INT_MAX.

Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: Ia4aa54b177b96d56a2d513d18d26ca01d5b88929
2020-07-07 14:44:53 +00:00
Filip Tehlar
190983de61 ikev2: per thread usage of openssl context
Type: refactor

Change-Id: I04af90b4d86c00092ce1732aeb3c0517af1808e0
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2020-07-07 08:18:57 +00:00
John DeNisco
742000af20 docs: Reflect the fact that the DPDK is now a plugin
Type: Improvement

Signed-off-by: John DeNisco <jdenisco@cisco.com>
Change-Id: Ic1253f601ee515392902a21b92e1dfd3962cc0a4
2020-07-06 12:30:31 -04:00
Jan Cavojsky
6a9bd81886 ikev2: add profile dump API
Type: feature
Signed-off-by: Jan Cavojsky <Jan.Cavojsky@pantheon.tech>
Change-Id: I84776a50b520134e8a3ca6ae41b4cc29009e6319
2020-07-06 14:25:11 +00:00
Filip Tehlar
4f42a71779 ikev2: add more ikev2 tests
Tests for AES-GCM and AES-CBC with different key lengths

Type: test

Change-Id: Ie7eeebb0f7e8331a717866475cb4ee00042857ce
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2020-07-06 13:34:10 +00:00
jiangxiaoming
9268b5823f ip: set ip4 mask for ip_copy and ip_set when dealing with ip4 type
Type: fix

Signed-off-by: jiangxiaoming <jiangxiaoming@outlook.com>
Change-Id: I3ace7dfe3ddacb4f7fa7a974a2ffe2b3cf902ff9
2020-07-06 08:42:14 +00:00
Matthew Smith
ee167e524c fib: fix debug preprocessor directives
Type: fix

Some debugging declarations were wrapped in an 'ifdef CLIB_DEBUG'.
This seems to always evaluate true because clib.h defines CLIB_DEBUG
to 0 if its not defined.

The result is that if a route table is added and a route is added to
it and then the table is deleted, VPP exits because the debug function
fib_table_assert_empty() gets called whether VPP was started using a
debug build or a release build.

Change the ifdef to 'if CLIB_DEBUG > 0'.

Change-Id: I357dc2c299e81b95244f2f7efaadb8e0de27627a
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2020-07-06 08:35:59 +00:00
Florin Coras
fbb846cfa1 tcp: fix coverity warning
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I60828bc084b9adbb925c306d26060412c410c516
2020-07-02 14:52:34 -07:00
Florin Coras
3e9ff291da tcp: cli to dump half-open connections
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Idf7e483de0afc95a7579145fb16689e1853b10f9
2020-07-02 19:13:32 +00:00
Matthew Smith
39008ca19e vrrp: fix feature declaration for v6 accept-mode
Type: fix

The v6 accept mode input feature was being declared with
the node added to ip4-multicast instead of ip6-multicast. Add to
the correct arc.

Change-Id: I08f6e5e7dde84a37687fa0af750a7a16fe537ea6
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2020-07-02 17:03:11 +00:00
Filip Tehlar
da8e4fe3fc ikev2: use remote proposals when installing tunnel
Change-Id: Ib9c5dff6c825f495400a73869d429b9c2df670fc
Type: fix
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2020-07-02 16:58:48 +00:00
Mohsin Kazmi
86f281a841 tap: fix dump for TUN interfaces
Type: fix

Change-Id: I3bcc8ff1cf0a828ce3ba112694d38e3287d38d8d
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-07-02 14:48:14 +00:00
Andrew Yourtchenko
319a135515 misc: 20.05 Release Notes
Change-Id: If68e419b00f8961c814727713f989fd0d72f6f1b
Type: docs
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
(cherry picked from commit ab572152d9cbed7944442d07a6bd21c43ad1c83d)
2020-07-02 14:32:30 +00:00
Ole Troan
96068d6b94 nat: nat66 to plugin
Type: refactor
Change-Id: I8c1f0c02a4522c1f9e461ddadd59938579ec00c6
Signed-off-by: Ole Troan <ot@cisco.com>
2020-07-02 13:13:27 +00:00
Mohsin Kazmi
c6eae9c079 ip: fix the order in ip4 punt redirect
Type: fix
Fixes: a84cb715f5a4366dd2f32de18ad92bec566924da

Change-Id: Id448d6ae9cfdd3122e8187121c509412835117c5
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-07-02 11:00:39 +02:00
Benoît Ganne
d25147d581 vlib: wake up workers if interrupts are posted
Type: fix

Change-Id: If8dbbcb46193fd057fe8d704058609a3a8787d6c
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-07-01 20:39:01 +00:00
Dave Barach
126c885441 classify: fix debug CLI
unformat_ip6_mask wasn't accounting for customized field names
when deciding if it managed to parse at least one field.

Type: fix

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I26cab4c6828b510e277079628af5115ac43af3ff
2020-06-30 08:28:29 -04:00
Filip Tehlar
bfeae8c57e tests: ikev2: add nat traversal & cert based auth test
Type: test

Change-Id: I3e8e451c5deaf04f519a471369370c383d9cda3b
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2020-06-30 08:15:01 +00:00
Ryujiro Shibuya
cc1085647b tcp: avoid rcv wnd more than RX fifo can enqueue
Type: fix

Signed-off-by: Ryujiro Shibuya <ryujiro.shibuya@owmobility.com>
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ie358b731f8ecb1fcaebd6e79f5ce5c10802c2814
2020-06-30 04:25:41 +00:00
Mohsin Kazmi
ec1d61efe6 gso: fix the l2 path
Type: fix

Change-Id: I4f91175444dec9800d651aa5a5e0472359de63d1
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2020-06-29 08:55:57 +00:00
Vadym Martsynovskyy
42386fc974 udp: align udp_encap_t_ to 2 cachelines
Based on the comments in the struct, udp_encap_t_ is meant to span 2
cachelines. Due to the 64 bit alignment of dpo_id_t, the struct spanned
3 cachelines. This caused fetching ue_ip_proto to trigger an additional
cache miss. This patch rearranges the ordering of the struct fields
so that udp_encap_t_ only spans 2 cachelines as intended.

before:
(gdb) print (int)&((struct udp_encap_t_*)0)->cacheline1
$8 = 128

after:
(gdb) print (int)&((struct udp_encap_t_*)0)->cacheline1
$1 = 64

Type: fix
Signed-off-by: Vadym Martsynovskyy <vmartsyn@fb.com>
Change-Id: I066c08654d4a8ef3e2d3954e957d4c5d382b209f
2020-06-27 10:27:55 +00:00