Vinod, Chegu
2014-10-15 05:13:00 UTC
Hello,
I had git cloned the OVS master tree a few days ago and using 1.7.0 version of DPDK along with latest OVS I tried to followed the instructions mentioned in INSTALL.DPDK. Running into an error and was wondering as to what I may be doing wrong..or may have missed.
--
Have a 2 socket server with a separate NIC for my regular site network etc. and am using the following second NIC (Intel 82599) for my initial experiments.
05:00.0 Ethernet controller: Intel Corporation 82599 10 Gigabit Dual Port Backplane Connection (rev 01)
05:00.1 Ethernet controller: Intel Corporation 82599 10 Gigabit Dual Port Backplane Connection (rev 01)
Setting up DPDK :
# mount -t hugetlbfs -o pagesize=1G none /dev/hugepages
# modprobe uio
# insmod /usr/src/dpdk/x86_64-native-linuxapp-gcc/kmod/igb_uio.ko
# modprobe tun
# cd /usr/src/dpdk/tools
# ./dpdk_nic_bind.py --status
# ./dpdk_nic_bind.py --force --bind=igb_uio 0000:05:00.0 0000:05:00.1
OVS setup :
# rm -f /usr/local/etc/openvswitch/conf.db
# cd /usr/src/ovs
# ./ovsdb/ovsdb-tool create /usr/local/etc/openvswitch/conf.db ./vswitchd/vswitch.ovsschema
# ./ovsdb/ovsdb-server --remote=punix:/usr/local/var/run/openvswitch/db.sock --remote=db:Open_vSwitch,Open_vSwitch,manager_options --private-key=db:Open_vSwitch,SSL,private_key --certificate=Open_vSwitch,SSL,certificate --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert --pidfile --detach
#./utilities/ovs-vsctl --no-wait init
# export DB_SOCK=/usr/local/var/run/openvswitch/db.sock
# ./vswitchd/ovs-vswitchd --dpdk -c 0x1 -n 4 --socket-mem 1024,0 -- unix:$DB_SOCK --pidfile --detach --log-file=/var/log/openvswitch/ovs-vswitchd.log
# ovs-vsctl add-br br0
# ovs-vsctl set bridge br0 datapath_type=netdev
# ovs-vsctl add-port br0 dpdk0 -- set Interface dpdk0 type=dpdk # ovs-vsctl add-port br0 dpdk1 -- set Interface dpdk1 type=dpdk
I can list both the ports on br0.
---
Continued with the steps in INSTALL.DPDK and executed the following "script"
#! /bin/sh
# Move to command directory
cd /usr/src/ovs/utilities/
# ./ovs-ofctl del-flows br0
# ./ovs-ofctl add-flow br0 in_port=1,dl_type=0x800,nw_src=1.1.1.1,\
nw_dst=1.1.1.2,idle_timeout=0,action=output:2
#./ovs-ofctl add-flow br0 in_port=2,dl_type=0x800,nw_src=1.1.1.2,\
nw_dst=1.1.1.1,idle_timeout=0,action=output:1
#./ovs-vsctl set Open_vSwitch . other_config:pmd-cpu-mask=00000550
'was able to check the presence of 2 PMD threads via "top -p `pidof ovs-vswitchd` -H -d1" ('am using a 2 socket server).
#./ovs-vsctl set Open_vSwitch . other_config:n-dpdk-rxqs=4
#./ovs-vsctl add-port br0 dpdkr0 -- set Interface dpdkr0 type=dpdkr
Ended with an error here...
2014-10-07T15:48:52.003Z|00038|dpif_netdev|ERR|dpdkr0, cannot set multiq
2014-10-07T15:48:52.003Z|00039|dpif|WARN|netdev at ovs-netdev: failed to add dpdkr0 as port: Resource temporarily unavailable
---
Thanks
Vinod
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/discuss/attachments/20141015/17d7c70e/attachment.html>
I had git cloned the OVS master tree a few days ago and using 1.7.0 version of DPDK along with latest OVS I tried to followed the instructions mentioned in INSTALL.DPDK. Running into an error and was wondering as to what I may be doing wrong..or may have missed.
--
Have a 2 socket server with a separate NIC for my regular site network etc. and am using the following second NIC (Intel 82599) for my initial experiments.
05:00.0 Ethernet controller: Intel Corporation 82599 10 Gigabit Dual Port Backplane Connection (rev 01)
05:00.1 Ethernet controller: Intel Corporation 82599 10 Gigabit Dual Port Backplane Connection (rev 01)
Setting up DPDK :
# mount -t hugetlbfs -o pagesize=1G none /dev/hugepages
# modprobe uio
# insmod /usr/src/dpdk/x86_64-native-linuxapp-gcc/kmod/igb_uio.ko
# modprobe tun
# cd /usr/src/dpdk/tools
# ./dpdk_nic_bind.py --status
# ./dpdk_nic_bind.py --force --bind=igb_uio 0000:05:00.0 0000:05:00.1
OVS setup :
# rm -f /usr/local/etc/openvswitch/conf.db
# cd /usr/src/ovs
# ./ovsdb/ovsdb-tool create /usr/local/etc/openvswitch/conf.db ./vswitchd/vswitch.ovsschema
# ./ovsdb/ovsdb-server --remote=punix:/usr/local/var/run/openvswitch/db.sock --remote=db:Open_vSwitch,Open_vSwitch,manager_options --private-key=db:Open_vSwitch,SSL,private_key --certificate=Open_vSwitch,SSL,certificate --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert --pidfile --detach
#./utilities/ovs-vsctl --no-wait init
# export DB_SOCK=/usr/local/var/run/openvswitch/db.sock
# ./vswitchd/ovs-vswitchd --dpdk -c 0x1 -n 4 --socket-mem 1024,0 -- unix:$DB_SOCK --pidfile --detach --log-file=/var/log/openvswitch/ovs-vswitchd.log
# ovs-vsctl add-br br0
# ovs-vsctl set bridge br0 datapath_type=netdev
# ovs-vsctl add-port br0 dpdk0 -- set Interface dpdk0 type=dpdk # ovs-vsctl add-port br0 dpdk1 -- set Interface dpdk1 type=dpdk
I can list both the ports on br0.
---
Continued with the steps in INSTALL.DPDK and executed the following "script"
#! /bin/sh
# Move to command directory
cd /usr/src/ovs/utilities/
# ./ovs-ofctl del-flows br0
# ./ovs-ofctl add-flow br0 in_port=1,dl_type=0x800,nw_src=1.1.1.1,\
nw_dst=1.1.1.2,idle_timeout=0,action=output:2
#./ovs-ofctl add-flow br0 in_port=2,dl_type=0x800,nw_src=1.1.1.2,\
nw_dst=1.1.1.1,idle_timeout=0,action=output:1
#./ovs-vsctl set Open_vSwitch . other_config:pmd-cpu-mask=00000550
'was able to check the presence of 2 PMD threads via "top -p `pidof ovs-vswitchd` -H -d1" ('am using a 2 socket server).
#./ovs-vsctl set Open_vSwitch . other_config:n-dpdk-rxqs=4
#./ovs-vsctl add-port br0 dpdkr0 -- set Interface dpdkr0 type=dpdkr
Ended with an error here...
2014-10-07T15:48:52.003Z|00038|dpif_netdev|ERR|dpdkr0, cannot set multiq
2014-10-07T15:48:52.003Z|00039|dpif|WARN|netdev at ovs-netdev: failed to add dpdkr0 as port: Resource temporarily unavailable
---
Thanks
Vinod
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openvswitch.org/pipermail/discuss/attachments/20141015/17d7c70e/attachment.html>