Skip to main content

Overview

Network QoS (Quality of Service) policies enforce traffic controls at the virtual switch level on each hypervisor. Policies apply bandwidth limits, burst allowances, DSCP markings, and minimum bandwidth guarantees to individual ports or entire networks. Controls are enforced by the L2 agent — no guest OS configuration is required. Administrators create and optionally share policies; project users apply them to their ports and networks.
Administrator Access Required — This operation requires the admin role. Contact your Polystack administrator if you do not have sufficient permissions.
Prerequisites
  • Admin credentials sourced from openrc.sh
  • QoS service plugin enabled in your cluster (configured via the deployment console under Networking → Plugins)
  • Open vSwitch or Linux Bridge L2 agent running on all compute nodes

QoS Rule Types

Polystack Networking supports four QoS rule types. Multiple rules of different types can be combined within a single policy.
Minimum bandwidth and minimum packet rate guarantees require SR-IOV hardware and a compatible network backend. Standard OVS-based ports support bandwidth limits and DSCP marking only.

Create a QoS Policy

Navigate to QoS Policies

Navigate to Network > QoS Policies (admin view). Click Create Policy.

Define the policy

Add a bandwidth limit rule

Open the newly created policy and click Add Bandwidth Limit Rule:
Click Save to activate the rule.

Apply to a port or network

To apply to a specific port: navigate to Network > Ports (admin view), select the port, click Edit Port, and set the QoS Policy field.To apply to an entire network: navigate to Network > Networks (admin view), select the network, click Edit Network, and set the QoS Policy field.
Applying a QoS policy to a network sets a default for all new ports on that network. Existing ports are not retroactively updated.

DSCP Marking

DSCP (Differentiated Services Code Point) marking tags outgoing packets so that upstream routers and switches can prioritize traffic flows. This is essential for real-time workloads such as VoIP, video conferencing, and database replication traffic.

Open a QoS policy

Navigate to Network > QoS Policies (admin view) and open an existing policy or create a new one.

Add DSCP marking rule

Click Add DSCP Marking Rule and set the DSCP value:
Click Save. The rule applies immediately to new packet flows on assigned ports.

Guaranteed Minimum Bandwidth

Minimum bandwidth rules provide a throughput floor — a guarantee that the port will always receive at least the specified bandwidth even under network congestion. This requires SR-IOV hardware and a compatible network backend.
Minimum bandwidth guarantees are only supported on SR-IOV virtual functions (VFs) with a compatible hardware NIC. Standard OVS ports do not enforce minimum bandwidth floors — only maximum limits.
Create minimum bandwidth policy for guaranteed throughput
Add 1 Gbps minimum bandwidth guarantee (egress)
Apply to an SR-IOV port

Manage QoS Policies

List all QoS policies
Show policy details
List rules in a policy

Per-Port vs. Per-Network QoS

Apply QoS at the network level for consistent defaults, then override individual ports for exceptions (e.g., a database port that needs a higher limit than the general application tier).

Validation

Confirm QoS enforcement is active after applying a policy:
Navigate to Network > Ports (admin view) and select the port. The QoS Policy field should display the assigned policy name. Navigate to the instance and run a bandwidth test from inside the guest to confirm enforcement.

Best Practices

Tiered Policy Names

Create named tiers — bronze-10mbps, silver-100mbps, gold-1gbps — and share them across projects for consistent, predictable service levels.

Apply at Network Level

Apply QoS to networks for automatic inheritance. Override at the port level only for exceptions that need different treatment from the network default.

Burst Sizing

Set burst to 2× the sustained limit. Short traffic spikes are absorbed by the burst allowance without impacting the sustained throughput commitment.

Monitor with Monitoring

Use Polystack Monitoring to track port-level throughput in real time and confirm QoS policies are enforcing expected limits under production load.

Troubleshooting

Cause: The QoS service plugin is not enabled in the Networking configuration.Resolution: In the deployment console, navigate to Networking → Plugins and enable the QoS plugin. Redeploy the networking service:
Redeploy networking service
Restart the L2 agent on all compute nodes after the plugin is enabled.
Cause: The L2 agent on the compute node hosting the instance may not have the QoS extension loaded.Resolution: Verify the agent has the qos extension active:
Check L2 agent capabilities
Look for qos in the extensions list. If absent, restart the L2 agent on the affected compute node.
Cause: The policy is still assigned to one or more ports or networks.Resolution: Find and clear all assignments:
Find ports using the policy
Remove assignments from each port, then retry the delete.
Cause: Minimum bandwidth rules require SR-IOV hardware and a compatible backend (OVS-DPDK or SR-IOV). Standard OVS does not support minimum bandwidth enforcement.Resolution: Use bandwidth limit rules for maximum throughput control on standard OVS ports. Deploy SR-IOV ports for guaranteed minimum bandwidth requirements.

Next Steps

Network Quotas

Limit the number of networking resources per project alongside QoS controls

Provider Networks

Configure the physical network that QoS policies apply to at the hypervisor level

Service Architecture

Understand how L2 agents enforce QoS rules at the virtual switch level

Admin Troubleshooting

Diagnose QoS enforcement issues and L2 agent configuration problems