Compare commits

...

47 Commits

Author SHA1 Message Date
Benoît Ganne
2ef2ac780e ipsec: fix AES CBC IV generation (CVE-2022-46397)
For AES-CBC, the IV must be unpredictable (see NIST SP800-38a Appendix
C). Chaining IVs like is done by ipsecmb and native backends for the
VNET_CRYPTO_OP_FLAG_INIT_IV is fully predictable.
Encrypt a counter as part of the message, making the (predictable)
counter-generated IV unpredictable.

Fixes: VPP-2037
Type: fix

Change-Id: If4f192d62bf97dda553e7573331c75efa11822ae
Signed-off-by: Benoît Ganne <bganne@cisco.com>
2023-02-07 18:30:24 +01:00
Benoît Ganne
bb25fbf28c rdma: fix rdma-core install
We should not install symlinks to local build directory.

Type: fix

Change-Id: I81e624dd5775ec9c5dd8c58f578ee51c5acfef73
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit 521a9f8eb9d35d2d8783175b89821c6a157237ca)
2021-11-30 21:09:30 +00:00
Dave Wallace
90e6edf15c build: Remove boost dependencies from VOM
- VOM was deprecated in VPP 21.06, but the boost library
  dependencies did not get cleaned up.

Type: make

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I0fb860a7a37676c1a1a0981c91f383882d9a820a
(cherry picked from commit bfcd23968246086b5b884f7df1e78adb1a059724)
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2021-11-30 16:01:41 -05:00
Fan Zhang
bb7418cf9b dpdk: fix missing symbol
Type: fix

This patch fixes the missing symbol of dpdk_plugin.so when
creating symmetric key. The solution is to add dependency
of libssl to dpdk cryptodev and disable cryptodev engine
when libssl is not presented.

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Change-Id: I30aa6e3e3af1faefa82883bad613e1d82235a2ec
(cherry picked from commit 3f3da0d27dcf83808f2691205b891a42ac2b4679)
2021-07-07 08:58:27 +00:00
Andrew Yourtchenko
fc83f8cc67 misc: 21.06 Release Notes
Change-Id: Iedd1263a971e50aceb2d579982484dd8873814dc
Type: docs
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2021-06-30 13:11:13 +00:00
Florin Coras
3001c0344e session: free ctrl event data on connect rpc
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I56c4682aef59ed0e69073f9001341c425e65bd48
(cherry picked from commit 595724a49072b30356e365ce78a3cc815980d342)
2021-06-29 21:26:59 +00:00
wanghanlin
f68dcb720c vcl: Don't use app_socket_api to notify VPP in parent when child exited
Type: fix

Signed-off-by: wanghanlin <wanghanlin@corp.netease.com>
Change-Id: Icd2fc3cc2d0a0a6060abfb262044cf9e09ab4ba2
(cherry picked from commit b940fd4d5a16b62a5aa09b924140a135fd06c6bb)
2021-06-29 18:49:15 +00:00
Florin Coras
803ac6389d vcl: epoll fix postponed evt handling
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I3d208f8ef4638e7557929f4b2bca4d640af85baa
(cherry picked from commit 87f7600dd67debf68d1236395cefdc5d6e7484fb)
2021-06-29 14:32:18 +00:00
Arthur de Kerhor
e19fef7c88 stats: fix race conditions in vpp-api stats client
Type: fix

Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: Ie5c197f6ec0d41d5e405b22662701d83ad94d29e
(cherry picked from commit c9ae8cfaccd75fbc2dc27bdebccdbd14fc0cb60c)
2021-06-25 08:35:55 -04:00
Florin Coras
c5111d4fa0 session: avoid reordering unlisten and connect msg
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ibe32f7965f8cf457c39845713b029c8a4647ee55
(cherry picked from commit c53eb72931bc8c75204141f3952ac7682f0ae697)
2021-06-22 23:31:20 +00:00
Dave Barach
0a4b9ad148 vlib: fix coverity warning
Type: fix

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: Ib563e2c09d46cc26fb983ffde3d5fcb88166f6a5
(cherry picked from commit bfb9a66fab43e935772806e9d2f6b0ecf7146d67)
2021-06-21 18:45:11 +00:00
Florin Coras
1cb93827f9 vcl: fix worker cleanup
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I575068df56623f24c0290fa42b8d301548a089d4
(cherry picked from commit cba215dad3101c6b03483c5c40f806903de8460d)
2021-06-17 19:23:04 +00:00
jxm
d1fd73a93d tls: increase engine bits room in handle to support custom engine type
Type: improvement
Signed-off-by: jxm <jiangxiaoming@outlook.com>
Change-Id: I80a51e841f9727b68d1de713b6b6d51675ef53c5
(cherry picked from commit 975fde82b11307180b3df7dc9b5b1b496f207a08)
2021-06-17 17:41:39 +00:00
Florin Coras
a95292ffdb vcl: fix fifo sharing
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Iec1fe8315a057214901250d5fb06d1c1e33dda46
(cherry picked from commit 8eb8d50ecfd7507aae340cb05a0fb07a790e4303)
2021-06-16 23:25:44 +00:00
Florin Coras
8b297dbceb session: fix listener ct transport retrieval on accept
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ied2608e7a28c59c908803ca676abbe93072fadb8
(cherry picked from commit ba02641cc7a27ff02aca65036ffc4bd003497f0b)
2021-06-14 19:46:02 +00:00
Florin Coras
a34aad732b tcp: fix proto in port reuse check
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I338e61654a62ed6308ecd8bb15e1a8b13cd859b9
(cherry picked from commit 41a6fbada173b2733ca3b43bf620d6a9634c50da)
2021-06-14 15:54:10 +00:00
Dave Barach
6b6f413b5c vlib: fix dangling reference in node_by_name hash
When recycling a debug CLI process node, unix_cli_file_add() needs to
delete and recreate the related node_by_name hash table entry.

Type: fix

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I635da4918509d5b22eae37627c2d9b3608380ca6
(cherry picked from commit 52c33d60bc63626d400067e38ab0af312fdb8594)
2021-06-13 17:43:18 +00:00
Damjan Marion
6510663c7a memif: fix crash with zero-copy slave
Type: fix
Change-Id: I456cc0b0a6f2dc32b14791baf9d4a7f67279e8df
Signed-off-by: Damjan Marion <damarion@cisco.com>
2021-06-11 17:38:03 +00:00
Florin Coras
3558a9a0ba session: half-open free only on main thread
TCP and (D)TLS clean up half-opens on main without a lock/barrier so
cleanup initiated from first worker, e.g., cut-throughs, can corrupt the
session pool.

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I2e5162831c0e201b22454f17fe55bfac44b85fa9
(cherry picked from commit 6bd54caf46aaa68dddbae6161688d428ce60550b)
2021-06-11 16:16:24 +00:00
Dave Barach
7dabce4024 docs: cleanup, remove stale material
Point https://fd.io/docs/vpp/master/links/index.html at docs.fd.io/vpp
instead of at one specific stale release

Remove https://fd.io/docs/vpp/master/featuresbyrelease/index.html

Remove https://fd.io/docs/vpp/master/events/index.html

Remove dead projects from
https://fd.io/docs/vpp/master/relatedprojects/index.html

Remove unsupported distros from
https://fd.io/docs/vpp/master/whatisvpp/supported.html

Reduce (doxygen) list of test framework doc files to actively
supported releases

Type: docs

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I179966fbbe09ac123e5f2647787a8dea93190b5c
(cherry picked from commit 3db2c670a157b8bf2daccf77a872c154f88f6d0a)
2021-06-11 14:00:42 +00:00
Florin Coras
50797cda3a vcl: touch fifo on epoll del only if session open
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I0971c18a183319d09486459b0da08d44ce38acef
(cherry picked from commit f1ddeeb15555e783a9cb0133d4f8eb9c40852ab5)
2021-06-10 17:53:50 +00:00
Benoît Ganne
d0f23a3164 fib: make sure dpo is valid even when path pool expands
The path pool can expand during in fib_path_attached_next_hop_get_adj()
when calling adj_nbr_add_or_lock(). If dpo points to a path->fp_dpo, its
reference becomes stale.
Use a temporary copy instead.

Type: fix

Change-Id: Ie966cb5f3f7b416425964dca12f1f586bfc2010c
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit e9d7b0982d7bd189097260b6581abff472da251a)
2021-06-09 15:16:10 +00:00
Benoît Ganne
655c377607 fib: make sure adj is valid during walk
The adj can be deleted during fib_walk_sync(), make sure it can happen
only after clearing the SYNC_WALK_ACTIVE flag.

Type: fix

Change-Id: I68be00e9602e2783d9dced71c51547c38b7e8a00
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit 9f10edbb46dc1937ed99469a581723cb1ac1ff45)
2021-06-09 15:14:48 +00:00
Benoît Ganne
6ac910e0d6 ipsec: fix crypto ops in esp decrypt
When both chained and non-chained buffers are processed in the same
vector, make sure the non-chained buffers are processed as non-chained
crypto ops.

Type: fix

Change-Id: I19fc02c25a0d5e2e8a1342e2b88bbae3fe92862f
Signed-off-by: Benoît Ganne <bganne@cisco.com>
(cherry picked from commit e631ece4aa32b33651ed458200ab551ffb8fbb47)
2021-06-09 12:18:52 +00:00
Dave Barach
f9d10e7dd5 vppinfra: pool_free_elts() now supports fixed-size pools
Test added to the unittest plugin / test_vlib.py

Type: improvement
Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I73445e57918347c102ff6f5e8c9ddb9bd96f1407
(cherry picked from commit 4de5f9be88857197ddf17e3bff66318f78f4b6bb)
2021-06-08 15:24:29 +00:00
Florin Coras
e9b33fcbde vcl: avoid multiple reads on peek
Only try once and return what was found.

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I50b1d26babf1b7431d36f6b7472a1fb01475bb35
(cherry picked from commit 233683180638d1c7f517b713722cbbeb3b4be86e)
2021-06-07 21:31:53 +00:00
Florin Coras
b635851ee2 vcl: avoid updating errno on ldp init check
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I7f5887865aa29c9881b5063be1d7d42369a493c1
2021-06-07 21:31:36 +00:00
Simon Zhang
dd6fe0c539 tls: change picotls plugin crypto module to accommodate new version picotls
Type: fix

Change-Id: I58931e235535be7d596ca578790f389b64a4fbd2
Signed-off-by: Simon Zhang <yuwei1.zhang@intel.com>
(cherry picked from commit 778b3186fc911af2aabbbfbf56bc1df5e2373061)
2021-06-07 21:31:18 +00:00
Florin Coras
53af06a214 vcl: accept zero length writes
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I84985f59274e77219a38ea6ac865fc73ac635d72
(cherry picked from commit 0b0d28e9bf1ea078ce1a846d22e499d13eadd464)
2021-06-07 21:25:49 +00:00
Florin Coras
2fea186aee vcl: epoll error handling fixes and improvements
- return VPPCOM_EEXIST if attempting to re-add a session
- return VPPCOM_ENOENT if the session to be removed is not epolled
- generate EPOLLIN if adding it through a mod operation on a session
that has data and did not have the event previously set.

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I728a06b8cf84af8d8c1dea7406e284de8886dffc
(cherry picked from commit 2645f68985df4955fd8a161224595dad9f4ab488)
2021-06-07 21:25:09 +00:00
pibr
1c20c2f774 dpdk: silence coverity warning on use of uninitialized value
Type: fix

Signed-off-by: Piotr Bronowski <piotrx.bronowski@intel.com>
Change-Id: I76923ad5035498aae821db4fd42a127617476fbb
(cherry picked from commit d838e533f1f8f5335ceadb193fa9554f44d04fbf)
2021-06-07 16:02:02 +00:00
Tianyu Li
ce4716f4e2 build: fix build error after make wipe
ninja: error: '/home/vpp/src/vpp-api/vapi/fake.api.json',
needed by 'CMakeFiles/vpp-api/vapi/fake.api.vapi.h',
missing and no known rule to make it

Recent fake.api.json has been moved from test/ to src/,
update make wipe to reflect the movement.

Type: fix

Signed-off-by: Tianyu Li <tianyu.li@arm.com>
Change-Id: I1e8ef414a3f8a2fce11767e0778fe21e14d54e6f
(cherry picked from commit 0b652134752890fd987152005ed378a9520d2c68)
2021-06-07 14:56:58 +00:00
Ruslan Babayev
f1bd293ff2 nat: fix broken nat44-ed cli
snat_set_frame_queue_nelts has been replaced with
nat44_ed_set_frame_queue_nelts.

Type: fix
Signed-off-by: Ruslan Babayev <ruslan@babayev.com>
Change-Id: I8d970be71376fdbb2bfd383d4d5824a8def93bb3
2021-06-07 14:10:26 +00:00
Dave Wallace
b3e5909e80 build: fix centos-8 cmake missing package dependency
Type: fix

Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: I199fea4607cf38a127ed31b2ddf1dd993a2462ba
(cherry picked from commit e20d3c8c007bb7437ef7d1db47cfefb4235c0fe6)
2021-06-05 21:37:21 +00:00
Neale Ranns
e027d88521 tests: Fix 'test-wipe'
Type: fix

Error:
vagrant@ ~/vpp (make-test-wipe) $ make test-wipe
make[1]: Entering directory '/home/vagrant/vpp/test'
make[2]: Entering directory '/home/vagrant/vpp/test'
make[2]: *** ext: No such file or directory.  Stop.
make[2]: Leaving directory '/home/vagrant/vpp/test'
make[1]: *** [Makefile:239: wipe] Error 2
make[1]: Leaving directory '/home/vagrant/vpp/test'
make: *** [Makefile:440: test-wipe] Error 2

Signed-off-by: Neale Ranns <neale@graphiant.com>
Change-Id: I3615a962882d5d56c394aa628e9942fed07cde84
(cherry picked from commit 46cb4c40941e06d726c116975c321603766d24bd)
2021-06-04 13:33:06 +00:00
Juraj Linkeš
4b0882c9a9 dpdk: disable i40evf in favor of iavf patch
Fix an issue where multiple VPP instances with DPDK starting at the
same time would not initialize VFs properly. This is done by using the
iavf PMD (where the issue can't be reproduced) instead of the i40evf
PMD.

Type: fix
Ticket: VPP-1943
Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
Change-Id: I444bd24722f81faec836478851e7cc3c72143227
2021-06-03 19:11:59 +00:00
Florin Coras
76189089b5 svm: release mem order for fifo chunk list CAS
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Change-Id: Ifad679f46abd6e9c18a3eaf7e55800a09f3791ab
(cherry picked from commit 324d161963025a595a79a10cf953b23250f825a1)
2021-06-03 19:11:27 +00:00
Florin Coras
5b6d2c1ae2 session: avoid ct connects loop
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I99af136ecab9be1f9e00de6d197b8f1c74ab4b20
(cherry picked from commit 821b5002bf5cd18e1ec7750ff1b6fb379b241869)
2021-06-03 19:11:06 +00:00
Florin Coras
d5f89e04ae session: lcl transport info on accept
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ia46b0b8afed30f84b244c06f0457303f9e8832cd
(cherry picked from commit 67c90a32b7ad0c5a38c483ce849cc7a231e7ba54)
2021-06-03 19:10:35 +00:00
Florin Coras
afb0194b5a srtp: cleanup build and default to disabled
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I62fb56257445a05105e556d1ea6cc6280b5eeccc
(cherry picked from commit 427feb6fdd8aee373405dbd3a59f69440107b046)
2021-06-03 19:08:42 +00:00
Arthur de Kerhor
27777bd890 misc: bug fixes and improvements for stats Fuse fs
Added syslogs
Added support for symlinks
Relocated make commands in a local Makefile
Dumping stats on index instead of paths
Updated README
Added go.mod and go.sum with relevant dependencies for the module

Type: fix
Change-Id: I2c91317939b2f4d765771ab7038372ae27d3109d
Signed-off-by: Arthur de Kerhor <arthurdekerhor@gmail.com>
(cherry picked from commit 9cfbd3b7869db3ca5131c6fd0c0f77b787fa4312)
2021-06-03 07:38:21 +00:00
Dave Barach
cd01b3a735 interface: fix vnet_sw_interface_update_unnumbered
Unless a software interface is actually unnumbered, do not set
ip[46]_main.lookup_main.if_address_pool_index_by_sw_if_index [sw_if_index]
to ~0

Fixes this scenario:

loop create
set int state loop0 up
create sub-interface loop0 1
set interface ip addr loop0.1 192.168.1.1/24
delete sub-interface loop0.1
set int ip addr loop0 192.168.1.1/24

Type: fix

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I46141d862fa57d70b93d7bb0c105403708165264
(cherry picked from commit 64d20e76b9108c9158b2b538cd2312d740f48103)
2021-06-01 14:46:57 +00:00
Florin Coras
ce48c87744 tls: fix handling of failed accepts
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I34b53dcaf4f049157b538ea40a39033d43e525a5
(cherry picked from commit b6fe52f3da79d4c4ea8095b9d36988b0825a9891)
2021-06-01 14:45:52 +00:00
Florin Coras
b39fac168b hsa: proxy listener support addition of fifo segments
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I59218f784140ef5ecb8468af6aebfe25fd7703a4
(cherry picked from commit b740fdc8ff7f58637524e999d5fe01b8b010810d)
2021-05-29 16:51:45 +00:00
Dave Wallace
f5d9237c56 svm: fix inadequate atomic load for chunk mgr
- Fixes intermittent LDP cut thru iperf3 test
  failure on AARCH64

Type: fix

Change-Id: Id21a078d642e03d974bacacd1f4d0faa42fb6652
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
(cherry picked from commit 5c520919e838bcb645ddd879641d54c620740989)
2021-05-28 16:08:32 +00:00
Florin Coras
88b2269a45 vppinfra: explicit blocking mode for sock connects
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I3a33230de13fef613dc9523cf24a9968d200c2e5
(cherry picked from commit 57e0af924b8b48cf39b1020bf11f10e3c227f22c)
2021-05-26 18:48:32 +00:00
Andrew Yourtchenko
e82d59f381 misc: Initial changes for stable/2106 branch
Change-Id: Ia484268463cc504902402cde2243f0cfdb02d101
Type: docs
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
2021-05-26 13:05:36 +00:00
139 changed files with 2314 additions and 2762 deletions

View File

@ -2,3 +2,4 @@
host=gerrit.fd.io
port=29418
project=vpp
defaultbranch=stable/2106

View File

@ -131,7 +131,7 @@ else ifeq ($(OS_ID)-$(OS_VERSION_ID),centos-8)
RPM_DEPENDS += compat-openssl10 openssl-devel
RPM_DEPENDS += python2-devel python36-devel python3-ply
RPM_DEPENDS += python3-virtualenv python3-jsonschema
RPM_DEPENDS += cmake
RPM_DEPENDS += libarchive cmake
RPM_DEPENDS_GROUPS = 'Development Tools'
else
RPM_DEPENDS += yum-utils
@ -220,7 +220,6 @@ help:
@echo " docs - Build the Sphinx documentation"
@echo " docs-venv - Build the virtual environment for the Sphinx docs"
@echo " docs-clean - Remove the generated files from the Sphinx docs"
@echo " stats-fs-help - Help to build the stats segment file system"
@echo ""
@echo "Make Arguments:"
@echo " V=[0|1] - set build verbosity level"
@ -362,7 +361,7 @@ wipedist:
.PHONY: wipe
wipe: wipedist test-wipe $(BR)/.deps.ok
$(call make,$(PLATFORM)_debug,$(addsuffix -wipe,$(TARGETS)))
@find . -type f -name "*.api.json" ! -path "./test/*" -exec rm {} \;
@find . -type f -name "*.api.json" ! -path "./src/*" -exec rm {} \;
.PHONY: rebuild
rebuild: wipe build
@ -669,33 +668,6 @@ featurelist: centos-pyyaml
checkfeaturelist: centos-pyyaml
@extras/scripts/fts.py --validate --all
# Build vpp_stats_fs
.PHONY: stats-fs-install
stats-fs-install:
@extras/vpp_stats_fs/install.sh install
.PHONY: stats-fs-start
stats-fs-start:
@extras/vpp_stats_fs/install.sh start
.PHONY: stats-fs-cleanup
stats-fs-cleanup:
@extras/vpp_stats_fs/install.sh cleanup
.PHONY: stats-fs-help
stats-fs-help:
@extras/vpp_stats_fs/install.sh help
.PHONY: stats-fs-force-unmount
stats-fs-force-unmount:
@extras/vpp_stats_fs/install.sh unmount
.PHONY: stats-fs-stop
stats-fs-stop:
@extras/vpp_stats_fs/install.sh stop
#
# Build the documentation
#

1278
RELEASE.md

File diff suppressed because it is too large Load Diff

View File

@ -42,12 +42,12 @@ endef
define rdma-core_install_cmds
mkdir -p $(rdma-core_install_dir)/lib/pkgconfig
cp -av $(rdma-core_build_dir)/include $(rdma-core_install_dir) > $(rdma-core_install_log)
cp -v $(rdma-core_build_dir)/lib/pkgconfig/libibverbs.pc \
cp -avL $(rdma-core_build_dir)/include $(rdma-core_install_dir) > $(rdma-core_install_log)
cp -avL $(rdma-core_build_dir)/lib/pkgconfig/libibverbs.pc \
$(rdma-core_build_dir)/lib/pkgconfig/libmlx5.pc \
$(rdma-core_build_dir)/lib/pkgconfig/libmlx4.pc \
$(rdma-core_install_dir)/lib/pkgconfig >> $(rdma-core_install_log)
cp -v $(rdma-core_build_dir)/lib/statics/libibverbs.a \
cp -avL $(rdma-core_build_dir)/lib/statics/libibverbs.a \
$(rdma-core_build_dir)/lib/statics/libmlx5.a \
$(rdma-core_build_dir)/lib/statics/libmlx4.a \
$(rdma-core_build_dir)/util/librdma_util.a \

View File

@ -0,0 +1,232 @@
From 7b44e3f10ac886eaece0ee3ed217ba7219ec41c1 Mon Sep 17 00:00:00 2001
From: Robin Zhang <robinx.zhang@intel.com>
Date: Mon, 19 Apr 2021 03:05:39 +0000
Subject: [PATCH] net/iavf: deprecate i40evf pmd
The i40evf PMD will be deprecated, iavf will be the only VF driver for
Intel 700 serial (i40e) NIC family. To reach this, there will be 2 steps:
Step 1: iavf will be the default VF driver, while i40evf still can be
selected by devarg: "driver=i40evf".
This is covered by this patch, which include:
1) add all 700 serial NIC VF device ID into iavf PMD
2) skip probe if devargs contain "driver=i40evf" in iavf
3) continue probe if devargs contain "driver=i40evf" in i40evf
Step 2: i40evf and related devarg are removed, this will happen at DPDK
21.11
Between step 1 and step 2, no new feature will be added into i40evf except
bug fix.
Signed-off-by: Robin Zhang <robinx.zhang@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
---
doc/guides/nics/intel_vf.rst | 6 +++
doc/guides/rel_notes/deprecation.rst | 8 ++++
drivers/common/iavf/iavf_devids.h | 2 +
drivers/net/i40e/i40e_ethdev_vf.c | 45 ++++++++++++++++++++++
drivers/net/iavf/iavf_ethdev.c | 57 +++++++++++++++++++++++++++-
5 files changed, 116 insertions(+), 2 deletions(-)
diff --git a/doc/guides/nics/intel_vf.rst b/doc/guides/nics/intel_vf.rst
index 529ff4a955..fcea8151bf 100644
--- a/doc/guides/nics/intel_vf.rst
+++ b/doc/guides/nics/intel_vf.rst
@@ -88,6 +88,12 @@ For more detail on SR-IOV, please refer to the following documents:
assignment in hypervisor. Take qemu for example, the device assignment should carry the IAVF device id (0x1889) like
``-device vfio-pci,x-pci-device-id=0x1889,host=03:0a.0``.
+ Starting from DPDK 21.05, the default VF driver for Intel® 700 Series Ethernet Controller will be IAVF. No new feature
+ will be added into i40evf except bug fix until it's removed in DPDK 21.11. Between DPDK 21.05 and 21.11, by using the
+ ``devargs`` option ``driver=i40evf``, i40evf PMD still can be used on Intel® 700 Series Ethernet Controller, for example::
+
+ -a 81:02.0,driver=i40evf
+
When IAVF is backed by an Intel® E810 device, the "Protocol Extraction" feature which is supported by ice PMD is also
available for IAVF PMD. The same devargs with the same parameters can be applied to IAVF PMD, for detail please reference
the section ``Protocol extraction for per queue`` of ice.rst.
diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 82c1a90a37..ea41be51a7 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -125,3 +125,11 @@ Deprecation Notices
* cmdline: ``cmdline`` structure will be made opaque to hide platform-specific
content. On Linux and FreeBSD, supported prior to DPDK 20.11,
original structure will be kept until DPDK 21.11.
+
+* i40e: As there are both i40evf and iavf pmd, the functions of them are
+ duplicated. And now more and more advanced features are developed on iavf.
+ To keep consistent with kernel driver's name
+ (https://patchwork.ozlabs.org/patch/970154/), i40evf is no need to maintain.
+ Starting from 21.05, the default VF driver of i40e will be iavf, but i40evf
+ can still be used if users specify the devarg "driver=i40evf". I40evf will
+ be deleted in DPDK 21.11.
diff --git a/drivers/common/iavf/iavf_devids.h b/drivers/common/iavf/iavf_devids.h
index 722c2e4f49..0f98375a09 100644
--- a/drivers/common/iavf/iavf_devids.h
+++ b/drivers/common/iavf/iavf_devids.h
@@ -13,5 +13,7 @@
#define IAVF_DEV_ID_VF_HV 0x1571
#define IAVF_DEV_ID_ADAPTIVE_VF 0x1889
#define IAVF_DEV_ID_X722_VF 0x37CD
+#define IAVF_DEV_ID_X722_A0_VF 0x374D
+
#endif /* _IAVF_DEVIDS_H_ */
diff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c
index 2909b4d894..b5706a6a7f 100644
--- a/drivers/net/i40e/i40e_ethdev_vf.c
+++ b/drivers/net/i40e/i40e_ethdev_vf.c
@@ -1656,9 +1656,53 @@ i40evf_dev_uninit(struct rte_eth_dev *eth_dev)
return 0;
}
+static int
+i40evf_check_driver_handler(__rte_unused const char *key,
+ const char *value, __rte_unused void *opaque)
+{
+ if (strcmp(value, "i40evf"))
+ return -1;
+
+ return 0;
+}
+
+static int
+i40evf_driver_selected(struct rte_devargs *devargs)
+{
+ struct rte_kvargs *kvlist;
+ const char *key = "driver";
+ int ret = 0;
+
+ if (devargs == NULL)
+ return 0;
+
+ kvlist = rte_kvargs_parse(devargs->args, NULL);
+ if (kvlist == NULL)
+ return 0;
+
+ if (!rte_kvargs_count(kvlist, key))
+ goto exit;
+
+ /* i40evf driver selected when there's a key-value pair:
+ * driver=i40evf
+ */
+ if (rte_kvargs_process(kvlist, key,
+ i40evf_check_driver_handler, NULL) < 0)
+ goto exit;
+
+ ret = 1;
+
+exit:
+ rte_kvargs_free(kvlist);
+ return ret;
+}
+
static int eth_i40evf_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
struct rte_pci_device *pci_dev)
{
+ if (!i40evf_driver_selected(pci_dev->device.devargs))
+ return 1;
+
return rte_eth_dev_pci_generic_probe(pci_dev,
sizeof(struct i40e_adapter), i40evf_dev_init);
}
@@ -1681,6 +1725,7 @@ static struct rte_pci_driver rte_i40evf_pmd = {
RTE_PMD_REGISTER_PCI(net_i40e_vf, rte_i40evf_pmd);
RTE_PMD_REGISTER_PCI_TABLE(net_i40e_vf, pci_id_i40evf_map);
RTE_PMD_REGISTER_KMOD_DEP(net_i40e_vf, "* igb_uio | vfio-pci");
+RTE_PMD_REGISTER_PARAM_STRING(net_i40e_vf, "driver=i40evf");
static int
i40evf_dev_configure(struct rte_eth_dev *dev)
diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
index 4d37722022..721cdcc14e 100644
--- a/drivers/net/iavf/iavf_ethdev.c
+++ b/drivers/net/iavf/iavf_ethdev.c
@@ -127,6 +127,10 @@ static int iavf_set_mc_addr_list(struct rte_eth_dev *dev,
static const struct rte_pci_id pci_id_iavf_map[] = {
{ RTE_PCI_DEVICE(IAVF_INTEL_VENDOR_ID, IAVF_DEV_ID_ADAPTIVE_VF) },
+ { RTE_PCI_DEVICE(IAVF_INTEL_VENDOR_ID, IAVF_DEV_ID_VF) },
+ { RTE_PCI_DEVICE(IAVF_INTEL_VENDOR_ID, IAVF_DEV_ID_VF_HV) },
+ { RTE_PCI_DEVICE(IAVF_INTEL_VENDOR_ID, IAVF_DEV_ID_X722_VF) },
+ { RTE_PCI_DEVICE(IAVF_INTEL_VENDOR_ID, IAVF_DEV_ID_X722_A0_VF) },
{ .vendor_id = 0, /* sentinel */ },
};
@@ -2331,10 +2335,59 @@ iavf_dcf_cap_selected(struct rte_devargs *devargs)
return ret;
}
+static int
+iavf_drv_i40evf_check_handler(__rte_unused const char *key,
+ const char *value, __rte_unused void *opaque)
+{
+ if (strcmp(value, "i40evf"))
+ return -1;
+
+ return 0;
+}
+
+static int
+iavf_drv_i40evf_selected(struct rte_devargs *devargs, uint16_t device_id)
+{
+ struct rte_kvargs *kvlist;
+ const char *key = "driver";
+ int ret = 0;
+
+ if (device_id != IAVF_DEV_ID_VF &&
+ device_id != IAVF_DEV_ID_VF_HV &&
+ device_id != IAVF_DEV_ID_X722_VF &&
+ device_id != IAVF_DEV_ID_X722_A0_VF)
+ return 0;
+
+ if (devargs == NULL)
+ return 0;
+
+ kvlist = rte_kvargs_parse(devargs->args, NULL);
+ if (kvlist == NULL)
+ return 0;
+
+ if (!rte_kvargs_count(kvlist, key))
+ goto exit;
+
+ /* i40evf driver selected when there's a key-value pair:
+ * driver=i40evf
+ */
+ if (rte_kvargs_process(kvlist, key,
+ iavf_drv_i40evf_check_handler, NULL) < 0)
+ goto exit;
+
+ ret = 1;
+
+exit:
+ rte_kvargs_free(kvlist);
+ return ret;
+}
+
static int eth_iavf_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
struct rte_pci_device *pci_dev)
{
- if (iavf_dcf_cap_selected(pci_dev->device.devargs))
+ if (iavf_dcf_cap_selected(pci_dev->device.devargs) ||
+ iavf_drv_i40evf_selected(pci_dev->device.devargs,
+ pci_dev->id.device_id))
return 1;
return rte_eth_dev_pci_generic_probe(pci_dev,
@@ -2357,7 +2410,7 @@ static struct rte_pci_driver rte_iavf_pmd = {
RTE_PMD_REGISTER_PCI(net_iavf, rte_iavf_pmd);
RTE_PMD_REGISTER_PCI_TABLE(net_iavf, pci_id_iavf_map);
RTE_PMD_REGISTER_KMOD_DEP(net_iavf, "* igb_uio | vfio-pci");
-RTE_PMD_REGISTER_PARAM_STRING(net_iavf, "cap=dcf");
+RTE_PMD_REGISTER_PARAM_STRING(net_iavf, "cap=dcf driver=i40evf");
RTE_LOG_REGISTER(iavf_logtype_init, pmd.net.iavf.init, NOTICE);
RTE_LOG_REGISTER(iavf_logtype_driver, pmd.net.iavf.driver, NOTICE);
#ifdef RTE_LIBRTE_IAVF_DEBUG_RX
--
2.20.1

View File

@ -1,50 +0,0 @@
.. _archive:
########
Archive
########
.. toctree::
*****
2018
*****
`<https://docs.fd.io/vpp/18.11>`_
`<https://docs.fd.io/vpp/18.10>`_
`<https://docs.fd.io/vpp/18.07.1>`_
`<https://docs.fd.io/vpp/18.04>`_
`<https://docs.fd.io/vpp/18.01.2>`_
`<https://docs.fd.io/vpp/18.01.1>`_
`<https://docs.fd.io/vpp/18.01>`_
*****
2017
*****
`<https://docs.fd.io/vpp/17.10>`_
`<https://docs.fd.io/vpp/17.07.01>`_
`<https://docs.fd.io/vpp/17.07>`_
`<https://docs.fd.io/vpp/17.04>`_
`<https://docs.fd.io/vpp/17.01.1>`_
`<https://docs.fd.io/vpp/17.01>`_
*****
2016
*****
`<https://docs.fd.io/vpp/16.09>`_
`<https://docs.fd.io/vpp/16.12>`_

View File

@ -1,23 +0,0 @@
.. _2016_04_28_pariseventproposal:
.. toctree::
########################################
2016 May 31st Paris FD.io event proposal
########################################
Event
-----
This presentation was held on May 31st 206.
Speakers
--------
Pierre Pfister
Presentation
------------
`Powerpoint <https://wiki.fd.io/images/d/d1/2016_May_Paris_FD.io_Traing_proposal.pptx>`_

View File

@ -1,15 +0,0 @@
.. _TSCmeeting:
.. toctree::
########################
April 2016 - TSC Meeting
########################
.. toctree::
:maxdepth: 1
2016_04_28_pariseventproposal.rst

View File

@ -1,22 +0,0 @@
.. _2017_04_25_buildingincontainerspoc:
.. toctree::
##########################
Building In Containers PoC
##########################
Event
-----
This presentation was held on April 27, 2017
Speakers
--------
Ed Kern
Presentation
------------
`PDF <https://wiki.fd.io/images/a/a8/Building_in_Containers_PoC.pdf>`_

View File

@ -1,14 +0,0 @@
.. _VPPCall:
.. toctree::
#####################
April 2017 - VPP Call
#####################
.. toctree::
:maxdepth: 1
2017_04_25_buildingincontainerspoc.rst

View File

@ -1,22 +0,0 @@
.. _2017_06_26_vppcontainernetwork:
.. toctree::
#########################################
VPP and container networking at 110Gbps
#########################################
Event
-----
This presentation was held on June 26th, 2017.
Speakers
--------
Keith Burns
Slideshow
---------
`Powerpoint Presentation <https://wiki.fd.io/images/7/7b/Cisco_Live_VPP_and_container_networking_%28BRKSDN-2119%29.pptx>`_

View File

@ -1,12 +0,0 @@
.. _CiscoLiveUS:
.. toctree::
#########################
June 2017 - Cisco Live US
#########################
.. toctree::
:maxdepth: 1
2017_06_26_vppcontainernetwork.rst

View File

@ -1,22 +0,0 @@
.. _2016_08_24_introfdio:
.. toctree::
##############
Intro to FD.io
##############
Event
-----
This presentation was held on August 24th, 2016.
Speakers
--------
Ed Warnicke
Presentation
-------------
`Powerpoint <https://wiki.fd.io/images/8/87/Fd.io_intro_-_Linuxcon_NA_2016.pptx>`_

View File

@ -1,22 +0,0 @@
.. _2016_08_24_onelispintro:
.. toctree::
###############
ONE-LISP Intro
###############
Event
-----
This presentation was held on August 24th, 2016.
Speakers
--------
Florin Coras
Presentation
------------
`Powerpoint <https://wiki.fd.io/images/3/3e/ONE-LISP_-_Linuxcon_NA_2016.pptx>`_

View File

@ -1,13 +0,0 @@
.. _Linuxcon:
.. toctree::
##############################
August 2017 - Linuxcon NA 2016
##############################
.. toctree::
:maxdepth: 1
2016_08_24_introfdio
2016_08_24_onelispintro

View File

@ -1,22 +0,0 @@
.. _2017_05_11_40gbpsipsec:
.. toctree::
##################################
40Gbps IPsec on commodity hardware
##################################
Event
-----
This presentation was held on May 11th, 2017.
Speakers
--------
Jim Thompson
Slideshow
---------
`PDF <https://wiki.fd.io/images/1/1d/40_Gbps_IPsec_on_commodity_hardware.pdf>`_

View File

@ -1,13 +0,0 @@
.. _OSCON:
.. toctree::
################
May 2017 - OSCON
################
.. toctree::
:maxdepth: 1
2017_05_11_40gbpsipsec.rst

View File

@ -1,22 +0,0 @@
.. _2017_07_11_fdiouniversalterabitnetwork:
.. toctree::
############################################
FD.io: A Universal Terabit Network Dataplane
############################################
Event
-----
This presentation was held on July 11, 2017
Speakers
--------
Maciek Konstantynowicz
Slideshow
---------
`PDF <https://wiki.fd.io/images/2/24/Fdio-Purley-Demo-v9-mathsfix-pdf.pdf>`_

View File

@ -1,12 +0,0 @@
.. _FDIOVPPTerabit:
.. toctree::
#############################
July 2017 - FD.io VPP Terabit
#############################
.. toctree::
:maxdepth: 1
2017_07_11_fdiouniversalterabitnetwork.rst

View File

@ -1,23 +0,0 @@
.. _2017_06_13_fdiointeldevsdnnfvdevlab:
.. toctree::
###############################
Clear Containers + VPP Overview
###############################
Event
-----
This presentation was held on June 13, 2017
Speakers
--------
Manohar Castelino,
Eric Erns
Slideshow
---------
`PDF <https://wiki.fd.io/images/1/16/Clear_Containers%2BVPP-overview-JuneDevLab.pdf>`_

View File

@ -1,23 +0,0 @@
.. _2017_06_13_fdiointeldevsdnnfvdevlab:
.. toctree::
##############
FD.io Overview
##############
Event
-----
This presentation was held on June 13, 2017
Speakers
--------
Jerome Tollet,
Ed Warnicke
Presentation
------------
https://wiki.fd.io/images/8/87/Fdio-Intel_Developer_SDN_NFV_Dev_Lab.pptx

View File

@ -1,12 +0,0 @@
.. _IntelSDN:
.. toctree::
#################################
June 2017 - Intel SDN/NFV Dev Lab
#################################
.. toctree::
2017_06_13_fdiooverview
2017_06_13_clearcontainers

View File

@ -1,24 +0,0 @@
.. _2016_08_30_introtodpdkcryptoandvpp:
.. toctree::
###################################
Intro to DPDK Cryptodev and VPP PoC
###################################
Event
-----
This presentation was held on August 30, 2016
Speakers
--------
Tommy Long,
Sergio Gonzalez Monroy
Slideshow
---------
`Powerpoint <https://wiki.fd.io/images/2/2a/FDio_Cryptodev_Pres_Final_v2.pptx>`_

View File

@ -1,14 +0,0 @@
.. _TWSMeeting:
.. toctree::
#########################
August 2016 - TWS Meeting
#########################
.. toctree::
:maxdepth: 1
2016_08_30_introtodpdkcryptoandvpp.rst

View File

@ -1,23 +0,0 @@
.. _2016_05_25_softwaredataplanes:
.. toctree::
##########################################
FD.io is the Future of Software Dataplanes
##########################################
Event
-----
This presentation was held on May, 5 2016
Speakers
--------
Ed Warnicke
Slideshow
---------
`Powerpoint <https://wiki.fd.io/images/8/8b/Fdio_is_the_future_of_software_dataplanes_-_v2.pptx>`_

View File

@ -1,12 +0,0 @@
.. _fdioWebinar:
.. toctree::
########################
May 2016 - FD.io Webinar
########################
.. toctree::
:maxdepth: 1
2016_05_25_softwaredataplanes

View File

@ -1,34 +0,0 @@
.. _2016_08_10_tldkintro:
.. toctree::
##########
TLDK intro
##########
Event
-----
This presentation describes the Transport Layer Development Kit (TLDK),
which is an FD.io project that provides a set of libraries to accelerate L4-L7 protocol
processing for DPDK-based applications. The initial implementation supports UDP,
with work on TCP in progress. The project scope also includes integration of
TLDK libraries into Vector Packet Processing (VPP) graph nodes to provide a host stack.
This presentation was held during the DPDK US Summit on August 10th, 2016.
Speakers
--------
* Konstantin Ananyev
Slideshow
---------
`Presentation Powerpoint <https://wiki.fd.io/images/d/d3/Tldk%40160805u2.pptx>`_
Video
-----
`Video Presentation <https://www.youtube.com/watch?v=GiEXLrJuAxg>`_

View File

@ -1,12 +0,0 @@
.. _2016:
.. toctree::
#########################
August 2016 - DPDK Summit
#########################
.. toctree::
:maxdepth: 1
2016_08_10_tldkintro.rst

View File

@ -1,37 +0,0 @@
.. _2017_11_15_dpdkvppandpfsense:
.. toctree::
#########################
DPDK, VPP and pfSense 3.0
#########################
Event
-----
pfSense is a open source firewall/vpn appliance,
based on FreeBSD, started in 2006 with over 1M active installs.
We are basing pfSense release 3.0 on FD.io's VPP,
leveraging key DPDK components including cryptodev,
while adding a CLI and RESTCONF layer,
leveraging FRRouting and Strongswan.
This presentation was held during the 2017 DPDK Summit
on September 26th, 2017.
Speakers
--------
* Jim Thompson
Slideshow
---------
`Presentation PDF <dpdksummit.com/Archive/pdf/2017Userspace/DPDK-Userspace2017-Day2-9-pfSense.pdf>`_
Video
-----
`Video Presentation <https://www.youtube.com/watch?v=lMJy8vKm47E>`_

View File

@ -1,42 +0,0 @@
.. _2017_11_15_vpphoststack:
.. toctree::
##############
VPP Host Stack
##############
Event
-----
Although packet forwarding with VPP and DPDK can now scale to tens of millions
of packets per second per core, lack of alternatives to kernel-based
sockets means that containers and host applications cannot
take full advantage of this speed. To fill this gap, VPP
was recently added functionality specifically designed
to allow containerized or host applications to communicate
via shared-memory if co-located, or via a high-performance
TCP stack inter-host.
This presentation was held during the 2017 DPDK Summit
on September 26th, 2017.
Speakers
--------
* Florin Coras
* Dave Barach
* Keith Burns
* Dave Wallace
Slideshow
---------
`Presentation PDF <https://wiki.fd.io/images/f/f2/Vpp-hoststack.pdf>`_
Video
-----
`Video Presentation <https://www.youtube.com/watch?v=NWG7A0are00>`_

Some files were not shown because too many files have changed in this diff Show More