Hello all
I'm new to OVS so please have some patience with me :)
What I'm trying to do is to start OVS with DPDK based ports.
The actual setup is a board with Marvell's Armada 8040 chip.
I don't have any problems with starting DPDK based apps, it goes more or
less like:
- load required kernel modules (Marvell ones, specific for this chip)
- start DPDK app and pass to EAL options to create correct vdev:
./testpmd ... --vdev=eth_mvpp2,iface=eth0 ...
So my understanding is that I don't need any OVS specific kernel modules
in order to use these ports via DPDK in OVS. So I build OVS with option
"--with-dpdk" but without "--with-linux" (as intro/install/dpdk.rst
seems to suggest) [1]. Then I start the db:
# ovs-ctl --no-ovs-vswitchd start
* Starting ovsdb-server
* system ID not configured, please use --system-id
* Configuring Open vSwitch system IDs
and indicate that I want to initialize DPDK:
# ovs-vsctl set Open_vSwitch . other_config:dpdk-init=true
# ovs-vsctl get Open_vSwitch . other_config:dpdk-init
"true"
but when I try to start the vswitchd I'm getting errors:
# ovs-ctl --no-ovsdb-server start
modprobe: ERROR: ../libkmod/libkmod.c:586 kmod_search_moddep() could not
open moddep file
'/lib/modules/4.4.52-armada-17.10.4-g2dfc733/modules.dep.bin'
modprobe: FATAL: Module openvswitch not found in directory
/lib/modules/4.4.52-armada-17.10.4-g2dfc733
* Inserting openvswitch module
rmmod: ERROR: ../libkmod/libkmod.c:514 lookup_builtin_file() could not
open builtin file
'/lib/modules/4.4.52-armada-17.10.4-g2dfc733/modules.builtin.bin'
rmmod: ERROR: ../libkmod/libkmod-module.c:1921 kmod_module_get_holders()
could not open '/sys/module/bridge/holders': No such file or directory
rmmod: ERROR: Module bridge is in use
* removing bridge module
and obviously vswitchd is not running:
# ovs-ctl status
ovsdb-server is running with pid 7566
ovs-vswitchd is not running
Why there are attempts to load some kernel modules? How should I start
vswitchd with DPDK based ports? My expectation was that
"dpdk-init=true" will indicate to ovs to not use any kernel modules and
that I will be able later to add ports just like:
ovs-vsctl add-port br0 mrvl0 -- set Interface mrvl0 \
type=dpdk options:dpdk-devargs=eth_mvpp20,iface=eth0
ovs-vsctl add-port br0 mrvl2 -- set Interface mrvl2 \
type=dpdk options:dpdk-devargs=eth_mvpp21,iface=eth2
I'd appreciate some tip/insight into what I am doing wrong and/or how
can I debug this in order to solve it.
Best regards
Andrzej
[1] Actually I'm cross compiling ovs, the full configure line is:
./configure CC=${CROSS}gcc --prefix=/usr/local/ovs
--with-dpdk=${ROOTDIR}/marvell-dpdk/arm64-armv8a-linuxapp-gcc
--host=aarch64-linux-gnu --disable-libcapng
LDFLAGS="-L${ROOTDIR}/install/usr/local/lib -lmusdk"
_______________________________________________
discuss mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss