Hi,

Currently I use DPDK 20.11.1 LTS along with VPP for RISC-V.
Since DPDK 21.11 LTS is now available I am trying to use it.
However I am getting a lot of errors as lots of macros have changed.
I managed to resolve those errors but there are few errors which I am not
able to resolve.
File names and paths are changed.
File is present in following path but it is not included,

./build-root/build-vpp-native/external/src-dpdk/lib/cryptodev/cryptodev_pmd.h

Also name changed from rte_cryptodev_pmd.h to cryptodev_pmd.h

=======================================================================

[1/608] Building C object
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/device/format.c.o
FAILED:
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/device/format.c.o
ccache /usr/lib/ccache/gcc-11 -DHAVE_FCNTL64 -D_FORTIFY_SOURCE=2
-Ddpdk_plugin_EXPORTS -I/home/ubuntu/work/vpp/src -ICMakeFiles
-I/home/ubuntu/work/vpp/src/plugins -ICMakeFiles/plugins
-I/home/ubuntu/work/vpp/build-root/install-vpp-native/external/include
-fPIC -g -fPIC -Werror -Wall -Wno-array-bounds -Wno-stringop-overflow
-Wno-error=deprecated-declarations -Wno-deprecated-declarations
-Wno-address-of-packed-member -O3 -fstack-protector -fno-common
-fvisibility=hidden -ffunction-sections -fdata-sections -MD -MT
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/device/format.c.o -MF
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/device/format.c.o.d -o
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/device/format.c.o -c
/home/ubuntu/work/vpp/src/plugins/dpdk/device/format.c
/home/ubuntu/work/vpp/src/plugins/dpdk/device/format.c: In function
‘format_dpdk_device’:
/home/ubuntu/work/vpp/src/plugins/dpdk/device/format.c:674:34: error:
‘rte_eth_devices’ undeclared (first use in this function); did you mean
‘rte_pci_device’?
  674 |                       ptr2sname
(rte_eth_devices[xd->port_id].tx_pkt_burst));
      |                                  ^~~~~~~~~~~~~~~
      |                                  rte_pci_device
/home/ubuntu/work/vpp/src/plugins/dpdk/device/format.c:674:34: note: each
undeclared identifier is reported only once for each function it appears in
[2/608] Building C object
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/cryptodev/cryptodev.c.o
FAILED:
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/cryptodev/cryptodev.c.o
ccache /usr/lib/ccache/gcc-11 -DHAVE_FCNTL64 -D_FORTIFY_SOURCE=2
-Ddpdk_plugin_EXPORTS -I/home/ubuntu/work/vpp/src -ICMakeFiles
-I/home/ubuntu/work/vpp/src/plugins -ICMakeFiles/plugins
-I/home/ubuntu/work/vpp/build-root/install-vpp-native/external/include
-fPIC -g -fPIC -Werror -Wall -Wno-array-bounds -Wno-stringop-overflow
-Wno-error=deprecated-declarations -Wno-deprecated-declarations
-Wno-address-of-packed-member -O3 -fstack-protector -fno-common
-fvisibility=hidden -ffunction-sections -fdata-sections -MD -MT
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/cryptodev/cryptodev.c.o
-MF
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/cryptodev/cryptodev.c.o.d
-o
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/cryptodev/cryptodev.c.o
-c /home/ubuntu/work/vpp/src/plugins/dpdk/cryptodev/cryptodev.c
/home/ubuntu/work/vpp/src/plugins/dpdk/cryptodev/cryptodev.c:32:10: fatal
error: cryptodev_pmd.h: No such file or directory
   32 | #include <cryptodev_pmd.h>
      |          ^~~~~~~~~~~~~~~~~
compilation terminated.
[3/608] Building C object
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/cryptodev/cryptodev_op_data_path.c.o
FAILED:
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/cryptodev/cryptodev_op_data_path.c.o

ccache /usr/lib/ccache/gcc-11 -DHAVE_FCNTL64 -D_FORTIFY_SOURCE=2
-Ddpdk_plugin_EXPORTS -I/home/ubuntu/work/vpp/src -ICMakeFiles
-I/home/ubuntu/work/vpp/src/plugins -ICMakeFiles/plugins
-I/home/ubuntu/work/vpp/build-root/install-vpp-native/external/include
-fPIC -g -fPIC -Werror -Wall -Wno-array-bounds -Wno-stringop-overflow
-Wno-error=deprecated-declarations -Wno-deprecated-declarations
-Wno-address-of-packed-member -O3 -fstack-protector -fno-common
-fvisibility=hidden -ffunction-sections -fdata-sections -MD -MT
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/cryptodev/cryptodev_op_data_path.c.o
-MF
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/cryptodev/cryptodev_op_data_path.c.o.d
-o
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/cryptodev/cryptodev_op_data_path.c.o
-c /home/ubuntu/work/vpp/src/plugins/dpdk/cryptodev/cryptodev_op_data_path.c
/home/ubuntu/work/vpp/src/plugins/dpdk/cryptodev/cryptodev_op_data_path.c:30:10:
fatal error: cryptodev_pmd.h: No such file or directory
   30 | #include <cryptodev_pmd.h>
      |          ^~~~~~~~~~~~~~~~~
compilation terminated.
[4/608] Building C object
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/device/init.c.o
FAILED: CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/device/init.c.o
ccache /usr/lib/ccache/gcc-11 -DHAVE_FCNTL64 -D_FORTIFY_SOURCE=2
-Ddpdk_plugin_EXPORTS -I/home/ubuntu/work/vpp/src -ICMakeFiles
-I/home/ubuntu/work/vpp/src/plugins -ICMakeFiles/plugins
-I/home/ubuntu/work/vpp/build-root/install-vpp-native/external/include
-fPIC -g -fPIC -Werror -Wall -Wno-array-bounds -Wno-stringop-overflow
-Wno-error=deprecated-declarations -Wno-deprecated-declarations
-Wno-address-of-packed-member -O3 -fstack-protector -fno-common
-fvisibility=hidden -ffunction-sections -fdata-sections -MD -MT
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/device/init.c.o -MF
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/device/init.c.o.d -o
CMakeFiles/plugins/dpdk/CMakeFiles/dpdk_plugin.dir/device/init.c.o -c
/home/ubuntu/work/vpp/src/plugins/dpdk/device/init.c
/home/ubuntu/work/vpp/src/plugins/dpdk/device/init.c: In function
‘dpdk_lib_init’:
/home/ubuntu/work/vpp/src/plugins/dpdk/device/init.c:615:53: error: passing
argument 1 of ‘rte_intr_cap_multiple’ from incompatible pointer type
[-Werror=incompatible-pointer-types]
  615 |               if (pci_dev && rte_intr_cap_multiple
(&pci_dev->intr_handle))
      |
^~~~~~~~~~~~~~~~~~~~~
      |                                                     |
      |                                                     struct
rte_intr_handle **
In file included from
/home/ubuntu/work/vpp/src/plugins/dpdk/device/dpdk.h:33,
                 from
/home/ubuntu/work/vpp/src/plugins/dpdk/device/init.c:27:
/home/ubuntu/work/vpp/build-root/install-vpp-native/external/include/rte_interrupts.h:436:47:
note: expected ‘struct rte_intr_handle *’ but argument is of type ‘struct
rte_intr_handle **’
  436 | rte_intr_cap_multiple(struct rte_intr_handle *intr_handle);
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/home/ubuntu/work/vpp/src/plugins/dpdk/device/init.c: In function
‘dpdk_lib_init.constprop’:
/home/ubuntu/work/vpp/src/plugins/dpdk/device/init.c:615:30: error: call to
‘rte_intr_cap_multiple’ declared with attribute error: Symbol is not public
ABI
  615 |               if (pci_dev && rte_intr_cap_multiple
(&pci_dev->intr_handle))
      |
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
ninja: build stopped: subcommand failed.
make[1]: *** [Makefile:693: vpp-build] Error 1
make[1]: Leaving directory '/home/ubuntu/work/vpp/build-root'
make: *** [Makefile:564: pkg-deb] Error 2

=======================================================================

Is DPDK 21.11 LTS supported in VPP for X86/ARM?

-- 

Regards,
Hrishikesh Karanjikar
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#20940): https://lists.fd.io/g/vpp-dev/message/20940
Mute This Topic: https://lists.fd.io/mt/89496496/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to