OpenStack Networking (Neutron)
Go to file
Peter Feiner b606ee1da8 defer firewall updates to iptables data structures
One of two patches that fixes bug #1194438.

In the iptables firewall driver, each port method (update_port_filter,
prepare_port_filter, remove_port_filter) makes O(N) calls, where
N=len(firewall.ports), to IptablesManager methods that update dozens
of data structures. When the firewall methods are called in sequence,
e.g., by SecurityGroupAgentRpcMixin, the calls to IptablesManager's
methods start to add up.

This patch changes IptablesFirewallDriver to defer and coalesce calls
to IptablesManager. Now a sequence of M port method calls results in
O(N) calls to IptablesManager methods instead of O(N*M) as before.

Conflicts:
	quantum/agent/linux/iptables_firewall.py

Change-Id: If17eeaec197beae8b8aecffca1f19d4535a7226e
(cherry picked from commit e31c9fd3fe)
2013-08-04 14:31:58 +02:00
bin Do not import anything from quantum into rootwrap 2013-06-13 19:00:11 +02:00
contrib Update tox.ini to support RHEL 6.x. 2013-03-08 08:52:25 -05:00
doc Replace "OpenStack LLC" with "OpenStack Foundation" 2013-03-13 17:58:05 -04:00
etc Clean up Cisco plugin config parameters 2013-07-18 21:06:32 -04:00
quantum defer firewall updates to iptables data structures 2013-08-04 14:31:58 +02:00
tools relax amqplib and kombu version requirements 2013-05-19 06:04:03 +00:00
.bzrignore bp/api-filters 2012-01-25 08:51:51 +00:00
.coveragerc Update .coveragerc 2013-02-06 16:47:06 +02:00
.gitignore Add initial testr support. 2013-02-28 17:21:05 -05:00
.gitreview Rename quantum to neutron in .gitreview. 2013-07-06 12:26:15 -04:00
.mailmap Create .mailmap file 2012-09-11 10:34:14 +08:00
.pylintrc Bug #890028 2011-12-14 00:33:37 +00:00
.testr.conf Add initial testr support. 2013-02-28 17:21:05 -05:00
HACKING.rst Add common test base class to hold common things. 2013-03-05 18:07:14 -05:00
LICENSE Adding Apache Version 2.0 license file. This is the official license agreement under which Quantum code is available to 2011-08-08 12:31:04 -07:00
MANIFEST.in Updated to latest oslo-version code. 2013-02-04 11:21:16 +11:00
README Document that code is on github now in README. 2013-01-18 16:27:46 +13:00
TESTING Update TESTING file 2012-08-23 01:22:47 -07:00
babel.cfg Use babel to generate translation file 2013-01-24 00:20:32 +08:00
openstack-common.conf Use oslo-config-2013.1b3 2013-02-17 17:33:05 +00:00
run_tests.py Replace "OpenStack LLC" with "OpenStack Foundation" 2013-03-13 17:58:05 -04:00
run_tests.sh Make run_tests.sh pep8 conf match tox. 2013-03-05 21:01:02 -05:00
setup.cfg Use testtools instead of unittest or unittest2. 2013-02-26 19:32:30 +09:00
setup.py Bump stable/grizzly next version to 2013.1.3 2013-06-06 12:12:04 -07:00
tox.ini Update tox.ini to support RHEL 6.x. 2013-03-08 08:52:25 -05:00

README

# -- Welcome!

  You have come across a cloud computing network fabric controller.  It has
  identified itself as "Quantum."  It aims to tame your (cloud) networking!

# -- External Resources:

 The homepage for Quantum is: http://launchpad.net/quantum .  Use this
 site for asking for help, and filing bugs. Code is available on github at
 <http://github.com/openstack/quantum>.

 The latest and most in-depth documentation on how to use Quantum is
 available at: <http://docs.openstack.org>.  This includes:

 Quantum Administrator Guide
 http://docs.openstack.org/trunk/openstack-network/admin/content/

 Quantum API Reference:
 http://docs.openstack.org/api/openstack-network/2.0/content/

 The start of some developer documentation is available at:
 http://wiki.openstack.org/QuantumDevelopment

 For help using or hacking on Quantum, you can send mail to
 <mailto:openstack-dev@lists.openstack.org>.