The networking_cisco.plugins.cisco.device_manager.plugging_drivers.aci_vlan_trunking_driver Module

exception networking_cisco.plugins.cisco.device_manager.plugging_drivers.aci_vlan_trunking_driver.AciDriverConfigInvalidFileFormat(**kwargs)

Bases: neutron_lib.exceptions.BadRequest

message = u’The ACI Driver config file format is invalid’
exception networking_cisco.plugins.cisco.device_manager.plugging_drivers.aci_vlan_trunking_driver.AciDriverConfigMissingCidrExposed(**kwargs)

Bases: neutron_lib.exceptions.BadRequest

message = u’The ACI Driver config is missing a cidr_exposed parameter for %(ext_net)s.’
exception networking_cisco.plugins.cisco.device_manager.plugging_drivers.aci_vlan_trunking_driver.AciDriverConfigMissingGatewayIp(**kwargs)

Bases: neutron_lib.exceptions.BadRequest

message = u’The ACI Driver config is missing a gateway_ip parameter for %(ext_net)s.’
exception networking_cisco.plugins.cisco.device_manager.plugging_drivers.aci_vlan_trunking_driver.AciDriverConfigMissingSegmentationId(**kwargs)

Bases: neutron_lib.exceptions.BadRequest

message = u’The ACI Driver config is missing a segmentation_id parameter for %(ext_net)s.’
exception networking_cisco.plugins.cisco.device_manager.plugging_drivers.aci_vlan_trunking_driver.AciDriverNoAciDriverInstalledOrConfigured(**kwargs)

Bases: neutron_lib.exceptions.BadRequest

message = u’The ACI plugin driver is either not installed or the neutron configuration is incorrect.’
class networking_cisco.plugins.cisco.device_manager.plugging_drivers.aci_vlan_trunking_driver.AciVLANTrunkingPlugDriver

Bases: networking_cisco.plugins.cisco.device_manager.plugging_drivers.hw_vlan_trunking_driver.HwVLANTrunkingPlugDriver

Driver class for Cisco ACI-based devices.

The driver works with VLAN segmented Neutron networks. It determines which workflow is active (GBP or Neutron), and uses that implementation to get the information needed for the networks between the hosting device and the ACI fabric.

allocate_hosting_port(context, router_id, port_db, network_type, hosting_device_id)

Get the VLAN and port for this hosting device

The VLAN used between the APIC and the external router is stored by the APIC driver. This calls into the APIC driver to first get the ACI VRF information associated with this port, then uses that to look up the VLAN to use for this port to the external router (kept as part of the L3 Out policy in ACI).

apic_driver

Get APIC driver

There are different drivers for the GBP workflow and Neutron workflow for APIC. First see if the GBP workflow is active, and if so get the APIC driver for it. If the GBP service isn’t installed, try to get the driver from the Neutron (APIC ML2) workflow.

extend_hosting_port_info(context, port_db, hosting_device, hosting_info)

Get the segmenetation ID and interface

This extends the hosting info attribute with the segmentation ID and physical interface used on the external router to connect to the ACI fabric. The segmentation ID should have been set already by the call to allocate_hosting_port, but if it’s not present, use the value from the port resource.

get_ext_net_name
get_vrf_context
l3_plugin
transit_nets_cfg