Setting the limit of logicial ports on a Gateway
search cancel

Setting the limit of logicial ports on a Gateway

book

Article ID: 307090

calendar_today

Updated On:

Products

VMware NSX

Issue/Introduction

Symptoms:
The NSX Gateway stops working because OVS is unable to create more miss handler threads. In the Open vSwitch I880 release, Open vSwitch creates a "number of userspace flow miss handler threads" netlink sockets for each bridge port and each logical router port. Open vSwitch execution may be suspended due to reaching the opened file descriptors limit.

Environment

VMware NSX for Multi-Hypervisor
VMware NSX for Multi-Hypervisor 4.2.x

Resolution

By default, the maximum number of opened file descriptors for an Open vSwitch process is 65535. This limit should never be reached.

If the NSX Gateway stops working because OVS is unable to create more miss handler threads, then the administrator must manually take one of the following actions:

- set a higher file descriptor limit; or
- reduce the number of miss handler threads

Either of the above actions will have the effect of allowing the Gateway to support more logical ports (We refer to the maximum number of supported logical router ports as the "lrp_limit".)

Calculating the maximum number of logical router your Gateway can support:

Using the values of:

- the limit of opened file descriptors (number_of_files),
- the number of miss handler threads (number_of_handlers), and
- the number of other bridge ports in the datapath ("number_of_other_ports")

you can calculate the suggested maximum number of logical router ports ("lrp_limit") that can be supported by the Gateway using the following formula:

lrp_limit = floor(number_of_files / number_of_handlers) - number_of_other_ports.

(Note: Use the command "cat /proc/`pidof ovs-vswitchd`/task/*/status | grep -i name" to check the current number of miss handler threads.)

To address the issue, do one of the following:

- set a higher file descriptor limit by; or
- reduce the number of miss handler threads by setting the "other_config:n-handler-threads" value in the Open_vSwitch TABLE of the OVS database.