This Page

The quantum.plugins.nec.ofc_driver_base Module

class quantum.plugins.nec.ofc_driver_base.OFCDriverBase

Bases: object

OpenFlow Controller (OFC) Driver Specification.

OFCDriverBase defines the minimum set of methods required by this plugin. It would be better that other methods like update_* are implemented.

convert_ofc_network_id(context, ofc_network_id, tenant_id)

Convert old-style ofc network id to new-style one.

Parameters:
  • context – quantum context object
  • ofc_network_id – ofc_network_id to be converted
  • tenant_id – quantum tenant_id of the network
convert_ofc_port_id(context, ofc_port_id, tenant_id, network_id)

Convert old-style ofc port id to new-style one.

Parameters:
  • context – quantum context object
  • ofc_port_id – ofc_port_id to be converted
  • tenant_id – quantum tenant_id of the port
  • network_id – quantum network_id of the port
convert_ofc_tenant_id(context, ofc_tenant_id)

Convert old-style ofc tenand id to new-style one.

Parameters:
  • context – quantum context object
  • ofc_tenant_id – ofc_tenant_id to be converted
create_network(ofc_tenant_id, description, network_id=None)

Create a new network on specified OFC tenant at OpenFlow Controller.

Parameters:
  • ofc_tenant_id – a OFC tenant ID in which a new network belongs.
  • description – A description of this network.
  • network_id – A hint of an ID of OFC network.
Returns:

ID of the network created at OpenFlow Controller. ID returned must be unique in the OpenFlow Controller. If a network is identified in conjunction with other information such as a tenant ID, such information should be included in the ID.

Raises :

quantum.plugin.nec.common.exceptions.OFCException

create_port(ofc_network_id, portinfo, port_id=None)

Create a new port on specified network at OFC.

Parameters:
  • ofc_network_id – a OFC tenant ID in which a new port belongs.
  • portinfo

    An OpenFlow information of this port. {‘datapath_id’: Switch ID that a port connected.

    ‘port_no’: Port Number that a port connected on a Swtich. ‘vlan_id’: VLAN ID that a port tagging. ‘mac’: Mac address.

    }

  • port_id

    A hint of an ID of OFC port. ID returned must be unique in the OpenFlow Controller.

    If a port is identified in combination with a network or a tenant, such information should be included in the ID.

Returns:

ID of the port created at OpenFlow Controller.

Raises :

quantum.plugin.nec.common.exceptions.OFCException

create_tenant(description, tenant_id=None)

Create a new tenant at OpenFlow Controller.

Parameters:
  • description – A description of this tenant.
  • tenant_id – A hint of OFC tenant ID. A driver could use this id as a OFC id or ignore it.
Returns:

ID of the tenant created at OpenFlow Controller.

Raises :

quantum.plugin.nec.common.exceptions.OFCException

delete_network(ofc_network_id)

Delete a netwrok at OpenFlow Controller.

Raises :quantum.plugin.nec.common.exceptions.OFCException
delete_port(ofc_port_id)

Delete a port at OpenFlow Controller.

Raises :quantum.plugin.nec.common.exceptions.OFCException
delete_tenant(ofc_tenant_id)

Delete a tenant at OpenFlow Controller.

Raises :quantum.plugin.nec.common.exceptions.OFCException