port with ingress qos will drop packet if other port has heavy traffic

Bug #1813744 reported by Yang Li
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
tripleo
Expired
Medium
Unassigned

Bug Description

There are 2 instances(A:192.168.100.22, B:192.168.100.25) in a compute nodes, and they are in a same subnet, and security-group type is openvswitch. When I set a qos policy(with egress and ingress bandwidth 1Mb) to an instance B, if there is heavy traffic in instance A, the packets through instance B will be dropped.
Step:
1.Create qos policy egress and ingress
# openstack network qos policy create test

# openstack network qos rule create --max-kbps 1024 --max-burst-kbits 1024 --ingress --type bandwidth-limit test

# openstack network qos rule create --max-kbps 1024 --max-burst-kbits 1024 --egress --type bandwidth-limit test

2.Update instance B's port with qos policy
# neutron port-list | grep af693927-8fff-4c73-b2cf-0341a31589c9
| af693927-8fff-4c73-b2cf-0341a31589c9 | | ce87e33e1cf145a89ecf8e3a2e19f9d9 | fa:16:3e:53:49:8d | {"subnet_id": "83dbc649-eb2d-418d-a6f0-6b33aa5a5752", "ip_address": "192.168.100.25"}
# neutron port-update --qos-policy test af693927-8fff-4c73-b2cf-0341a31589c9

3. start heavy traffic to instance A
# ip netns exec qdhcp-c0206319-d8ba-43af-b96c-54a188bc82fc ssh cirros@192.168.100.22
$ nc -l -p 10000 > /dev/null

# ip netns exec qdhcp-c0206319-d8ba-43af-b96c-54a188bc82fc nc 192.168.100.22 10000 < /dev/zero

4.start to ping instance B
# ip netns exec qdhcp-c0206319-d8ba-43af-b96c-54a188bc82fc ping 192.168.100.25
PING 192.168.100.25 (192.168.100.25) 56(84) bytes of data.
64 bytes from 192.168.100.25: icmp_seq=8 ttl=64 time=1031 ms
64 bytes from 192.168.100.25: icmp_seq=9 ttl=64 time=515 ms
64 bytes from 192.168.100.25: icmp_seq=17 ttl=64 time=515 ms
64 bytes from 192.168.100.25: icmp_seq=18 ttl=64 time=515 ms
64 bytes from 192.168.100.25: icmp_seq=19 ttl=64 time=514 ms
64 bytes from 192.168.100.25: icmp_seq=33 ttl=64 time=515 ms
64 bytes from 192.168.100.25: icmp_seq=34 ttl=64 time=514 ms
64 bytes from 192.168.100.25: icmp_seq=35 ttl=64 time=514 ms
64 bytes from 192.168.100.25: icmp_seq=37 ttl=64 time=515 ms
64 bytes from 192.168.100.25: icmp_seq=47 ttl=64 time=515 ms
64 bytes from 192.168.100.25: icmp_seq=48 ttl=64 time=1002 ms

The result shows that 30+ packets are dropped, it looks like heavy traffic to instance A cause B dropping packet.

But when I remove ingress rule, only egress rule exists, the packets drop won't happen.

Yang Li (yang-li)
description: updated
Yang Li (yang-li)
description: updated
Yang Li (yang-li)
description: updated
Yang Li (yang-li)
summary: - Ingress qos will cause packets drop for other ports
+ port with ingress qos will drop packet if other port has heavy traffic
Changed in tripleo:
importance: Undecided → Medium
wes hayutin (weshayutin)
Changed in tripleo:
status: New → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for tripleo because there has been no activity for 60 days.]

Changed in tripleo:
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.