Bases: quantum.agent.rpc.PluginApi, quantum.agent.securitygroups_rpc.SecurityGroupServerRpcApiMixin
Bases: quantum.agent.securitygroups_rpc.SecurityGroupAgentRpcCallbackMixin
Implements OVS-based tunneling, VLANs and flat networks.
Two local bridges are created: an integration bridge (defaults to ‘br-int’) and a tunneling bridge (defaults to ‘br-tun’). An additional bridge is created for each physical network interface used for VLANs and/or flat networks.
All VM VIFs are plugged into the integration bridge. VM VIFs on a given virtual network share a common “local” VLAN (i.e. not propagated externally). The VLAN id of this local VLAN is mapped to the physical networking details realizing that virtual network.
For virtual networks realized as GRE tunnels, a Logical Switch (LS) identifier and is used to differentiate tenant traffic on inter-HV tunnels. A mesh of tunnels is created to other Hypervisors in the cloud. These tunnels originate and terminate on the tunneling bridge of each hypervisor. Port patching is done to connect local VLANs on the integration bridge to inter-hypervisor tunnels on the tunnel bridge.
For each virtual networks realized as a VLANs or flat network, a veth is used to connect the local VLAN on the integration bridge with the physical network bridge, with flow rules adding, modifying, or stripping VLAN tags as necessary.
Get the rpc dispatcher for this manager.
If a manager would like to set an rpc API version, or support more than one class as the target of rpc messages, override this method.
Bind port to net_uuid/lsw_id and install flow for inbound traffic to vm.
| Parameters: |
|
|---|
Once a port has no binding, put it on the “dead vlan”.
| Parameters: | port – a ovs_lib.VifPort object. |
|---|
Unbind port.
Removes corresponding local vlan mapping object if this is its last VIF.
| Parameters: |
|
|---|
Provisions a local VLAN.
| Parameters: |
|
|---|
Reclaim a local VLAN.
| Parameters: |
|
|---|
Setup ancillary bridges - for example br-ex.
Setup the integration bridge.
Create patch ports and remove all existing flows.
| Parameters: | bridge_name – the name of the integration bridge. |
|---|---|
| Returns: | the integration bridge |
Setup the physical network bridges.
Creates physical network bridges and links them to the integration bridge using veths.
| Parameters: | bridge_mappings – map physical network names to bridge names. |
|---|
Setup the tunnel bridge.
Creates tunnel bridge, and links it to the integration bridge using a patch port.
| Parameters: | tun_br – the name of the tunnel bridge. |
|---|
Bases: quantum.agent.securitygroups_rpc.SecurityGroupAgentRpcMixin
Bases: object
Represents a quantum port.
Class stores port data in a ORM-free way, so attributres are still available even if a row has been deleted.
Create a map of agent config parameters.
| Parameters: | config – an instance of cfg.CONF |
|---|---|
| Returns: | a map of agent configuration parameters |