Bug 1826444 - [OSP13] Representor port's queue is not deleted from qdisc when deleting guest/port in hardware offload setup
Summary: [OSP13] Representor port's queue is not deleted from qdisc when deleting gues...
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: openvswitch
Version: 13.0 (Queens)
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
: ---
Assignee: Marcelo Ricardo Leitner
QA Contact: Eran Kuris
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-04-21 17:28 UTC by Vadim Khitrin
Modified: 2020-08-04 22:26 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-08-04 22:26:45 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Vadim Khitrin 2020-04-21 17:28:00 UTC
Description of problem:
Using Connect-X5 NICs.
When spawning offloaded ports attached to guests, we can see the following entries being logged:
2020-04-21T13:59:43.053Z|00326|netdev_tc_offloads|INFO|added ingress qdisc to p6p2_2
2020-04-21T13:59:43.053Z|00327|bridge|INFO|bridge br-int: added interface p6p2_2 on port 34
2020-04-21T13:59:43.054Z|00328|netdev_linux|DBG|unknown qdisc "mq"
2020-04-21T13:59:44.154Z|00329|netdev_tc_offloads|INFO|added ingress qdisc to p6p2_9
2020-04-21T13:59:44.155Z|00330|bridge|INFO|bridge br-int: added interface p6p2_9 on port 35
2020-04-21T13:59:47.299Z|00331|netdev_tc_offloads|INFO|added ingress qdisc to p6p2_7
2020-04-21T13:59:47.299Z|00332|bridge|INFO|bridge br-int: added interface p6p2_7 on port 36
2020-04-21T13:59:47.759Z|00333|netdev_tc_offloads|INFO|added ingress qdisc to p6p2_1
2020-04-21T13:59:47.759Z|00334|bridge|INFO|bridge br-int: added interface p6p2_1 on port 37
2020-04-21T13:59:51.751Z|00335|netdev_tc_offloads|INFO|added ingress qdisc to p6p2_3
2020-04-21T13:59:51.751Z|00336|bridge|INFO|bridge br-int: added interface p6p2_3 on port 38
2020-04-21T13:59:51.927Z|00337|netdev_tc_offloads|INFO|added ingress qdisc to p6p2_4
2020-04-21T13:59:51.928Z|00338|bridge|INFO|bridge br-int: added interface p6p2_4 on port 39
2020-04-21T13:59:52.174Z|00339|netdev_tc_offloads|INFO|added ingress qdisc to p6p2_8
2020-04-21T13:59:52.175Z|00340|bridge|INFO|bridge br-int: added interface p6p2_8 on port 40
2020-04-21T13:59:52.365Z|00341|netdev_tc_offloads|INFO|added ingress qdisc to p6p2_6
2020-04-21T13:59:52.365Z|00342|bridge|INFO|bridge br-int: added interface p6p2_6 on port 41
2020-04-21T13:59:53.546Z|00343|connmgr|INFO|br-link0<->tcp:127.0.0.1:6633: 1 flow_mods 10 s ago (1 adds)
2020-04-21T13:59:53.559Z|00344|netdev_tc_offloads|INFO|added ingress qdisc to p6p2_5
2020-04-21T13:59:53.559Z|00345|bridge|INFO|bridge br-int: added interface p6p2_5 on port 42
2020-04-21T13:59:54.013Z|00346|connmgr|INFO|br-int<->tcp:127.0.0.1:6633: 67 flow_mods in the 9 s starting 10 s ago (1 adds, 66 deletes)

And we can see queues populated:
tc q | grep ingress
qdisc ingress ffff: dev p4p1 parent ffff:fff1 ingress_block 64 ---------------- 
qdisc ingress ffff: dev p6p1 parent ffff:fff1 ingress_block 66 ---------------- 
qdisc ingress ffff: dev p4p2 parent ffff:fff1 ingress_block 64 ---------------- 
qdisc ingress ffff: dev p6p2 parent ffff:fff1 ingress_block 66 ---------------- 
qdisc ingress ffff: dev p6p2_1 parent ffff:fff1 ---------------- 
qdisc ingress ffff: dev p6p2_2 parent ffff:fff1 ---------------- 
qdisc ingress ffff: dev p6p2_3 parent ffff:fff1 ---------------- 
qdisc ingress ffff: dev p6p2_4 parent ffff:fff1 ---------------- 
qdisc ingress ffff: dev p6p2_5 parent ffff:fff1 ---------------- 
qdisc ingress ffff: dev p6p2_6 parent ffff:fff1 ---------------- 
qdisc ingress ffff: dev p6p2_7 parent ffff:fff1 ---------------- 
qdisc ingress ffff: dev p6p2_8 parent ffff:fff1 ---------------- 
qdisc ingress ffff: dev p6p2_9 parent ffff:fff1 ---------------- 
qdisc ingress ffff: dev mx-bond parent ffff:fff1 ingress_block 66 ---------------- 
qdisc ingress ffff: dev vxlan_sys_4789 parent ffff:fff1 ---------------- 

When deleting instances and ports, the queues are not being deleted.

Rebooting the compute node clears up the queues.

Version-Release number of selected component (if applicable):
z11(2020-03-04.1)

How reproducible:
Always

Steps to Reproduce:
1. Deploy hardware offload capable deployment
2. Create instances/ports
3. Check tc
4. Delete instances/ports
5. Check tc

Actual results:
Queues are not deleted upon instance/port deletion.

Expected results:
Queues should be removed upon instance/port deletion.

Additional info:
Will attack SOS reports in comment.

Comment 2 Marcelo Ricardo Leitner 2020-07-21 18:58:19 UTC
Hi Vadim,

That's actually by design. Did you notice any side-effects due to the qdiscs still being present?

Thanks,
Marcelo

Comment 3 Marcelo Ricardo Leitner 2020-08-04 22:26:45 UTC
Well, if anything, please feel free to reopen or open a new one. Thanks.


Note You need to log in before you can comment on or make changes to this bug.