A.4.1 Application VIP Failover Options
- Allowed address pairs
- Disable port security
Figure A-1 Neutron High-Level Data Model

A port in the Neutron data model maps to at most one VM instance where internal to the VM instance, the port is represented as an available network device such as eth0. VM instances can have multiple network interfaces in which case there are multiple Neutron ports associated with the VM instance, each with different MAC and IP addresses.
- Automatically by Neutron when creating a port to fulfill an OpenStack Compute (Nova) service request to associate a network interface with a VM instance to be instantiated.
- Manually by a cloud administrator when creating or updating a Neutron port.
The anti-spoofing rules are enforced at the Neutron port level by ensuring that the source IP address of outgoing packets matches the IP address Neutron has associated with the corresponding port assigned to the VM instance. By default, if the source IP address in the outgoing packet does not match the IP address associated with the corresponding Neutron port, then the packet is dropped.
These anti-spoofing rules clearly create a complication for the use of application managed virtual IP addresses. This is since Neutron is not aware of the VIPs being applied by the application to VM instance network interfaces without an interaction between the application (or a higher-level management element) and Neutron. Hence, the two options in this document either fully disable the port security measures within Neutron, including the anti-spoofing rules, or expand the set of allowable source IP addresses to include the VIPs that may be used by the application running within a VM instance.
For both of the options described in the following sub-sections, there is a particular Neutron service extension or feature that must be enabled for the option to work. For one option (allowed address pairs) the required Neutron extension is enabled in most default deployments whereas for the other option (allow port security to be disabled) it is not.
Within this document when describing how to use either of these two options, there is example command line operations that interact with the OpenStack Neutron service using its command line utility, named neutron. However, be aware that all of the operations performed using the neutron command line utility can be performed through the Neutron REST APIs, see the Networking v2.0 API documentation for more information.