Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Does OVN (with Yoga release) use OVS or Linux TC for QoS implementation? #256

Open
nhtung96 opened this issue Jul 23, 2024 · 3 comments
Open

Comments

@nhtung96
Copy link

Hi team, I got a problem that my VM port does not have traffic rate limit, although it has been applied QoS policy (100Mbps) . I checked the northbound ovn-nbctl qos-list and found qos rule associated to VM port. It is OK. However, I looked at ovs-vsctl list interface <vm_tap_port> and I saw ingress_policing_rate=0 (burst=0 also), it means OVS didn't play a role in QoS rate limit, didnt it? I also tried to set ingress_policing_rate=100000 but it did not have improvement for actual rate limit.

@numansiddique
Copy link
Collaborator

@LorenzoBianconi Do you have any comments for this issue ?

@LorenzoBianconi
Copy link
Contributor

@nhtung96 I guess ovn/ovs for incoming traffic rate limiting is using ovs-meters instead of tc (tc qdisc are used for egress traffic shaping if ovs-kdp is used). Can you please try dumping ovs meters?

@nhtung96
Copy link
Author

@LorenzoBianconi Thank you for your reply. I did try dumping ovs meters at compute node but didnt see the meter with the rate I configured. (actually I don't how meter id link to ovn nb/sb db qos rule, just grep the rate).
I am wondering if there is a limit of number of meter entry caused this problem, since the compute node has already 4264 meter entry.
======OVN NB check=
#ovn-nbctl --no-leader-only qos-list 849cef9b-df14-4fd2-b67c-a05d4e16b7c1
from-lport 2002 (inport == "fb9bc844-06bf-491f-b8e2-0ca525614b80") rate=100000 burst=80000
to-lport 2002 (outport == "fb9bc844-06bf-491f-b8e2-0ca525614b80") rate=100000 burst=80000
======OVN SB check=
Datapath: "neutron-81d434c8-00d9-44a0-9283-9719132fe6fd" aka "test-qos-net-2" (2bc31a5e-73ed-4035-b315-a9387934f2a4) Pipeline: ingress
table=10(ls_in_qos_mark ), priority=0 , match=(1), action=(next;)
table=11(ls_in_qos_meter ), priority=2002 , match=(inport == "fb9bc844-06bf-491f-b8e2-0ca525614b80"), action=(set_meter(100000, 80000); next;)
table=11(ls_in_qos_meter ), priority=0 , match=(1), action=(next;)
Datapath: "neutron-81d434c8-00d9-44a0-9283-9719132fe6fd" aka "test-qos-net-2" (2bc31a5e-73ed-4035-b315-a9387934f2a4) Pipeline: egress
table=5 (ls_out_qos_mark ), priority=0 , match=(1), action=(next;)
table=6 (ls_out_qos_meter ), priority=2002 , match=(outport == "fb9bc844-06bf-491f-b8e2-0ca525614b80"), action=(set_meter(100000, 80000); next;)
table=6 (ls_out_qos_meter ), priority=0 , match=(1), action=(next;)

======OVS check====
#ovs-ofctl -O OpenFlow15 dump-meters br-int | grep "100000 "
#ovs-ofctl -O OpenFlow15 dump-meters br-int | grep "rate" | wc -l
4264

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants