Limit min<=max port check to TCP/UDP in secgroup rule

icmp_type and icmp_code are mapped to port_min_range and port_max_range
respectively. For ICMP there is no constraint between type and code.
Thus port range min<=max check should be enforced only for TCP and UDP.

Also makes sure that ICMP type/code are 0 to 255 (both inclusive).
Previously a value with 0 to 65535 were accepted for ICMP type/code.

Fixes bug 1197760
Fixes bug 1197769

Change-Id: I70aaf6e02fee461fa97dc254db906d9efa173669
Preserve packet:byte counts in iptables_manager.

Ported the nova iptables manager code to neutron, so that we
use iptables-save/restore with the -c flag to save/restore
the chains and rules with their packet:byte counts.  All other
changes were ported as well to keep the code as similar as
possible between the two, although they will be different as
I had to fix other bugs found during testing.

Updated tests accordingly to account for new calls and
input/output changes in formatting.

Changed iptables_firewall code to add iptables rules in the same
order that iptables-save will print them: source/dest, protocol,
sport, dport, target; else iptables_manager won't be able
to find them to preserve their [packet:byte] counts.
Tweaked other rules accordingly as necessary.

Fixed a bug introduced in an earlier version of this patch where
_modify_rules() sometimes wouldn't match an existing rule correctly
if not top=true.

Fixes bug 1125393

Change-Id: I858c552d8a7ae24f52f8e8daa05ac37026705773
Enable logging before using it

Bug #1200530

Change-Id: I086353c93fae0f6ec74d16a485c215c1b3815ee6
Use the correct tunnel_type to notify agents

Bug #1201274

Change-Id: I9de55d168ba03cb6a5273b4c2ce140cd190e38ee
Ensure PortSecurityDBTestCase loads correct plugin

Bug 1201569

If a plugin is passed to the setUp method, that plugin
should be loaded instead od DB_PLUGIN_KLASS

Change-Id: I81df9f62e7399f5a76a07e504679ee8311e5855e
Re-assign quantum.api module as last operation

Bug 1199443

This avoids reset of locals in quantum/api/__init__.py,
resulting in sys being None when assigning quantum.api.extensions
to neutron.api.extensions

Change-Id: I2da8b336679b643c92824399a05ca1b9980d1598
Merge "Preserve packet:byte counts in iptables_manager."
Merge "Re-assign quantum.api module as last operation"
Merge "Ensure PortSecurityDBTestCase loads correct plugin"
Merge "Use the correct tunnel_type to notify agents"
xenapi - rename quantum to neutron

Some changes were missing from the previous rename patch, so it broke
XenServer support. This patch contains the missing adjustments.

related to blueprint remove-use-of-quantum

Change-Id: I1ee5cc38d555bd5c26edf00a456ec71919604d79
Improve l3-agent performance and prevent races in it.

Fixes bug 1194026
Fixes bug 1200749

Introduce a looping call for performing synchronization with
neutron server.
The sync will be performed only if router changes are notified
via rpc. Only affected routers will be synchronized.

Changes will be implemented by the l3 agent spawning a
distinct greenthread for each router - iptables will
be executed only once using iptables_manager.defer_apply_on.

This patch will prevent the occurence of the following issues:
- Out-of-order rpc message processing
- Long processing time for router changes due to serial execution
- Occasional and expected RPC blocks for long periods
- Unnecessary processing of multiple requests

Change-Id: I0978d1c38ac5c38c4548e5b1877857bb5cac3b81
Enable policy control over external_gateway_info sub-attributes

Part 2 of blueprint l3-ext-gw-modes

This patch extends the logic for building policy rule matches in order to
include sub-attributes as well. This logic will be leveraged by the
ext-gw-mode api extension.

Change-Id: I7f46a395597b71bb1c5110aa4e792a04a5010d4c
Merge "Improve l3-agent performance and prevent races in it."
Merge "Enable policy control over external_gateway_info sub-attributes"
Merge "xenapi - rename quantum to neutron"
Merge "Enable logging before using it"
Imported Translations from Transifex

Change-Id: I4fb77ed07b85b2f01ebb48b57adb10dfbadb3167
Merge "Limit min<=max port check to TCP/UDP in secgroup rule"