neutron/neutron/tests/common
Kevin Benton bf28c724dd Add ARP spoofing protection for LinuxBridge agent
This patch adds ARP spoofing protection for the Linux Bridge
agent based on ebtables. This code was written to be minimally
invasive with the intent of back-porting to Kilo.

The protection is enabled and disabled with the same
'prevent_arp_spoofing' agent config flag added for the OVS agent
in I7c079b779245a0af6bc793564fa8a560e4226afe.

The protection works by setting up an ebtables chain for each port
and jumping all ARP traffic to that chain. The port-specific chains
have a default DROP policy and then have allow rules installed that
only allow ARP traffic with a source CIDR that matches one of the
port's fixed IPs or an allowed address pair.

Since this is a back-port to Kilo, it is disabled by default just
like the protection added for OVS.

This patch additionally pulls back the required ebtables filter and
the functional test helpers to support the tests.

Conflicts:
	neutron/plugins/linuxbridge/agent/linuxbridge_neutron_agent.py
	neutron/plugins/linuxbridge/common/config.py
	neutron/tests/common/machine_fixtures.py

Closes-Bug: #1274034
Change-Id: I0b0e3b1272472385dff060897ecbd25e93fd78e7
(cherry picked from commit 04197bc4bb)
2015-09-03 10:39:47 -07:00
..
agents Refactor management of namespaces in the L3 Agent 2015-03-04 21:28:23 +00:00
__init__.py Test HA router failover 2014-11-24 12:05:09 +02:00
base.py Simplify base test cases 2015-03-26 18:01:22 -07:00
helpers.py Add full-stack tests framework 2015-03-26 20:21:40 +02:00
machine_fixtures.py Add ARP spoofing protection for LinuxBridge agent 2015-09-03 10:39:47 -07:00
net_helpers.py Add ARP spoofing protection for LinuxBridge agent 2015-09-03 10:39:47 -07:00