Commit Graph

9405 Commits

Author SHA1 Message Date
Damjan Marion
0978e607cc dpdk: hugepage availibility check using new api
Type: improvement
Change-Id: Iab623a2e11bd5787f4cae549143f49888e0dd9c4
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-09-21 13:24:56 +00:00
Dave Wallace
27b50fea14 build: touch files when extracting rpm tarballs
Type: fix

- Long story short, intermittently centos jobs have been
  failing with clock skew issues. When someone commits a
  patch on a machine with the date ahead of UTC, then clock
  skew will be encountered when extracting the RPM source
  tarball. See [0] and [1] for details.

- Replace 'make bootstrap' with 'make install-dep' in
  RPM package build specfile.

[0] https://unix.stackexchange.com/questions/164807/does-git-archive-use-the-wrong-file-timestamp
[1] https://git.fd.io/vpp/tree/Makefile#n380

Change-Id: Iebfb9eb2e26c1f2e4488e871da86d0c60b9f4048
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2020-09-21 07:00:26 +00:00
Dave Wallace
bc35f469c8 build: remove opensuse build infra
- VPP on opensuse has not been supported
  for several releases.

Type: fix

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I2b5316ad5c20a843b8936f4ceb473f932a5338d9
2020-09-21 06:59:48 +00:00
Florin Coras
7360e3d78d session: grab worker barrier for sapi msgs
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I7cdbcfeb6f77a720e190daf9fe555320e586bba8
2020-09-18 23:15:41 +00:00
Mohammed Hawari
1f799bc3cb dpdk: prevent linking dpdk against libbsd
If libbsd is detected by the DPDK build system, DPDK does not provide
implementations for strlcpy and dynamically link against the one
provided by libbsd. When the DPDK plugin is loaded by VPP, a crash
occurs because libbsd is not loaded by VPP.

Type: fix
Change-Id: Ib691bbe27edcf0f6f0a3d39952e439027cef72cb
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
2020-09-18 22:15:25 +00:00
Dave Wallace
5cc11b1210 build: missing deb pkg on ubuntu-20.04
- The vpp build on the ubuntu-20.04 executor failed
  due to the package 'dh-python' not getting
  installed by 'make install-dep'

Type: fix

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: Id9307ad1b4e34c413d90258c6bde2aa5afafec63
2020-09-18 22:14:28 +00:00
Matthew Smith
a2bbeb848d fib: skip byte swap on n_paths in mroute details
Type: fix

While preparing to send a ip_mroute_details API message, the number
of paths for a multicast route is stored in an int in
send_ip_mroute_details(). Before the value in the int is copied into
the field n_paths in the API message, the byte order is swapped.
This results in n_paths getting set to 0.

Change the int to a u8 and omit the byte swap so API clients can
receive data on multicast route paths.

Change-Id: Ie6dcb0f7b135c5b5deeeb2e44147560dbbb12507
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2020-09-18 17:54:12 +00:00
Ole Troan
3d81267945 vat: add infrastructure to align vnet test code and plugin test code
Split vat/api_format.c also for VNET features.
Use auto-generated VAT test code and support dynamic message ID allocation as for plugins.
The arp and geneve features as Guinea pigs.

Type: improvement
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I461591496766bdf10c5f950fd30f1a0ae05909da
Signed-off-by: Ole Troan <ot@cisco.com>
2020-09-18 15:24:52 +00:00
Sergey Matov
34262d4d56 vlib: add decrement counter method
Currently there is no way to decrease simple counter. To extend
counters API new method allows to decrement counter by given value.
This might be useful in implementation of statistics stored in stats
segment.

Type: improvement

Change-Id: I7c08c62bffa6a2d50e9e2cf884f7b2d48538f34b
Signed-off-by: Sergey Matov <sergey.matov@travelping.com>
Signed-off-by: Dave Barach <dave@barachs.net>
2020-09-18 15:23:01 +00:00
Vladimir Isaev
84f3d9fba4 tap: do not use strlen on vector
sanitizer complains about strlen on hi->name in tap_dump_ifs.
hi->name is a vector which is not null-terminated, so use vec_len.

Type: fix
Signed-off-by: Vladimir Isaev <visaev@netgate.com>
Change-Id: Icdd5f65369bb51b0c4a9cd86c24899e6febd837c
2020-09-18 14:57:04 +00:00
fanyf
b8b6fe4fcc session: fix vpp exit abnormal due to application as a proxy server with ldp
Type: fix

The function of application_setup_proxy() be called when application run as a
proxy server, "app_wrk->first_segment_manager" be realloced in this function,
but variable of "sm" point original memory location.

Signed-off-by: fanyf <fanyufei521@outlook.com>
Change-Id: I753c9fb60d1c0794d5eede9f3fab48381a802e3c
2020-09-18 14:49:11 +00:00
Mohammed Hawari
4c4633cad1 dpdk: call the meson-based build instead of Makefiles
Type: feature
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Change-Id: I576d92605da6d43e9b9f12238b18a518a0d69385
2020-09-18 13:33:52 +00:00
Benoît Ganne
b6b484d01a virtio: fix txq locking
Initialize txq lock only if some txq are shared and check if another
worker is already operating on the txq before processing gro timeouts
in input node.

Type: fix

Change-Id: I89dab6c0e6eb6a7aa621fa1548b0a2c76e6c7581
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-09-18 10:40:47 +00:00
Damjan Marion
1965f750bf vpp: make main heap page size configurable from startup.conf
Type: improvement
Change-Id: I190c6896152c626aa7cb1055cfce5d9cfcd5b68b
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-09-18 09:07:32 +00:00
Damjan Marion
bdbb0c5436 stats: configurable page size
Type: improvement
Change-Id: I9973bce20a0a2a8a7e227cf96518de5b79374425
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-09-17 21:38:37 +02:00
Neale Ranns
e6b83059af teib: Use ip_address_t not ip46_address_t
Type: improvement

Change-Id: Ica75c4e43d6198658a1954640c7ac56ea68bb39a
Signed-off-by: Neale Ranns <nranns@cisco.com>
2020-09-17 14:46:07 +00:00
Damjan Marion
5ef25165b5 vlib: show FD in 'show memory map'
Type: improvement
Change-Id: I04752c011e4ca58f56aa53f6ae27bae93a5c4590
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-09-17 13:36:50 +00:00
Neale Ranns
256b67bc88 teib: Add adj-fibs for peers/adjacencies on p2mp interface
Type: fix

Change-Id: I6fdc4e952097e92ac3aa53e0be3ef99e0d801b28
Signed-off-by: Neale Ranns <nranns@cisco.com>
2020-09-17 12:55:53 +00:00
Damjan Marion
fc639ff2d7 vlib: map thread stack instead of allocating them from heap
Heap may use different page sizes so we will not be able to create
stack protection page.

Type: improvement
Change-Id: Ibb35c9f0a151c464ee0167d17f2bd773ef6f530b
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-09-17 12:38:41 +02:00
Damjan Marion
6bfd07670b vppinfra: support main heap with different page sizes
Type: improvement
Change-Id: I381fc3dec8580208d0e24637d791af69011aa83b
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-09-17 12:38:41 +02:00
Damjan Marion
c63e2a4f98 vppinfra: detect memory attributes on clib_mem_init
Type: improvement
Change-Id: I298aadfdf17d98dfb1ada1ec4f87e0821e6aeb7f
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-09-17 10:38:23 +00:00
Damjan Marion
f6e6c78807 vppinfra: allow handoff to main thread
Type: improvement
Change-Id: If2e907967c9b75997b581ff0c058bd5c15e823f5
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-09-17 09:54:56 +02:00
Florin Coras
eb801d0efe vcl: avoid heap use for ldp debug
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I798db694bdc63ae3a6e28d1908245b5ea0bfa84f
2020-09-17 00:58:46 +00:00
Steven Luong
ba3a20082d avf: wrong argument passed to avf_log_err
Type: fix

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: Ica4601c9d17e182cbc348989a9f75ab1cb18b78a
2020-09-16 23:17:11 +00:00
Damjan Marion
57d1ec00a9 vppinfra: introduce clib_mem_main
To hold more data later...

Type: improvement
Change-Id: I4006d22dcacd788988c4907f2c263fd4e4a9d398
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-09-16 21:19:51 +02:00
Benoît Ganne
33ce5e568f vpp: fix main heap init
NUMA node parsing with vlib_get_thread_core_numa() can failed on single
socket systems. Use clib_get_current_numa_node() instead as we already
pinned the main thread to the requested core.

Type: fix

Change-Id: I22339516d0305689a58584c92ded7c96eb53be39
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-09-16 17:38:42 +00:00
Steven Luong
007abe751f vmxnet3: gso fixes
outbound:
wrong header len computation
gso size and header length need to be set in the first segment of the
chain

inbound:
EOP may have zero length descriptor to terminate the chain
missing endian conversion for ethertype

Type: fix

Signed-off-by: Steven Luong <sluong@cisco.com>
Change-Id: Iaa003c0e9af3ead4df6c6c0d5772a179d2ff15c4
2020-09-16 16:54:20 +00:00
Florin Coras
cc7c88e529 vcl: refactor bapi client index for sapi reuse
Type: refactor

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ibebb6f7d4e610570693e213acd2f6d9332c563c6
2020-09-16 15:18:35 +00:00
Andrew Yourtchenko
8b0cd69d31 vppapigen: crcchecker: report in-progress messages
in-progress messages do not give any API stability guarantees,
by design, to allow easy iteration. Provide an easy way
to know which messages are in-progress.

If as a user you see "in-progress" message that you want
to use in production, please contact the feature owner
and discuss the path to removing the "in-progress" status
before that.

Change-Id: I27729995e26a70af373e642b871dbb5cc5526959
Type: improvement
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2020-09-16 13:56:15 +00:00
Yulong Pei
8c91b2ae2b crypto: Crypto set handler API to support set all as CLI
Type: improvement

Signed-off-by: Yulong Pei <yulong.pei@intel.com>
Change-Id: I43556f8c76c7aae64d9c927e1fda3c1774d7e49d
2020-09-16 13:54:28 +00:00
Mohsin Kazmi
b3a8f4e350 misc: fix the formatting style
Type: style

Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: Id86e16677564669b0295bbb9fc1303fe39a21b6f
2020-09-16 12:55:25 +00:00
Ole Troan
f916414b38 api: clean up use of deprecated flag
The syntax of the deprecated flag has evolved.
Clean up usage to be "option deprecated;".

Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: If2b639f275eb8db58b36c457f9245fe35a4d8cb1
2020-09-16 09:18:54 +00:00
Andrew Yourtchenko
62bd50de97 vppapigen: crcchecker: report deprecated messages
Report if the messages were marked as deprecated,
but not yet deleted.

Useful for building the release notes and comparing
between the releases.

Also, put the dict_compare() call into the report(),
since latter always consumes the output of the former.

Change-Id: Iceab3e94ff66da931a4669b612026bd162dd5d1a
Type: improvement
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2020-09-16 08:05:43 +00:00
jan_cavojsky
d1146f6dde flowprobe: add show commands for params and list of interfaces for recording
Type: feature
Ticket: VPP-1861

Signed-off-by: jan_cavojsky <Jan.Cavojsky@pantheon.tech>
Change-Id: Iaeff13b19a712257223a4e77893cfd9398c18327
2020-09-16 08:03:10 +00:00
Dave Barach
331016abf5 docs: improve plugin developer's guide
Topics added: disabling lightly-used, experimental, or test plugins
by default. Discourage folks from creating bihash tables, processes
etc. from VLIB_INIT_FUNCTIONs.

Type: docs

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I1235d64971e9ed50f992b75f96b77c934168276a
2020-09-16 03:43:07 +00:00
Simon Zhang
23c3d349e5 tcp: make max gso packet size configurable
Type: improvement

Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
Change-Id: I14de90f07d825c5c99023996a88173ee855e9a6f
2020-09-16 02:18:01 +00:00
Onong Tayeng
2237cc8ce1 lisp: fix lisp|one_eid_table_dump's local|remote options in vat
The local|remote options to vat's lisp|one_eid_table_dump api command
does not print the eid details instead it produces the following error
messages:

    Filter error, unknown filter: 1
    Filter error, unknown filter: 2

Type: fix
Signed-off-by: Onong Tayeng <otayeng@cisco.com>
Change-Id: I000c290b400dbf39bd883d57115923167092c9bd
2020-09-15 14:40:57 +00:00
Neale Ranns
69f77a3a3c crypto: Crypto SW Scheduler Coverity Warnings
Type: fix

Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: I7f98d0c7847ecc40b90b78e5ae83f320575be310
2020-09-15 14:39:32 +00:00
Damjan Marion
139a6ae0dd crypto-native: fix issues detected by coiverity
Type: fix
Change-Id: Id61aa407eeeb4d44cf47ed39283a0c79ed3abbee
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-09-15 11:05:50 +02:00
Yichen Wang
466872f089 build: fix the the build on centos/rhel 8
1. Remove uncessary runtime dependency;
2. Add missing build dependency;
3. Fix runtime dependency for api-python3 RPM;

Type: make

Change-Id: I2700f1a15112effba8d1527aca6467158f81f486
Signed-off-by: Yichen Wang <yicwang@cisco.com>
2020-09-15 00:19:47 -07:00
Damjan Marion
9514781064 l2: allocate l2fib only when needed
Currently l2 fib allocates 512MB hash table unconditionally on startup.
This patch postpones table creation up to the point where first
interface is put into l2 mode or mac entry is added.

In addition it reduces default table size to 128MB and increases number
of buckets 4 times. This default setting should be enough to keep 1M mac
entries.

Also, new startup.conf section is added which allows user to change memory
and bucket size. .i.e:

l2fib {
  table-size 512M
  num-buckets 524288
}

Type: improvement
Change-Id: I2a29209aa3545181f0087544c97a54d8157b6ec5
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-09-14 22:15:49 +02:00
Florin Coras
f99a7d6447 session: del app worker on socket detach
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ic904abedcd270c95e782159170d457bc396424a0
2020-09-14 19:58:18 +00:00
Neale Ranns
76770fd659 wireguard: coverity fixes
Type: fix

Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: Ib1eabbc87a573c660ac251602d631f167928259b
2020-09-14 18:58:03 +00:00
Florin Coras
935ce75cb0 vcl: add support for app socket api
To enable add "app-socket-api /path/to/socket" to vcl.conf. On vpp side, add
use-app-socket-api to session stanza in startup.conf

VPP allocates a socket per application namespace which it places in the
app_ns_sockets subfolder of the run folder (default /var/run/vpp). The
socket used implicitly selects the app namespace for the vcl app.

Type: feature

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ifc14b93dcbf6ef9bed1852d46cd069f4855b92ef
2020-09-14 14:33:50 +00:00
Florin Coras
b88de90810 vcl: cleanup bapi and wrk registration
Type: refactor

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I0391db5c3ad038265cb8ebf9de02925653e35959
2020-09-14 14:33:46 +00:00
Florin Coras
61ae056bdb session: add unix socket api for app attachment
This is an af_unix socket alternative to the binary api. To enable it,
add use-app-socket-api under session stanza in startup.conf. When the
socket api is enabled, attachments through the binary api are disabled.

The socket api only works with memfd fifo segments, i.e., shm segments
are not supported.

Type: feature

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I55ffcee201d004846daeeec85c700c7e7a578d43
2020-09-14 14:33:11 +00:00
Florin Coras
4a2c794c43 vcl: always fill buffer or drain rx fifo
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ibbe438aa6f2fe6d9f55c56ca6d3aec1a29b32cad
2020-09-14 14:24:38 +00:00
Neale Ranns
a26b0d11e9 wireguard: increase FIB source priority
Type: fix

Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: Icc1c458474d357c7d9b3b4df1897500de0c314a1
2020-09-14 13:14:43 +00:00
Ole Troan
9459d65ba4 nat: delay datastructure allocation until configured
The dslite plugin would on plugin load initialize large bihash datastructures.
Postpone until configured.

Type: improvement
Change-Id: Ie790ab8c5fc39fac18153acd54dcd051805e763a
Signed-off-by: Ole Troan <ot@cisco.com>
2020-09-14 13:06:21 +00:00
Damjan Marion
b509504e6b vppinfra: add clib_log2_page_sz and format/unformat functions
Type: improvement
Change-Id: Ie44dbf9396cfed19dba153810b7bd76ce5377cd4
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-09-14 14:04:06 +02:00