On 6/27/22 18:16, Nikola Ciprich wrote:
> Hello Michal,
> 
> sorry, it's writen in the linked ticket, but I should have written
> it here..
> 
> when we created original libvirt ticket, we've tested it with
> openvswitch-2.11.1. I can retest with newer version if needed.
> 
> regarding cmd line, I've quoted ovs-vsctl cmd line, do you mean
> anything else?

Oh, I've thought that libvirt-7.0.0 already used ovs-vsctl to set up QoS
but it didn't. That was added only in libvirt-7.6.0. Previously, libvirt
used 'tc' to set up QoS which was obviously suboptimal, because OVS kept
clearing the setting.

So, back to the original question, what's the ovs-vsctl equivalent of:

tc qdisc del dev eth0 root
tc qdisc del dev eth0 ingress
tc qdisc add dev eth0 root handle 1: htb default 1
tc class add dev eth0 parent 1: classid 1:1 htb rate 128000kbps quantum 10922
tc qdisc add dev eth0 parent 1:1 handle 2: sfq perturb 10
tc filter add dev eth0 parent 1:0 protocol all prio 1 handle 1 fw flowid 1
tc qdisc add dev eth0 ingress
tc filter add dev eth0 parent ffff: protocol all u32 match u32 0 0 police rate 
128000kbps burst 128000kb mtu 64kb drop flowid :1

Libvirt would currently generate:

ovs-vsctl --timeout=5 --no-heading --columns=_uuid find queue 
'external-ids:vm-id="c1018351-a229-4209-9faf-42446e0b53e5"' 
'external-ids:ifname="eth0"'
ovs-vsctl --timeout=5 --no-heading --columns=_uuid find qos 
'external-ids:vm-id="c1018351-a229-4209-9faf-42446e0b53e5"' 
'external-ids:ifname="eth0"'
ovs-vsctl --timeout=5 set port eth0 qos=@qos1 
'external-ids:vm-id="c1018351-a229-4209-9faf-42446e0b53e5"' 
'external-ids:ifname="eth0"' -- --id=@qos1 create qos type=linux-htb 
other_config:min-rate=1024000000 queues:0=@queue0 
'external-ids:vm-id="c1018351-a229-4209-9faf-42446e0b53e5"' 
'external-ids:ifname="eth0"' -- --id=@queue0 create queue 
other_config:min-rate=1024000000 
'external-ids:vm-id="c1018351-a229-4209-9faf-42446e0b53e5"' 
'external-ids:ifname="eth0"'
ovs-vsctl --timeout=5 set Interface eth0 ingress_policing_rate=1024000

BTW: there was a fix in libvirt-8.0.0, which could help. It fixed
conversion from kibibytes to bits (factor of 8000 vs 8192). Nikola, can
you please give it a try?

Michal

_______________________________________________
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss

Reply via email to