X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=INSTALL.DPDK.md;h=1fc1b66ea5eaf8735d277bc0bc4ebd72591ecd4b;hb=c391558c30d7d7eb5c20da3ba0cd4700b6890962;hp=ca49106ce0628cb1b423d11284380f884c8f4ce4;hpb=1af27e8a4e08ac993834bcbc8ef49ef6e50a9385;p=cascardo%2Fovs.git diff --git a/INSTALL.DPDK.md b/INSTALL.DPDK.md index ca49106ce..1fc1b66ea 100644 --- a/INSTALL.DPDK.md +++ b/INSTALL.DPDK.md @@ -36,11 +36,11 @@ on Debian/Ubuntu) Then run `make install` to build and install the library. For default install without IVSHMEM: - `make install T=x86_64-native-linuxapp-gcc` + `make install T=x86_64-native-linuxapp-gcc DESTDIR=install` To include IVSHMEM (shared memory): - `make install T=x86_64-ivshmem-linuxapp-gcc` + `make install T=x86_64-ivshmem-linuxapp-gcc DESTDIR=install` For further details refer to http://dpdk.org/ @@ -207,6 +207,26 @@ Using the DPDK with ovs-vswitchd: ./ovs-ofctl add-flow br0 in_port=2,action=output:1 ``` +8. QoS usage example + + Assuming you have a vhost-user port transmitting traffic consisting of + packets of size 64 bytes, the following command would limit the egress + transmission rate of the port to ~1,000,000 packets per second: + + `ovs-vsctl set port vhost-user0 qos=@newqos -- --id=@newqos create qos + type=egress-policer other-config:cir=46000000 other-config:cbs=2048` + + To examine the QoS configuration of the port: + + `ovs-appctl -t ovs-vswitchd qos/show vhost-user0` + + To clear the QoS configuration from the port and ovsdb use the following: + + `ovs-vsctl destroy QoS vhost-user0 -- clear Port vhost-user0 qos` + + For more details regarding egress-policer parameters please refer to the + vswitch.xml. + Performance Tuning: ------------------- @@ -590,6 +610,22 @@ Follow the steps below to attach vhost-user port(s) to a VM. -device virtio-net-pci,mac=00:00:00:00:00:02,netdev=mynet2,mq=on,vectors=$v ``` + If one wishes to use multiple queues for an interface in the guest, the + driver in the guest operating system must be configured to do so. It is + recommended that the number of queues configured be equal to '$q'. + + For example, this can be done for the Linux kernel virtio-net driver with: + + ``` + ethtool -L combined <$q> + ``` + + A note on the command above: + + `-L`: Changes the numbers of channels of the specified network device + + `combined`: Changes the number of multi-purpose channels. + DPDK vhost-cuse: ----------------