FAQ: Explain how to quickly add many ports.
authorBen Pfaff <blp@nicira.com>
Tue, 13 Jan 2015 03:41:09 +0000 (19:41 -0800)
committerBen Pfaff <blp@nicira.com>
Tue, 13 Jan 2015 23:40:23 +0000 (15:40 -0800)
This comes up from time to time.

Signed-off-by: Ben Pfaff <blp@nicira.com>
Acked-by: Thomas Graf <tgraf@noironetworks.com>
FAQ.md

diff --git a/FAQ.md b/FAQ.md
index 9e95d07..02fe2d3 100644 (file)
--- a/FAQ.md
+++ b/FAQ.md
@@ -750,6 +750,26 @@ A: It's an expected behaviour.
        ovs-vsctl add-port br0 p1 -- \
            set interface p1 type=internal
 
+### Q: I want to add thousands of ports to an Open vSwitch bridge, but
+   it takes too long (minutes or hours) to do it with ovs-vsctl.  How
+   can I do it faster?
+
+A: If you add them one at a time with ovs-vsctl, it can take a long
+   time to add thousands of ports to an Open vSwitch bridge.  This is
+   because every invocation of ovs-vsctl first reads the current
+   configuration from OVSDB.  As the number of ports grows, this
+   starts to take an appreciable amount of time, and when it is
+   repeated thousands of times the total time becomes significant.
+
+   The solution is to add the ports in one invocation of ovs-vsctl (or
+   a small number of them).  For example, using bash:
+
+       ovs-vsctl add-br br0
+       cmds=; for i in {1..5000}; do cmds+=" -- add-port br0 p$i"; done
+       ovs-vsctl $cmds
+
+   takes seconds, not minutes or hours, in the OVS sandbox environment.
+
 Quality of Service (QoS)
 ------------------------