[ovs-dev] [Dpdk-ovs] OVS DPDK Bridge Packet loss

Varun Rapelly varunrapelly at gmail.com
Mon Jul 6 12:01:12 UTC 2015


Hi Mark,

Following are the scripts.

Init.sh
-------------
mount -t hugetlbfs -o pagesize=1G none /dev/hugepages
modprobe openvswitch
OVS=/root/OVS/ovs-branch-2.4

pkill -9 ovs
rm -rf /usr/local/etc/openvswitch/
rm -rf /usr/local/var/run/openvswitch/
rm -rf /usr/local/etc/openvswitch/conf.db
mkdir -p /usr/local/var/run/openvswitch/
mkdir -p /usr/local/etc/openvswitch/
cd $OVS/ovsdb
./ovsdb-tool create /usr/local/etc/openvswitch/conf.db
 ../vswitchd/vswitch.ovsschema

./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=db:Open_vSwitch,SSL,certificate \
                 --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert \
                 --pidfile --detach

cd $OVS/utilities
./ovs-vsctl --no-wait init

export DB_SOCK=/usr/local/var/run/openvswitch/db.sock
cd $OVS/vswitchd
echo > /usr/local/var/log/openvswitch/ovs-vswitchd.log


./ovs-vswitchd  --pidfile --detach
--log-file=/usr/local/var/log/openvswitch/ovs-vswitchd.log

cd $OVS/utilities
/ovs-vsctl add-br ovs
/ovs-vsctl add-port ovs ens3f0
/ovs-vsctl add-br pktovs
/ovs-vsctl add-port pktovs ens3f1


ifconfig ovs 10.54.218.77 netmask 255.255.255.0 up
ifconfig pktovs 10.54.218.81 netmask 255.255.255.0 up
ifconfig pktovs txqueuelen 4096
echo "---------------Created OVS bridge without DPDK-----------------"



DInit.sh
----------------------------
echo "---------------OVS with DPDK-----------------"
cd /root/dpdk-2.0.0/x86_64-native-linuxapp-gcc/kmod
mount -t hugetlbfs -o pagesize=1G none /dev/hugepages
#
modprobe uio
insmod igb_uio.ko
cd /root/dpdk-2.0.0/tools
python dpdk_nic_bind.py --bind=igb_uio 0000:0a:00.0
python dpdk_nic_bind.py --bind=igb_uio 0000:0a:00.1
modprobe openvswitch
OVS=/root/OVS/ovs-branch-2.4

pkill -9 ovs
rm -rf /usr/local/etc/openvswitch/
rm -rf /usr/local/var/run/openvswitch/
rm -rf /usr/local/etc/openvswitch/conf.db
mkdir -p /usr/local/var/run/openvswitch/
mkdir -p /usr/local/etc/openvswitch/
cd $OVS/ovsdb
./ovsdb-tool create /usr/local/etc/openvswitch/conf.db
 ../vswitchd/vswitch.ovsschema

./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=db:Open_vSwitch,SSL,certificate \
                 --bootstrap-ca-cert=db:Open_vSwitch,SSL,ca_cert \
                 --pidfile --detach

cd $OVS/utilities
./ovs-vsctl --no-wait init

export DB_SOCK=/usr/local/var/run/openvswitch/db.sock
cd $OVS/vswitchd
echo > /usr/local/var/log/openvswitch/ovs-vswitchd.log

#./ovs-vswitchd --dpdk -c 0x1 -n 4 -- unix:$DB_SOCK --pidfile --detach
--log-file=/usr/local/var/log/openvswitch/ovs-vswitchd.log
./ovs-vswitchd --dpdk -c 0x1 -n 4 --socket-mem 1024,0 -- unix:$DB_SOCK
--pidfile --detach
--log-file=/usr/local/var/log/openvswitch/ovs-vswitchd.log


cd $OVS/utilities
./ovs-vsctl --no-wait add-br ovs -- set Bridge ovs datapath_type=netdev
./ovs-vsctl add-port ovs dpdk0 -- set Interface dpdk0 type=dpdk
./ovs-vsctl --no-wait add-br pktovs -- set Bridge pktovs
datapath_type=netdev
./ovs-vsctl add-port pktovs dpdk1 -- set Interface dpdk1 type=dpdk
#./ovs-vsctl set Open_vSwitch . other_config:pmd-cpu-mask=0x40
#./ovs-vsctl set Open_vSwitch . other_config:n-dpdk-rxqs=2
#./ovs-vsctl set Open_vSwitch . other_config:n-dpdk-txqs=2


ifconfig ovs 10.54.218.77 netmask 255.255.255.0 up
ifconfig pktovs 10.54.218.81 netmask 255.255.255.0 up
ifconfig pktovs txqueuelen 4096
echo "---------------OVS with DPDK-----------------"




> > Hi All,
> >
> > When I'm using plain OVS bridge [vswitchd without dpdk options], i'm not
> > seeing any packet loss at the ovs bridge.
> >
> > But as i mentioned earlier with DPDK, huge packet loss is happening.
> >
> > Can someone tell, how dpdk options are resulting in packet loss?
> >
> > I tried with increased txqueuelen on pktovs bridge, but no improvement.
> :(
> >
> > cd $OVS/utilities
> > /ovs-vsctl add-br ovs
> > /ovs-vsctl add-port ovs ens3f0
>
> This command doesn’t create a DPDK port. Are you following :
> https://github.com/openvswitch/ovs/blob/master/INSTALL.DPDK.md ?
>

I followed the above link only. The above commands are for non DPDK ports.

>
>
> > /ovs-vsctl add-br pktovs
> > /ovs-vsctl add-port pktovs ens3f1
> >
> >
> > ifconfig ovs 10.54.218.77 netmask 255.255.255.0 up
> > ifconfig pktovs 10.54.218.81 netmask 255.255.255.0 up
> > ifconfig pktovs txqueuelen 4096
> >
> > Do we have any performance result for vswitchd with dpdk options?
>
> This is old data (it has improved a lot since then) but you can see some
> results which should indicate order of magnitude here
>
>
> https://01.org/sites/default/files/page/intel_onp_server_release_1.3.1_benchmark_test_report.pdf
>
> > Did anybody tested vswitchd with dpdk options with higher rate of data [>
> > 200 mbps] ?
> > Is this packet loss is something to do with my setup and configurations?
> []
> >
> > PFA scripts which i used for configuring with[DInit.sh] and without
> > DPDK[Init.sh]
> >
> You should include these inline as the attachment is getting stripped.
>
>


-- 
Thanks & Regds
------------------------------------------------
Varun Rapelly,
9620637186



More information about the dev mailing list