[Bug 1840716] Re: Existing ingress qdisc gets removed from port

Jorge Niedbalski 1840716 at bugs.launchpad.net
Mon Aug 19 21:55:35 UTC 2019


** Also affects: openvswitch
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of Ubuntu
OpenStack, which is subscribed to openvswitch in Ubuntu.
https://bugs.launchpad.net/bugs/1840716

Title:
  Existing ingress qdisc gets removed from port

Status in openvswitch:
  New
Status in openvswitch package in Ubuntu:
  New

Bug description:
  [Environment]

  OpenvSwitch
  Ubuntu Bionic

  [Description]

  The current netdev linux bridge implementation removes the tc ingress
  qdisc for an existing ovs bridge port.

  This issue is reproducible without neutron with a bare ovs bridge + a
  libvirt definition.

  Consider the following ovs bridge.

  root at bionic-test:/home/ubuntu# ovs-vsctl show
  b936ab43-ba83-4aa0-825d-5975e8b87270
  Bridge "ovs-br0"
  Port "ens7"
  Interface "ens7"
  Port "ovs-br0"
  Interface "ovs-br0"
  type: internal
  ovs_version: "2.9.2"

  root at bionic-test:/home/ubuntu# ip link
  3: ens7: <BROADCAST,MULTICAST> mtu 1500 qdisc noop master ovs-system state DOWN mode DEFAULT group default qlen 1000
  link/ether 52:54:00:84:60:6e brd ff:ff:ff:ff:ff:ff
  4: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
  link/ether ba:5b:46:3a:dd:ff brd ff:ff:ff:ff:ff:ff
  5: ovs-br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
  link/ether 3a:bf:0b:5c:87:4a brd ff:ff:ff:ff:ff:ff

  16: vnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc htb master ovs-system state UNKNOWN mode DEFAULT group default qlen 1000
  link/ether fe:54:00:ae:17:05 brd ff:ff:ff:ff:ff:ff

  root at bionic-test:/home/ubuntu# tc qdisc show dev vnet1
  qdisc htb 1: root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
  qdisc sfq 2: parent 1:1 limit 127p quantum 1514b depth 127 divisor 1024 perturb 10sec

  root at bionic-test:/home/ubuntu# tc class show dev vnet1
  class htb 1:1 root leaf 2: prio rate 1024Kbit ceil 2048Kbit burst 256Kb cburst 1599b

  root at bionic-test:/home/ubuntu# tc filter show dev vnet1 parent ffff:
  root at bionic-test:/home/ubuntu#

  Following is the interface definition:

  <interface type='bridge'>
  <mac address='52:54:00:ae:17:05'/>
  <source bridge='ovs-br0'/>
  <virtualport type='openvswitch'>
  <parameters interfaceid='86814ca6-615b-41cd-8d85-4873638d1b66'/>
  </virtualport>
  <bandwidth>
  <inbound average='128' peak='256' burst='256'/>
  <outbound average='128' peak='256' burst='256'/>
  </bandwidth>
  <model type='rtl8139'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
  </interface>

  ---- 2nd case

  Through a direct linux bridge (not managed by ovs)

  <interface type='bridge'>
  <mac address='52:54:00:88:9d:0a'/>
  <source bridge='virbr0'/>
  <bandwidth>
  <inbound average='128' peak='256' burst='256'/>
  <outbound average='128' peak='256' burst='256'/>
  </bandwidth>
  <model type='virtio'/>
  <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
  </interface>

  root at bionic-test:/home/ubuntu# tc qdisc show dev vnet2
  qdisc htb 1: root refcnt 2 r2q 10 default 1 direct_packets_stat 0 direct_qlen 1000
  qdisc sfq 2: parent 1:1 limit 127p quantum 1514b depth 127 divisor 1024 perturb 10sec
  qdisc ingress ffff: parent ffff:fff1 ----------------

  root at bionic-test:/home/ubuntu# tc class show dev vnet2
  class htb 1:1 root leaf 2: prio rate 1024Kbit ceil 2048Kbit burst 256Kb cburst 1599b

  root at bionic-test:/home/ubuntu# tc filter show dev vnet2 parent ffff:
  filter protocol all pref 49152 u32 chain 0
  filter protocol all pref 49152 u32 chain 0 fh 800: ht divisor 1
  filter protocol all pref 49152 u32 chain 0 fh 800::800 order 2048 key ht 800 bkt 0 flowid :1 not_in_hw
  match 00000000/00000000 at 0
  police 0x1 rate 1024Kbit burst 256Kb mtu 64Kb action drop overhead 0b
  ref 1 bind 1

  [Suggested solution]

  If no tc rate limits have been provided for the port and there is an existing
  ingress qdisc already set that differs from provided limits, avoid resetting the existing ingress qdisc.

To manage notifications about this bug go to:
https://bugs.launchpad.net/openvswitch/+bug/1840716/+subscriptions



More information about the Ubuntu-openstack-bugs mailing list