X-Git-Url: http://git.cascardo.eti.br/?a=blobdiff_plain;f=INSTALL.DPDK.md;h=1fc1b66ea5eaf8735d277bc0bc4ebd72591ecd4b;hb=f76def2592cc5cb449a3360430ee9cc0f208765d;hp=d2865c3940f64cf4b2b6632da2af45f4a0a2ab76;hpb=ce179f1163f947fe8dc5afa35a2cdd0756bb53a0;p=cascardo%2Fovs.git diff --git a/INSTALL.DPDK.md b/INSTALL.DPDK.md index d2865c394..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: ------------------- @@ -511,7 +531,8 @@ Adding DPDK vhost-user ports to the Switch: Following the steps above to create a bridge, you can now add DPDK vhost-user as a port to the vswitch. Unlike DPDK ring ports, DPDK vhost-user ports can -have arbitrary names. +have arbitrary names, except that forward and backward slashes are prohibited +in the names. - For vhost-user, the name of the port type is `dpdkvhostuser` @@ -589,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: ----------------