9945 Commits

Author SHA1 Message Date
Dave Barach
1b576e0aa0 ebuild: follow symbolic links in find_newer_filtered_fn
Otherwise, changes in source code symbolically-linked into the
workspace will not be considered when deciding whether to invoke
e.g. Ninja.

This change is strongly preferable to asking people to remove
.mu_build_build_timestamp to force a Ninja run.

Deals reasonably gracefully with symbolic link loops, at least in
trivial cases: "find: File system loop detected"

Type: improvement

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I6666c84861de5e8b8aebcb94158f53526aded089
2021-01-05 17:08:54 +00:00
Mohsin Kazmi
e2e9fe5c5f tap: fix the buffering index for gro
Type: fix

Fixes: 587f9130424fd451e4ba823240d02f655fb197d1

Change-Id: Ia1739fad6a36fa658aece157d7adea8bbaa751d2
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
2021-01-05 16:03:04 +00:00
Filip Varga
a210798c40 nat: refactor and split fo EI/ED features
This patch is aimed at moving EI features out of NAT44
plugin & split of EI/ED functions.

Type: refactor

Change-Id: I63cf70a264ed2512708fe92665d64f04690783d0
Signed-off-by: Filip Varga <fivarga@cisco.com>
2021-01-05 14:09:39 +00:00
Paul Vinciguerra
641c6be821 teib: fix typo in cli
Type: fix

Change-Id: I84388bd8b68e8c48a4f44d7ecf7aadec2408b717
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2021-01-05 08:27:27 +00:00
yedg
4dd43087d0 ipsec: ipsec cli nexthop error
Type: fix
Signed-off-by: yedonggang <yedg@wangsu.com>
Change-Id: Icc3681b591e6deb93c3ff1fda5f9471fa3c96cc6
2021-01-05 08:27:01 +00:00
Florin Coras
17672aa49d svm: fifo segment sptr for fifo hdr free list
With this there are no more pointers in data structures allocated on
fifo segments.

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ibe584b7b6809fa360a105974655a91674db69ab6
2020-12-30 16:45:54 +00:00
Florin Coras
9a45bd84d9 session: remove fifo segment va allocator
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I7b2fd896dfa6df46916f46327975b95561809f00
2020-12-29 21:43:49 +00:00
Florin Coras
14f066e951 svm vcl: allow random offsets for fifo segments in apps
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I1658a9c19d8eae4c9a42c0a111d4ad343b8eb8a4
2020-12-29 21:04:39 +00:00
Florin Coras
b462418890 svm: allow mq attachments at random offsets
Type: feature

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ic373cd2c11272da539eb4b0db27227f36f2f9688
2020-12-29 12:11:07 -08:00
Florin Coras
04943b4c42 session: convert evt q segment to fifo segment
Type: refactor

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I63a44e11322f6fe27255820524e022f6d710b083
2020-12-28 19:40:03 +00:00
Florin Coras
1f952d386d svm: move active fifo list to private slice
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I7672d0715348d30c0aa718e21ed86c96402c6d69
2020-12-28 19:40:03 +00:00
Paul Vinciguerra
5481ad4eb7 vlib: add missing file template descriptions
Add descriptions to clib_file_t template structures so that
sockets can be identified via the 'show unix file' cli command.

Type: fix

Change-Id: Ibf82d55aa6c7b1126bd252b76d0dc8b7076f5046
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-12-28 09:45:41 +00:00
Neale Ranns
f6472e0f7b ip: Use full reassembly for fragments in ip6-local
Type: fix

shallow was the default, but probably by accident as it depended on
module load order.
full assembly is the v4 behaviour.

using proper types allows gdb to print enum names.

Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: If157c5b83614c7adbd7a15a8227a68f8caf4e92c
Signed-off-by: Neale Ranns <nranns@cisco.com>
2020-12-27 10:34:10 +00:00
Florin Coras
af588825ba svm: change fifo pointers to offsets
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I113a630d6db4741f54e508f7e0ed77be139df0e4
2020-12-26 16:58:10 +00:00
Steven Luong
2c1084a69b virtio: Extend vhost multi-queues support beyond 8 queue pairs
Current vhost multi-queues support has a hard limit of 8 queue pairs
due to static vring array. This limit was raised in qemu. VPP should
support more than 8 queue pairs also.

Change static vring allocation to dynamic. When the interface is
created, we allocate 8 queue pairs to begin with. We also keep track
of how many queue pairs that the interface actually uses.
We reply VHOST_USER_GET_QUEUE_NUM with 128 as our maximum number of
support queue pair. When qemu starts initializing queue pair greater
than 8, we expand the vrings as needed on demand.

Type: improvement

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: I4a02d987d52d1bbe601b00e71f650fe6ebfcc0d7
2020-12-25 11:45:09 +00:00
Ruslan Babayev
05bc31be20 build: add plugin dependencies only when present
This fixes build for VPP_EXTERNAL_PROJECT plugin with missing
PLUGIN_API_FILES.

Type: fix
Signed-off-by: Ruslan Babayev <ruslan@babayev.com>
Change-Id: I687bedcd828d834b0a7de1363f0b2d063f75ee17
2020-12-25 11:43:59 +00:00
Florin Coras
c547e91df7 svm: split fifo into private and shared structs
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Id8e77e8b2623be719fd43a95e181eaa5b7df2b6e
2020-12-24 23:08:43 -08:00
Florin Coras
8219f1f361 hsa: detach fifo segments in echo app
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I6a982f4aa3c1816160ff1c0a663ec6df6ec4cf0a
2020-12-23 12:41:42 -08:00
Florin Coras
7b0fa55695 vppinfra: mem bulk test
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Icd44ede9604c29839af250a2be93ecf467467aa0
2020-12-23 10:40:08 -08:00
Dave Wallace
dd9299c68a tests: move bier tests to src/vnet/bier/test
- Refactor make test code to be co-located with
  the vpp feature source code

Type: test

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I17003925be06d1051f18f1c24ff081790a610c23
2020-12-23 09:45:48 +00:00
Florin Coras
4b8011e72e svm: separate private from shared fifo segment ptrs
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Idcc8d862b98dba4a67f829c1778377f35ad47b00
2020-12-23 02:28:05 +00:00
Florin Coras
213b1bb3b9 svm: remove fifo segment heap
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I518e096fe13847759806ff62009e73fd8f7451b7
2020-12-23 02:27:52 +00:00
Damjan Marion
0da8168423 vppinfra: add bulk memory allocator
Small fixed size object memory allocator.

Type: improvement
Change-Id: I727705d9d4292b6b38d41e239871103b15aa9038
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-12-22 21:58:30 +01:00
Dave Wallace
9d7d599ca1 tests: move bfd tests to src/vnet/bfd/test
- Refactor make test code to be co-located with
  the vpp feature source code.

Type: test

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I3ef69bc915d2217357a9e2b1afa1cfd6c363faa0
2020-12-22 00:04:14 +00:00
Dave Wallace
8dbcacf642 tests: fix gathering of test src files
- Use hard links instead of soft links so
  that python module import works correctly
  for relocated test/vpp_*.py modules.

Type: fix

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: If9c031bf0918344dedd4dee5f9336e869590b0ae
2020-12-22 00:04:14 +00:00
Paul Vinciguerra
630ca994e0 docs: update list of plugins
The list of plugins is outdated.

This change introduces a dynamically
generated list of the plugins along with their descriptions,
extracted directly from the sources.

Type: docs

Change-Id: Icb7b65e6b45289e257d71a1c18d10f62ced59cbe
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-12-21 23:23:13 +00:00
Florin Coras
dfd1caf24e svm: honor max requested bytes in fifo segments
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I00a6be53c4519937ac900560c669587921990821
2020-12-21 19:50:19 +00:00
Florin Coras
f9e500e816 tcp: terminate options with nops
On the one hand, make sure options are terminated with NOPs to avoid
issues with clients that can't parse options that don't end on an u32
boundary. On the other, make sure the padding is rfc compliant. If
options end with EOL the padding should be zeros. The current change
does not use EOL so the padding is NOPs.

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I608056707ef9658ca90b9c095e84a0689d8000d7
2020-12-21 15:16:57 +00:00
Florin Coras
40a5da8e96 tls: use fifo segments instead of chunks
Type: refactor

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Id67cf8a3e1c5c9b4160689fde5de9ce7ed8a2ee3
2020-12-20 20:04:17 +00:00
Jieqiang Wang
3daf1f5d3a avf: fix gcc compiling warning on Arm
Initializing struct avf_ip6_psh by {0} using gcc with O2 optimize option
will trigger the -Werror=maybe-uninitialized compiling warning on Arm
because gcc compiler will think some members of the struct avf_ip6_psh
may not be initialized, which probably is a false positive in this case.
The compiling error log is shown as below. Avoid this compiling warning
by explicitly declaring the IPv6 src and dst ip in avf_ip6_psh as
ip6_address_t.

ccache /usr/lib/ccache/gcc-10 -DHAVE_FCNTL64 -DHAVE_GETCPU -DHAVE_MEMFD_CREATE -I/home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src -I. -Iinclude -I/home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src/plugins -Iplugins -Iplugins/avf -Wno-address-of-packed-member -g -fPIC -Werror -Wall -march=armv8-a+crc  -O2 -fstack-protector -DFORTIFY_SOURCE=2 -fno-common  -fPIC   -DCLIB_MARCH_VARIANT=cortexa72 -march=armv8-a+crc+crypto -mtune=cortex-a72 -DCLIB_N_PREFETCHES=6 -MD -MT plugins/avf/CMakeFiles/avf_plugin_cortexa72.dir/output.c.o -MF plugins/avf/CMakeFiles/avf_plugin_cortexa72.dir/output.c.o.d -o plugins/avf/CMakeFiles/avf_plugin_cortexa72.dir/output.c.o   -c /home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src/plugins/avf/output.c
In file included from /home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src/vppinfra/vector_funcs.h:41,
                 from /home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src/vppinfra/vector.h:196,
                 from /home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src/vppinfra/string.h:48,
                 from /home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src/vppinfra/mem.h:49,
                 from /home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src/vppinfra/vec.h:42,
                 from /home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src/vppinfra/format.h:44,
                 from /home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src/vppinfra/elf.h:41,
                 from /home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src/vppinfra/elf_clib.h:41,
                 from /home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src/vlib/vlib.h:44,
                 from /home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src/plugins/avf/output.c:18:
/home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src/plugins/avf/output.c: In function ‘avf_device_class_tx_fn_cortexa72’:
/home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src/vppinfra/byte_order.h:59:10: error: ‘*((void *)&psh+32)’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
   59 |   return __builtin_bswap16 (x);
      |          ^~~~~~~~~~~~~~~~~~~~~
/home/snowball/tasks/test_vpp_build/test-patch-9/vpp/src/plugins/avf/output.c:115:23: note: ‘*((void *)&psh+32)’ was declared here
  115 |    struct avf_ip6_psh psh = { 0 };
      |                       ^~~

Type: fix

Change-Id: I2684b101b07823dfacc4a56cc29d152828d0cf37
Signed-off-by: Jieqiang Wang <jieqiang.wang@arm.com>
2020-12-19 09:59:25 +00:00
Paul Vinciguerra
ee6b0e2904 papi: remove import vpp_transport_socket
See discussion in: https://gerrit.fd.io/r/c/vpp/+/19472

Type: refactor

Change-Id: Icbf686f615f13898d12fd211f68c3498d373a5d7
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-12-18 19:01:19 -05:00
Paul Vinciguerra
ac9a585c62 docs: fix missing quotes in ubuntu install instructions
type: docs

Change-Id: Ifa09b63924f4b7bf2719bba6ada0e1122407641c
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-12-18 23:37:22 +00:00
Florin Coras
5b8b1aec21 tls: add custom openssl bio
The bio interacts directly with the session so it avoids using an
intermediary mem bio and, implicitly, higher memory consumption and an
extra memcpy.

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ifb675cfd12df86396a7a738a6cd4d0882c69ad2f
2020-12-18 22:28:03 +00:00
Damjan Marion
8b60fb0fe6 perfmon: new perfmon plugin
Type: feature
Change-Id: I2c14f82393d11fc05c6d229f5c58603ab5c0f14d
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-12-18 17:20:28 +00:00
Damjan Marion
f5b27cbcc7 misc: deprecate old perfmon
Type: refactor
Change-Id: I1303219f9f2a25d821737665903b0264edd3de32
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-12-18 17:20:28 +00:00
Fan Zhang
25f371ee0e dpdk: rebase cryptodev engine for dpdk 20.11
Type: feature

This patch rebase cryptodev engine for the new cryptodev
raw APIs introduced in DPDK 20.11.

Signed-off-by: Piotr Bronowski <PiotrX.Bronowski@intel.com>
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Change-Id: I4da335379c5dfeb358017092086d305a01b652dc
2020-12-18 16:27:14 +00:00
PiotrX Kleski
a9585fd206 ipsec: fixed esp_decrypt pkt len after icv moved
Type: fix

This change makes esp_move_icv() update pd->current_length if the first
buffer's length is updated.

In case that ICV is split over two buffers, esp_move_icv() copies ICV
to last buffer, it also updates the before_last buffer's current_length.
However, in esp_decrypt_post_crypto(), pd->current_lenght is used to update
first buffer lenght, but pd is not updated in esp_move_icv()
and the total pkt lenght ends up incorrect.

This only happens in tunnel mode when ICV is split between 1st and 2nd buffers.

Signed-off-by: PiotrX Kleski <piotrx.kleski@intel.com>
Change-Id: Ic39d87454ec0d022c050775acb64c5c25ccf7f13
2020-12-18 14:24:32 +00:00
Lijian.Zhang
e3e1617207 avf: optimized with NEON SIMD instruction
Optimize avf-input node processing function with NEON SIMD instruction.

Type: improvement

Change-Id: I3dd76ac659686209dda9b176fc426aeae639e99b
Signed-off-by: Lijian Zhang <Lijian.Zhang@arm.com>
2020-12-18 11:26:53 +01:00
Damjan Marion
942542f7c1 misc: migrate from GNU indent to clang-format
Type: make
Change-Id: I085dcd6fe826da14d456f84a23355310bdc5d1e9
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-12-18 11:06:33 +01:00
Neale Ranns
44cae54737 fib: Remove unused FIB path-list DB variable
Type: refactor

Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Change-Id: I64527e9f5259e9984dc1e90023b367ee0fd8deeb
2020-12-18 08:22:17 +00:00
jiangxiaoming
5f9a5c70ed hsa: http server: memset after pool_put will cause ASAN issue
Type: fix
Signed-off-by: jiangxiaoming <jiangxiaoming@outlook.com>
Change-Id: I3783f72ff93c362589e859f389d94eadd2aadddb
2020-12-17 03:42:58 +00:00
jiangxiaoming
8840580961 hsa: http server: fix http response format type error
Type: fix

Signed-off-by: jiangxiaoming <jiangxiaoming@outlook.com>
Change-Id: I15e43ded1ccd1b06a5ce1822a260fd2dd7edf95f
2020-12-17 02:26:02 +00:00
Florin Coras
d6a1acebea vppinfra: fix vec_max_len
Return 0 if the supplied vector pointer is NULL.

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Icb0aab70e0b7c9c1ddcf607c9dfb7e5715f177d1
2020-12-16 16:24:18 +00:00
Dave Barach
5bfaa6e7e3 docs: revise home gateway use-case documentation
Switch to markdown format.

Update docs to current production configs. Add remote software
installation scripts.

Type: docs

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Ieaf507a4393c1e4600fb40ae0722c52472bb0f8f
2020-12-16 15:37:09 +00:00
Dave Wallace
f05c9a497c tests: move fib tests to src/vnet/fib/test
- Refactor make test code to be co-located with
  the vpp feature source code

Type: test

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I0529eb51b5a6bc2a5f1a49ee9d3320908ad1dba9
2020-12-16 13:33:31 +00:00
Andrew Yourtchenko
7742d5b355 misc: Initial 21.06-rc0 commit
Type:docs
Change-Id: I07959a860194b06bb30455b6072d651058bb5d47
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
v21.06-rc0
2020-12-16 10:05:11 +00:00
Klement Sekera
53be16d053 ip: fix possible missing trace indexes
Add safeguards when tracing packets to avoid cases where clear trace
was issue while buffers were held in reassembly.

Type: fix
Change-Id: I1bdd1e629e8bc08ce63913fd3c4b2327e47dec04
Signed-off-by: Klement Sekera <ksekera@cisco.com>
2020-12-16 09:42:33 +00:00
Dave Barach
b61f3ccbc9 misc: update MAINTAINERS file
Type: improvement

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I0bc970cf2d88f891e7a251a5bdfedfe815be786d
2020-12-16 09:42:17 +00:00
Dave Wallace
da33ec5143 build: remove centos-7 directive from Makefile
- CentOS-7 support has been deprecated.

Type: fix

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: If7f1988487d0b63a596dfee9dd03af89fb159573
2020-12-16 09:41:38 +00:00
Filip Varga
18f1e41d9c nat: refactor & MW support for NAT tests
Split ED and EI nat44 test cases. Added multi worker
support for ED test cases.

Type: refactor

Change-Id: Ibcc2f62b94cacff69ed35c5d914b55f9fdbcf882
Signed-off-by: Filip Varga <fivarga@cisco.com>
2020-12-16 08:14:27 +00:00