From 76d0839db82d8e9470a7e047961718798f4709e7 Mon Sep 17 00:00:00 2001 From: LIU Yulong Date: Thu, 10 Feb 2022 15:42:33 +0800 Subject: [PATCH] [Doc] packet rate limit user workflow and notes Adds some notes and CLI examples for users to use the packet rate limit to a port. Change-Id: I7ad81d4a9028d88251c9dcfe07969dd2dd398592 --- devstack/ovn-local.conf.sample | 4 +++ doc/source/admin/config-qos.rst | 57 +++++++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) diff --git a/devstack/ovn-local.conf.sample b/devstack/ovn-local.conf.sample index d31e05b90fb..6b403f891cc 100644 --- a/devstack/ovn-local.conf.sample +++ b/devstack/ovn-local.conf.sample @@ -167,6 +167,10 @@ ENABLE_CHASSIS_AS_GW=True # script, please don't modify or remove, keep it before any post-config items #EXTRA_CONFIG +[[post-config|$NEUTRON_CONF]] +[DEFAULT] +dns_domain = elvira.org + [[post-config|$NOVA_CONF]] [scheduler] discover_hosts_in_cells_interval = 2 diff --git a/doc/source/admin/config-qos.rst b/doc/source/admin/config-qos.rst index 1c52a484a6d..b5713dba79c 100644 --- a/doc/source/admin/config-qos.rst +++ b/doc/source/admin/config-qos.rst @@ -34,6 +34,8 @@ QoS supported rule types are now available as ``VALID_RULE_TYPES`` in `QoS rule * bandwidth_limit: Bandwidth limitations on networks, ports or floating IPs. +* packet_rate_limit: Packet rate limitations on certain types of traffic. + * dscp_marking: Marking network traffic with a DSCP value. * minimum_bandwidth: Minimum bandwidth constraints on certain types of traffic. @@ -56,6 +58,7 @@ traffic directions (from the VM point of view). Rule \\ back end Open vSwitch SR-IOV Linux bridge OVN ==================== ============================= ======================= =================== =================== Bandwidth limit Egress \\ Ingress Egress (1) Egress \\ Ingress Egress \\ Ingress + Packet rate limit Egress \\ Ingress - - - Minimum bandwidth Egress \\ Ingress (2) Egress \\ Ingress (2) - - Minimum packet rate - - - - DSCP marking Egress - Egress Egress @@ -632,6 +635,60 @@ be used. | shared | False | +-------------------+--------------------------------------+ +Create qos policy with packet rate limit rules: + +.. code-block:: console + + $ openstack network qos policy create pps-limiter + +-------------+--------------------------------------+ + | Field | Value | + +-------------+--------------------------------------+ + | description | | + | id | 97f0ac37-7dd6-4579-8359-3bef0751a505 | + | is_default | False | + | name | pps-limiter | + | project_id | 1d70739f831b421fb38a27adb368fc17 | + | rules | [] | + | shared | False | + | tags | [] | + +-------------+--------------------------------------+ + + $ openstack network qos rule create --max-kpps 1000 --max-burst-kpps 100 --ingress --type packet-rate-limit pps-limiter + +----------------+--------------------------------------+ + | Field | Value | + +----------------+--------------------------------------+ + | direction | ingress | + | id | 4a1cb166-9661-48d7-bddb-00b7d75846cd | + | max_burst_kpps | 100 | + | max_kpps | 1000 | + | name | None | + | project_id | | + +----------------+--------------------------------------+ + + $ openstack network qos rule create --max-kpps 1000 --max-burst-kpps 100 --egress --type packet-rate-limit pps-limiter + +----------------+--------------------------------------+ + | Field | Value | + +----------------+--------------------------------------+ + | direction | egress | + | id | 6abd67f7-0bde-4ad3-ac54-b0a6103b0449 | + | max_burst_kpps | 100 | + | max_kpps | 1000 | + | name | None | + | project_id | | + +----------------+--------------------------------------+ + +.. note:: The unit for the rate and burst is kilo (1000) packets per second. + +Now apply the packet rate limit QoS policy to a Port: + +.. code-block:: console + + $ openstack port set --qos-policy pps-limiter 251948bd-08e4-4569-a47f-ecbc1fd4af4d + +.. note:: Packet rate limit is only supported by the ml2 ovs driver. And it leverages + the meter actions of the ovs kernel datapath or the userspace ovs dpdk datapath. + The meter action is only supported when the datapath is in user mode + or ovs kernel datapath with kernerl version >= 4.15. Administrator enforcement -------------------------