module neutron-gbp-mapper { yang-version 1; namespace "urn:opendaylight:groupbasedpolicy:neutron-gbp-mapper"; prefix "neutron-gbp-mapper"; import gbp-common {prefix gbp-common;} import endpoint {prefix gbp-endpoint;} import ietf-inet-types { prefix inet; revision-date 2010-09-24; } description "This module defines the mapping model between Neutron entities and GBP entities."; revision "2015-05-13" { description "Initial revision."; } grouping neutron-port-key { leaf port-id { description "A unique ID for the neutron port"; type gbp-common:unique-id; } } container mappings { description "Mapping of neutron entities by groupbasedpolicy entities and vice versa."; config false; container neutron-by-gbp-mappings { description "Neutron entities by groupbasedpolicy entities"; container ports-by-endpoints { description "Neutron ports by groupbasedpolicy endpoint"; list port-by-endpoint { description "Neutron port key by groupbasedpolicy endpoint key"; key "l2-context mac-address"; uses gbp-endpoint:l2-key; uses neutron-port-key; } } container external-gateways-as-l3-endpoints { description "L3Endpoints that represent Neutron External Gateways for External Subnets. Please note these ARE NOT Neutron router ports, they are outside of Neutron."; list external-gateway-as-l3-endpoint { description "L3Endpoints that represent Neutron External Gateways for External Subnets. Please note these ARE NOT Neutron router ports, they are outside of Neutron."; key "l3-context ip-address"; uses gbp-endpoint:l3-key; } } container provider-physical-networks-as-l2-flood-domains { list provider-physical-network-as-l2-flood-domain { key "tenant-id l2-flood-domain-id"; leaf tenant-id { description "Tenant of L2 Flood Domain"; type gbp-common:tenant-id; } leaf l2-flood-domain-id { description "The L2 Flood Domain ID"; type gbp-common:l2-flood-domain-id; } leaf segmentation-id { mandatory true; description "An isolated segment on the physical network. The network-type attribute defines the segmentation model. For example, if network-type is vlan, this ID is a vlan identifier."; type string; } } } } container gbp-by-neutron-mappings { description "Groupbasedpolicy entities by neutron entities"; container endpoints-by-ports { description "Groupbasedpolicy endpoints by neutron ports"; list endpoint-by-port { description "Groupbasedpolicy endpoint key by neutron port key"; key port-id; uses neutron-port-key; uses gbp-endpoint:l2-key; } } } } }