]> git.proxmox.com Git - ovs.git/commit
vswitchd: Make packet-in controller queue size configurable
authorDumitru Ceara <dceara@redhat.com>
Fri, 2 Aug 2019 08:29:52 +0000 (10:29 +0200)
committerBen Pfaff <blp@ovn.org>
Mon, 23 Sep 2019 22:47:59 +0000 (15:47 -0700)
commit3dabc687fef7d84f08af0f0a943b332b58ea9efb
treeb32be5f932ad65ce2c167fbe9e101cf93291c2fb
parent00de46f9ee425e7dff3e600ed2316043437cd819
vswitchd: Make packet-in controller queue size configurable

The ofconn packet-in queue for packets that can't be immediately sent
on the rconn connection was limited to 100 packets (hardcoded value).
While increasing this limit is usually not recommended as it might
create buffer bloat and increase latency, in scaled scenarios it is
useful if the administrator (or CMS) can adjust the queue size.

One such situation was noticed while performing scale testing of the
OVN IGMP functionality: triggering ~200 simultaneous IGMP reports
was causing tail drops on the packet-in queue towards ovn-controller.

This commit adds the possibility to configure the queue size for:
- management controller (br-int.mgmt): through the
  other_config:controller-queue-size column of the Bridge table. This
  value is limited to 512 as large queues definitely affect latency. If
  not present the default value of 100 is used. This is done in order to
  maintain the same default behavior as before the commit.
- other controllers: through the controller_queue_size column of the
  Controller table. This value is also limited to 512. If not present
  the code uses the Bridge:other_config:controller-queue-size
  configuration.

Acked-by: Mark Michelson <mmichels@redhat.com>
Signed-off-by: Dumitru Ceara <dceara@redhat.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
ofproto/connmgr.c
ofproto/ofproto.h
vswitchd/bridge.c
vswitchd/vswitch.ovsschema
vswitchd/vswitch.xml