9900 Commits

Author SHA1 Message Date
Andrew Yourtchenko
9dab7b9416 misc: Initial changes for stable/2101 branch
Change-Id: Iff6360ced87bdded50ad3aa4a028d5373bac3e1d
Type: docs
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
v21.01-rc1
2020-12-16 12:36:48 +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
Jerome Tollet
6cbb111086 l2: add l2 learn limit tests
Add a couple of tests to check l2bd learn limit behaviour

Type: test

Signed-off-by: Jerome Tollet <jtollet@cisco.com>
Change-Id: Iee16c81e5bb41066e3d6446d0e6ea4f389241270
2020-12-16 08:13:42 +00:00
Ole Tr�an
58a6e77252 api: crchcecker ignore version < 1.0.0 and outside of src directory
This reverts commit 510aaa8911843206f7b9ff48b41e3c7b8c4a99fe.

Reason for revert: failed in case of no api file in changeset.

Change-Id: I2c6f01b25a35128df870418eef0008766bb590df
Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
2020-12-15 16:04:03 +00:00
Alexander Chernavin
3dcf795cf0 nat: set out2in-dpo during plugin enabling
Type: fix
Change-Id: Ie41e2fb9393bf63099519150bb158b830d2c0d87
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
2020-12-15 16:03:13 +00:00
Andrew Yourtchenko
c06fe76054 build: add Steven as maintainer for l2 and vxlan
Change-Id: If7a9edf328bd2dc943246f491bf34a740edfb056
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Type: make
2020-12-15 15:36:39 +00:00
Jon Loeliger
5c1e48c01b classify: add pcap/trace classfier mgmt API calls
Add lookup/get/set API calls to manage both PCAP and Trace
filtering Classifier tables.

The "lookup" call may be used to identify a Classifier table
within a chain of tables taht matches a particular mask vector.
For efficiency, this call should be used to determine to which
table a match vector should be added.

The "get" calls return the first table within a chain (either
a PCAP or the Trace) set of tables.  The "set" call may be
used to add a new table to one such chain.  If the "sort_masks"
flag is set, the tables within the chain are ordered such that
the most-specific mask is first, and the least-specific mask
is last.  A call that "sets" a chain to ~0 will delete and free
all the tables with a chain.

The PCAP filters are per-interface, with "local0", (that is,
sw_if_index == 0) holding the system-wide PCAP filter.

The Classifier used a reference-counted "set" for each PCAP
or trace filter that it stored.  The ref counts were not used,
and the vector of tables was only used temporarily to establish
a sorted order for tables based on masks.  None of that
complexity was actually warranted, and where it was used,
the same could be achieved more simply.

Type: refactor

Signed-off-by: Jon Loeliger <jdl@netgate.com>
Change-Id: Icc56116cca91b91c631ca0628e814fb53f3677d2
2020-12-15 15:14:05 +00:00
Ole Troan
510aaa8911 api: crchcecker ignore version < 1.0.0 and outside of src directory
- For check patchset ignore files outside of src directory
- For check patchset ignore files that have version < 1.0.0
- fix Pylint warnings
- Modify vppapigen_crc to include version in JSON output

Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I93f7bebeeaeedc19b2b1e5e135ea1035517d7f76
Signed-off-by: Ole Troan <ot@cisco.com>
2020-12-15 14:03:44 +00:00
Paul Vinciguerra
49d601a70f build: stop trying to build py2 versions of vpp_papi
Python2 was EOL's in Jan 2020.
RHEL6 was EOL'd in Nov 2020.

Type: fix

Change-Id: Id6910258cfe808c1e6a8fe16334c23d7991509dc
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-12-14 21:54:17 +00:00
Benoît Ganne
6ff0dfa7a2 ikev2: add reason for deleted sa debug log
Type: improvement

Change-Id: If991165406d10d877aa6c7b2a03b4b741272928c
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-12-14 21:53:08 +00:00
Benoît Ganne
1474ab355f ikev2: fix show ikev2 profile
format_ip_address() to display {local,remote}_id does not work because
we do not store ip_address_t but ip{4,6}_address_t, hence we lack the
ip_address_family_t version field.
Update format_ikev2_id_type_and_data() to support all types and use it
instead.

Type: fix

Change-Id: I7a81beb0b22fcf1c5d1bf03a32a6cc4f030f4361
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-12-14 21:51:06 +00:00
Florin Coras
506aa3c93c session: free segment manager only from main
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Idb62154191e85651263be9ae116dd87b93e3a140
2020-12-14 21:48:49 +00:00
Jerome Tollet
df5fbf6b90 build: update ctags --tag-relative option used in make ctags
Type: fix

Exhuberant ctags --tag-relative expects =[yes|no]

Signed-off-by: Jerome Tollet <jtollet@cisco.com>
Change-Id: Ic60b7014508d5c8c286f85f26e9eb0bdc0e90aa5
2020-12-14 15:57:27 +00:00
Damjan Marion
f0ca1e8d92 misc: refactor clib_bitmap_foreach macro
Type: refactor
Change-Id: I077110e1a422722e20aa546a6f3224c06ab0cde5
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-12-14 12:14:21 +00:00
Damjan Marion
b2c31b685f misc: move to new pool_foreach macros
Type: refactor
Change-Id: Ie67dc579e88132ddb1ee4a34cb69f96920101772
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-12-14 12:14:21 +00:00
Damjan Marion
62c25abaa3 vppinfra: simpler and faster pool_foreach
- reduces number of instructions generated 4 times compared to old code
 - adds pool_foreach2 which is more friendly to clang-format

Type: improvement

Change-Id: I51e9c7fb09655c60d883987dadf5b2666c12b3f7
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-12-14 12:14:21 +00:00
Paul Vinciguerra
dc01471be7 api: add missing version info
Type: fix

Change-Id: I269214e3eae72e837f25ee61d714556d976d410f
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-12-14 01:34:51 +00:00
Damjan Marion
5e6d547798 nat: revert 'fix byte order on ipfix message fields'
This reverts commit bfba2d555331ce67f707e608877e96dbd2aacd80.

Reason for revert: breaks test test_nat44.TestNAT44.test_ipfix_max_sessions

Change-Id: I6eed4d02835ab792e7e3491fc14240cc88a86710
Type: fix
Signed-off-by: Damjan Marion <damarion@cisco.com>
2020-12-13 11:46:58 +00:00
Fan Zhang
f0419a0c85 dpdk: bump to dpdk 20.11
Type: feature

This patch bumps DPDK to 20.11. In addtion a few changes are
made:

- Changed dynamic rx offload flag display.
- Updated deprecating options.

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Change-Id: I6e4399d551a7eb8e1a9fc9ef6e39e74266450ad4
2020-12-11 23:34:48 +00:00
Stanislav Zaikin
938af5e271 pppoe: fix VLIB_RX into the pppoe-input node
Previously, RX interface for PPPoE packets was set as the original interface.
Now it is set as corresponding PPPoE interface in the "pppoe-input" node.

We need to do it because otherwise IP or other settings won't be working onto the PPPoE interface (only on original rx interface).

Type: fix

Signed-off-by: Stanislav Zaikin <zstaseg@gmail.com>
Change-Id: If9cc37608aa5fe685b8278dd99b819b7eddc6c38
2020-12-11 23:31:49 +00:00
PiotrX Kleski
b801cd1b31 ip: ip4 rewrite prefetch optimization
Type: improvement

ip4_rewrite_inline_with_gso() did vlib_prefetch_buffer_header() for all nodes.
However it is not necessary for ip-rewrite, it is only needed by ip-midchain.

This patch makes ip4-rewrite prefetches less buffers to save cycles.

Signed-off-by: PiotrX Kleski <piotrx.kleski@intel.com>
Change-Id: Ib82dcb0eda4a2d1d7b8d664f2224d49b72aef50f
2020-12-11 23:29:59 +00:00
Benoît Ganne
32526a42c5 virtio: fix vrings overflow in vhost_user
Type: fix

Change-Id: I7ca955882c0e263a9ace4b14021e51488564e411
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2020-12-11 23:27:54 +00:00
Ole Troan
793be46324 api: fromjson/tojson enum flag support
Represent enum flags as JSON arrays (as these can have multiple values).
Add unit tests.

Type: improvement
Change-Id: I680c5b6f76ef6f05f360e2f3b9c4cbb927e15d7d
Signed-off-by: Ole Troan <ot@cisco.com>
2020-12-11 22:54:09 +00:00
Paul Vinciguerra
6c8cdf78b4 misc: cop - clean up stray doxygen block
Type: style

Change-Id: Iee9463735c4d114a97e6167d717d1911c4477e70
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-12-11 21:59:08 +00:00
Matthew Smith
bfba2d5553 nat: fix byte order on ipfix message fields
Type: fix

The code for quota exceeded events is a u32 and was being copied
into ipfix packets in host byte order. Same for the limit field.

Swap the order before copying into packet buffer.

Change-Id: I881766e1c52acc9bebde38d85228fa492214ee21
Signed-off-by: Matthew Smith <mgsmith@netgate.com>
2020-12-11 20:03:32 +00:00
Neale Ranns
a8ebb51844 fib: remove unsued path flag
Type: refactor

Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Change-Id: Ic4ef53f49102d7b5061f1b6d3a1d0c8427b9d1f7
2020-12-11 08:12:02 +00:00
Neale Ranns
a705f7171b fib: Remove unused BIER variables
Type: refactor

Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Change-Id: Idf17c3c02fb77fcadf69a9164abd4da35289aaed
2020-12-11 08:11:45 +00:00
Tetsuya Murakami
ddba67054a srv6-mobile: Fix the position of QFI
Type: fix

Signed-off-by: Tetsuya Murakami <tetsuya.mrk@gmail.com>
Change-Id: Ica02435c4bc198fb6c4b9e4b62a287e47689ae7a
Signed-off-by: Tetsuya Murakami <tetsuya.mrk@gmail.com>
2020-12-11 08:06:57 +00:00
wanghanlin
785b6ea80c vcl: fix listener session close problem
Type: fix

Signed-off-by: wanghanlin <wanghanlin@corp.netease.com>
Change-Id: I34ac04f05b84b271679aafc253f1606f11e29835
2020-12-11 02:24:36 +00:00
wanghanlin
492350ee64 vcl: fix crash problem for invalidation of vls_table_lock
Type: fix

Signed-off-by: wanghanlin <wanghanlin@corp.netease.com>
Change-Id: I0649f4d5adb5fa5b407431ea23982f2ad87fb657
2020-12-11 02:10:55 +00:00
Elias Rudberg
7184571810 tests: check ethernet type in arp test case
Add assertions to verify correct ethernet type field in ARP test case.

Type: test

Signed-off-by: Elias Rudberg <elias.rudberg@bahnhof.net>
Change-Id: I1d2671b0ab2b4dcb53dab4b54bf93578d6bc86a3
2020-12-10 18:34:18 +00:00
Ole Troan
791c2061ae api: remove unused singular option
The singular option to the API language was added as a way to deal with messages
that do not have a reply message. Examples in memclnt.api.
Instead dealt with these messages using the service {} construct.

Type: refactor
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: If01b390b24b7539d1f93de4b8edfe1dad08e509d
2020-12-10 17:23:37 +00:00
Christian Hopps
b71653e9a8 misc: add a couple useful functions for gdb
- vgb() (vlib_get_buffer)
- ph() (pool_header)

Type: feature
Signed-off-by: Christian Hopps <chopps@labn.net>
Change-Id: Ica954480a7809c918cf65b06a0333ebe246a6f3a
2020-12-10 12:59:27 +00:00
nandfan
1f3112e716 hsa: http proxy connected callback fixes
svm_fifo_init_ooo_lookup has been called by transport

Type: fix

Signed-off-by: nandfan <fanyufei521@outlook.com>
Change-Id: I6626421c9a71212be0f7b8bff953133f760811f6
2020-12-10 03:15:39 +00:00
Dave Wallace
1722da7397 bash: Update jjb version in jjb-sandbox-env function
- The version of jjb deployed in jenkins.fd.io was
  upgraded to 3.5.0. Make the sandbox setup function
  use the same version.

Type: fix

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I486faffc6b5a0cce7425dd526adf9dbc034b2d85
2020-12-09 19:42:57 +00:00
Mohammed Hawari
33c45f56ab fib: supporting inner flow hash on tunnels
Change-Id: I53011e089bfecb08483792029b534b09b9e33a10
Type: improvement
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
2020-12-09 08:40:50 +00:00
Filip Tehlar
027d813a50 ikev2: test responder behind NAT
Type: test
Ticket: VPP-1903

Change-Id: I7fab6931833d6e253b7b921172825387302d8f70
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2020-12-09 08:12:09 +00:00
Dave Wallace
1affb31ef5 build: fix centos-8 'make install-deps' enable PowerTools repo
- The name of the powertools repo was changed [0]
  in centos-8 from 'PowerTools' to 'powertools'.
  Retrieve the correct name from 'dnf repolist all'
  instead of hard coding it.

[0] b759b17557

Type: fix

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: Ic1402e671eb1d70dec429bab82ad18d8251f4eef
2020-12-08 20:39:07 +00:00
Paul Vinciguerra
bb3befceee tests: restore vapi C++ test under Centos-8
The Centos-7 compiler had problems with vapi_cpp_test.cpp.
The Centos-8 compiler does not.  This change adds back the test.

==============================================================================
VAPI test
==============================================================================
run C VAPI tests                                                     1.55 OK
run C++ VAPI tests                                                   0.44 OK

==============================================================================
TEST RESULTS:
     Scheduled tests: 2
      Executed tests: 2
        Passed tests: 2
==============================================================================

Type: test

Change-Id: Ic6a655ae99eb3ba0e73b7feef4436a0ca5fd92be
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-12-08 20:04:17 +00:00
Neale Ranns
5c544c8c3e fib: Adjacency flag for midchain to perfom flow hash (on inner packet)
Type: feature

Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Change-Id: I964afd9266645de5c87d49c58ce6b48c2c18f97f
2020-12-08 16:38:19 +00:00
Mohammed Hawari
59b792ffb1 tunnel: add cli support for encap_decap flags
Change-Id: I2bf6ba325975309183dba1e14e9519c944710752
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Type: improvement
2020-12-08 16:38:01 +00:00
Florin Coras
d2fb601022 svm: fix ssvm_va for private segments
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I8288a1ed97b375626d69ac7efa0256211834d89c
2020-12-08 15:29:38 +00:00
Mohammed Hawari
8b55261e95 ipip: correct ipip_cli.c indentation
Change-Id: I162061f83a190723c3b4b5585717851c4b9ba255
Signed-off-by: Mohammed Hawari <mohammed@hawari.fr>
Type: fix
2020-12-08 12:11:00 +00:00
Paul Vinciguerra
9c5dd2591c papi: remove old client reference
deprecated in 3/19

Type: refactor

Change-Id: Ia8eebaa0cd89d1e95166a62645400946d8db2f75
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
2020-12-08 09:02:58 +00:00
Alexander Chernavin
f6cf57ceb9 misc: fix api in ipfix_classify_table_add/details
In ipfix_classify_table_add_del and ipfix_classify_table_details the
ip_version field has vl_api_address_family_t type. However, there is
no encode/decode for the field in the IPFIX API. Moreover, the IPFIX
code expects the field to contain raw 4 or 6 to indicate the IP
version.

With this change, encode/decode the ip_version field in the IPFIX
API. Also, stop converting transport_protocol between host and network
byte order because it's u8.

Type: fix
Signed-off-by: Alexander Chernavin <achernavin@netgate.com>
Change-Id: I4051756b8077b4367dd779cb555a34f74f6d7a9d
2020-12-08 09:01:59 +00:00
Neale Ranns
e2fe097424 fib: Source Address Selection
Type: feature

Use the FIB to provide SAS (in so far as it is today)
 - Use the glean adjacency as the record of the connected prefixes
 = there's a glean per-{interface, protocol, connected-prefix}
 - Keep the glean up to date with whatever the recieve host prefix is
(since it can change)

Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Change-Id: I0f3dd1edb1f3fc965af1c7c586709028eb9cdeac
2020-12-08 09:00:24 +00:00
Elias Rudberg
9b8cb50824 nat: avoid hairpinning infinite loop problem
Fix in nat44 hairpinning code to check if anything was actually
changed in the snat_hairpinning() routine, and return 0 if nothing
changed. This helps avoid an infinite loop repeating the three
nodes nat44-hairpinning-->ip4-lookup-->ip4-local in case there
was no change. Also add a corresponding test case.

Type: fix

Signed-off-by: Elias Rudberg <elias.rudberg@bahnhof.net>
Change-Id: I95f48476bd002ac4c6789afe504681f1963e5d38
Signed-off-by: Elias Rudberg <elias.rudberg@bahnhof.net>
2020-12-08 08:49:24 +00:00