Commit Graph

9438 Commits

Author SHA1 Message Date
Nathan Skrzypczak ce25b60de5 cnat: Introduce parametric source policy
Type: feature

Change-Id: I60ae9dd1c100b587d1902a20596b99a5c8a95df7
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2020-09-25 19:55:39 +00:00
Nathan Skrzypczak 613b2c3c78 cnat: Add support for SNat ICMP
Type: feature

snat supports :
* echo request/reply by allocating an identifier
when translating echo requests
* icmp errors in the same manner as dnat

Change-Id: I684e983b0181f95c5eace5a984d40084e5625fa4
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2020-09-25 19:55:39 +00:00
Nathan Skrzypczak ece39214bc cnat: Ip ICMP error support
Type: feature

Add CNAT translation for ICMP 4 & 6 errors
inner packet will be translated according
to existing sessions.

Change-Id: If118751988f44ef96b800878596296d1ab8ab6f8
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2020-09-25 19:55:39 +00:00
Jon Loeliger 277d402bee docs: fix typo in bihash clib_bihash_search() documentation
Type: docs

Change-Id: Ic8c628141f8a24b857a654e2ea9129f5f97807b6
Signed-off-by: Jon Loeliger <jdl@netgate.com>
2020-09-25 15:49:04 +00:00
Dave Barach 18f0d3e782 vppinfra: dont complain about linux-vdso.so.1
It's not an elf file, yadda yadda.

Type: fix
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Ie02a058adab1068260d9baa0a19398dab8d912d1
2020-09-25 15:31:33 +00:00
Florin Coras 6b6c10be05 vppinfra session: file platform independent private data
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Id43b0b6db2b42ee5801236df0bd7f7225e1e081c
2020-09-25 14:46:38 +00:00
Klement Sekera 9d211500a4 bfd: add missing unlock
Thanks to Martin Sustrik for spotting the bug introduced by a316744
and submitting the fix.

Type: fix
Signed-off-by: Klement Sekera <ksekera@cisco.com>
Change-Id: I4984fc32503b0c7b6db3543834dfbbfed2a1f23c
2020-09-25 13:25:47 +00:00
Damjan Marion 561ae5d17b vppinfra: add clib_mem_set_numa_affinity()
Type: improvement
Change-Id: I81a7fb71c8ce0c0d22e326a4ddd01bc1c1aea5f7
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-09-25 12:33:07 +00:00
Mohsin Kazmi 03b2695f17 virtio: refactor tx trace
Type: refactor

Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: I37fef2c32d0561b944b201a1012b87c7ac315e73
2020-09-24 16:47:37 +00:00
Artem Glazychev 4977434354 wireguard: coverity fix
Type: fix

Change-Id: Ib69b9d83a77d315368ce091085b6bc2d26994282
Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
2020-09-24 11:19:10 +00:00
Mohsin Kazmi dcf512adcd vlib: fix the last error
Type: fix

Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Change-Id: I788678d85dfa1d5b99497013806047440028eb97
2020-09-24 11:17:24 +00:00
Dave Wallace 17569cbeb2 build: fix missing openssl package on debian-10
- libssl-dev missing on debian-10 breaks
  'make install-ext-deps'

Type: fix

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: Ib6a6f120147e8ae0dcfead6fae9f0a7a3434d687
2020-09-24 11:15:38 +00:00
Florin Coras 7bf6ed6626 session tcp udp tls quic: improve cli formatting
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Iae5dbb8aaaf82d8e95c2ee8bbbe6844c9dd49f80
2020-09-24 01:27:04 +00:00
Florin Coras 1c0573da27 session: fix sapi coverity warning
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ib00ac02eabb06a300d01697b89d97b26dd3c4330
2020-09-23 22:15:17 +00:00
Dave Wallace a079844cf0 build: fix fts.py to run on debian-9/python3.5
Type: fix

Change-Id: I1404e73dd2ee62b51746e9f4760c7c3ca3b5989e
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2020-09-23 11:48:03 -04:00
Damjan Marion 2de5fc03ff ip: use main heap for mtrie, part 2 (remove args)
Type: improvement
Change-Id: I8c28c845c75657852f1e513e2832771fad6b90b7
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-09-23 14:55:56 +00:00
Vladimir Isaev e85aa4c46a lldp: fix format string for hw->name
Sanitizer found it. hw->name is not null terminated vector.
So use '%v' for it.

Type: fix
Signed-off-by: Vladimir Isaev <visaev@netgate.com>
Change-Id: Idea16b33d33b371f5b6f6ab403edd0b4860c95f2
2020-09-23 13:31:05 +00:00
Nathan Skrzypczak d63f73b839 cnat: Disable default scanner process
Type: feature

Change-Id: Iba9d9f384eaa35c5522e828e3cbe4516416294db
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
2020-09-23 12:02:12 +00:00
Artem Glazychev 8eb69407c8 wireguard: add handoff node
All timer and control plane functions happen from main thread

Type: fix

Change-Id: I4fc333c644485cd17e6f426493feef91688d9b24
Signed-off-by: Artem Glazychev <artem.glazychev@xored.com>
2020-09-23 10:11:13 +00:00
Andrew Yourtchenko 6a3d4cc9a1 vppapigen: crcchecker: harmonize the in_progress marking
The format for deprecation is "option deprecated" now,
so harmonize the in-progress marking to logically be
"option in_progress"

At the same time recognize the legacy/erroneous
types of marking, print the warning.

Change-Id: If418dfadd69ffb112550164d63d13420e51cefd7
Type: fix
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2020-09-23 08:09:54 +00:00
jiangxiaoming 5b7ea9122e tls: fix session format assert crash in connected callback
Type: fix
Signed-off-by: jiangxiaoming <jiangxiaoming@outlook.com>
Change-Id: I61b7988bf6a49a51041bc6085d5f0f4689ff45a6
2020-09-23 04:45:49 +00:00
Neale Ranns ae0d46ee6f ipip: Add option to tunnel create help string
Type: style

Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: I3703b9a882b7577025f495d500daf08a916891b9
2020-09-22 20:02:47 +00:00
Andrew Yourtchenko bc31247c92 build: allow for rc3/rc4 style tags
Historically, there was only rc1/rc2 tags, fix in case we tag
rc3/rc4 during longer release windows.

Type: fix
Change-Id: I4243a1c03663a877f96a06d647e89adb74abd977
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2020-09-22 17:38:26 +00:00
Neale Ranns 2b202bc4b2 lisp: Move to plugin
Type: refactor

Change-Id: I54df533a8f863c4e49742903cf2457f18b4fc506
Signed-off-by: Neale Ranns <nranns@cisco.com>
2020-09-22 16:01:29 +00:00
Neale Ranns b468773aa4 vxlan-gbp: Mark APIs as in-progress
Type: fix

The GBP plugin that uses this module is also in-ptogress, hence so is
this module.

Signed-off-by: Neale Ranns <nranns@cisco.com>
Change-Id: I3cb5dd124afac05da013d92d67b2abf6cdf9b769
2020-09-22 12:22:32 +00:00
Yulong Pei 6816c3b3df crypto: revert crypto set handler all API
This reverts commit 8c91b2ae2b,
but keep a comment fix.

Type: fix

Signed-off-by: Yulong Pei <yulong.pei@intel.com>
Change-Id: Ia66941bf18d3efac96f41bdf905d877cfb3ab211
2020-09-21 17:50:39 -07:00
Florin Coras db999df788 session: use wrk instead of thread index in node
Type: refactor

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ia36d86eb108f0651fc3af8b4dbdc2d0b49e283da
2020-09-21 10:53:15 -07:00
Neale Ranns 3a6adc52fe geneve: Move to plugin
Type: refactor

Change-Id: I613bf4d6517591351b212bfe6c8d93abf235f5dc
Signed-off-by: Neale Ranns <nranns@cisco.com>
2020-09-21 17:04:13 +00:00
Neale Ranns 6810a77da3 misc: Move l2tp to plugin
Type: refactor

Change-Id: Ifb36eeb146b87e9e305881429d32d6879e955e1e
Signed-off-by: Neale Ranns <nranns@cisco.com>
2020-09-21 17:03:52 +00:00
Neale Ranns 3f9fdd9846 lldp: Move to plugin
Type: refactor

Change-Id: Ifd770ff4850e63474bf4682ad463021b03786b4b
Signed-off-by: Neale Ranns <nranns@cisco.com>
2020-09-21 15:34:56 +00:00
Matthew Smith 4b1b13315a vrrp: set up multicast for both address families
Type: fix

When a VR is added, multicast accept routes are added which allow
inbound packets sent to the VRRP group address on the interface of the
VR so advertisements from peers can be received. If this is the first
VR added, also add a local forward route for the VRRP group address so
the packets will be processed by the VRRP input nodes.

When deciding whether to add/delete the local forward route, the total
number of VRs configured was being checked. If there are no VRs
configured initially and a VR is added for IPv4, this check would
correctly see that this was the first VR and add an IPv4 route. If an
IPv6 VR was configured subsequently, this check would find that a VR
was already configured and incorrectly decide that no route needed to
be added and IPv6 VRRP advertisements from peers would be dropped
as a result. The opposite would occur if you first added an IPv6 VR
followed by adding an IPv4 VR - whichever address family was added
first would work correctly and the other one would not work.

Since a route is needed for each address family, check on the per
address family count of VRs when deciding whether to add/delete the
local forward route instead of checking on the global count of VRs.

Change-Id: I851a7ef8a4f9e4e370d08b0832284a13387eb083
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2020-09-21 15:12:49 +00:00
Damjan Marion 8157a161c6 ip: use main heap for mtrie
Main heap can be hugepage backed so it is more efficient to use
main heap instead of allocating special heap just for mtrie....

Type: improvement
Change-Id: I210912ab8567c043205ddfc10fdcfde9a0fa7757
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-09-21 14:04:19 +00:00
Andrew Yourtchenko 88caf28354 acl: remove custom ACL-plugin heap
Custom ACL-plugin heap was useful in early stages,
but it interferes with other infra optimizations.
Remove it and use global heap.

Change-Id: I2300548f1d1798dec27bc5a2a41cf37f9fcda95d
Type: improvement
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2020-09-21 13:58:20 +00:00
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