Skip to content
New issue

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

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

Already on GitHub? Sign in 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

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

No branches or pull requests

3 participants