-
Improvement
-
Resolution: Unresolved
-
Medium
-
None
The current VPP functional tests from crypto/sw_device are based on dpdk Intel specific crypto drivers (aesni_gcm/mb).
https://docs.fd.io/csit/master/doc/tests.vpp.func.crypto.sw_device.html?highlight=eth2p%20ethip4ipsectnlsw%20ip4base%20func
Investigate how this can be extended to use the dpdk armv8 crypto driver.
https://dpdk.org/doc/guides/cryptodevs/armv8.html
This is how the VPP startup.conf is configured by CSIT sw_device tests:
[Command_start_exec] 'cat /etc/vpp/startup.conf'
[Command_outputs] unix
{
cli-listen /run/vpp/cli.sock
gid vpp
nodaemon
full-coredump
log /tmp/vpp.log
}
api-segment
{
gid vpp
}
dpdk
{
vdev cryptodev_aesni_gcm_pmd,socket_id=0
vdev cryptodev_aesni_mb_pmd,socket_id=0
}
The vpp process exits by error because the crypto devices are unknown:
[root@fedora27-dut-2 build]# vpp -c /etc/vpp/startup.conf
vlib_plugin_early_init:356: plugin path /usr/lib/vpp_plugins
load_one_plugin:184: Loaded plugin: acl_plugin.so (Access Control Lists)
load_one_plugin:184: Loaded plugin: dpdk_plugin.so (Data Plane Development Kit (DPDK))
load_one_plugin:184: Loaded plugin: flowprobe_plugin.so (Flow per Packet)
load_one_plugin:184: Loaded plugin: gtpu_plugin.so (GTPv1-U)
load_one_plugin:184: Loaded plugin: ila_plugin.so (Identifier-locator addressing for IPv6)
load_one_plugin:184: Loaded plugin: ioam_plugin.so (Inbound OAM)
load_one_plugin:83: Not a plugin: ixge_plugin.so
load_one_plugin:184: Loaded plugin: lb_plugin.so (Load Balancer)
load_one_plugin:184: Loaded plugin: libsixrd_plugin.so (IPv6 Rapid Deployment on IPv4 Infrastructure (RFC5969))
load_one_plugin:184: Loaded plugin: memif_plugin.so (Packet Memory Interface (experimetal))
load_one_plugin:184: Loaded plugin: nat_plugin.so (Network Address Translation)
load_one_plugin:184: Loaded plugin: pppoe_plugin.so (PPPoE)
load_one_plugin:184: Loaded plugin: stn_plugin.so (VPP Steals the NIC for Container integration)
vpp[7771]: load_one_plugin:63: Loaded plugin: /usr/lib/vpp_api_test_plugins/acl_test_plugin.so
vpp[7771]: load_one_plugin:63: Loaded plugin: /usr/lib/vpp_api_test_plugins/dpdk_test_plugin.so
vpp[7771]: load_one_plugin:63: Loaded plugin: /usr/lib/vpp_api_test_plugins/flowprobe_test_plugin.so
vpp[7771]: load_one_plugin:63: Loaded plugin: /usr/lib/vpp_api_test_plugins/gtpu_test_plugin.so
vpp[7771]: load_one_plugin:63: Loaded plugin: /usr/lib/vpp_api_test_plugins/ioam_export_test_plugin.so
vpp[7771]: load_one_plugin:63: Loaded plugin: /usr/lib/vpp_api_test_plugins/ioam_pot_test_plugin.so
vpp[7771]: load_one_plugin:63: Loaded plugin: /usr/lib/vpp_api_test_plugins/ioam_trace_test_plugin.so
vpp[7771]: load_one_plugin:63: Loaded plugin: /usr/lib/vpp_api_test_plugins/ioam_vxlan_gpe_test_plugin.so
vpp[7771]: load_one_plugin:63: Loaded plugin: /usr/lib/vpp_api_test_plugins/lb_test_plugin.so
vpp[7771]: load_one_plugin:63: Loaded plugin: /usr/lib/vpp_api_test_plugins/memif_test_plugin.so
vpp[7771]: load_one_plugin:63: Loaded plugin: /usr/lib/vpp_api_test_plugins/nat_test_plugin.so
vpp[7771]: load_one_plugin:63: Loaded plugin: /usr/lib/vpp_api_test_plugins/pppoe_test_plugin.so
vpp[7771]: load_one_plugin:63: Loaded plugin: /usr/lib/vpp_api_test_plugins/udp_ping_test_plugin.so
vpp[7771]: load_one_plugin:63: Loaded plugin: /usr/lib/vpp_api_test_plugins/vxlan_gpe_ioam_export_test_plugin.so
vpp[7771]: vlib_pci_bind_to_uio: Skipping PCI device 0000:01:00.0 as host interface enp1s0 is up
vpp[7771]: dpdk_config:1224: EAL init args: -c 1 -n 4 --vdev cryptodev_aesni_gcm_pmd,socket_id=0 --vdev cryptodev_aesni_mb_pmd,socket_id=0 --huge-dir /run/vpp/hugepages --file-prefix vpp -b 0000:01:00.0 --master-lcore 0 --socket-mem 64
ERROR: failed to parse device "cryptodev_aesni_gcm_pmd"
EAL: Unable to parse device 'cryptodev_aesni_gcm_pmd,socket_id=0'
vpp[7771]: dpdk_config: rte_eal_init returned -1