X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=neutron-mapper%2Fsrc%2Fmain%2Fyang%2Fneutron-gbp-mapper.yang;h=207cc25b63a661a8b632b49e12eabac75ff1955a;hb=f918d8263f30dc26404c03ef1bc6d509e40d473c;hp=d129fd375259e9aefacb8160a7b723c6d7caca44;hpb=1abd8b6684c1c66a2458deb54b87c2b5c7c9e8ed;p=groupbasedpolicy.git diff --git a/neutron-mapper/src/main/yang/neutron-gbp-mapper.yang b/neutron-mapper/src/main/yang/neutron-gbp-mapper.yang index d129fd375..207cc25b6 100644 --- a/neutron-mapper/src/main/yang/neutron-gbp-mapper.yang +++ b/neutron-mapper/src/main/yang/neutron-gbp-mapper.yang @@ -4,11 +4,17 @@ module neutron-gbp-mapper { 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;} + import gbp-common { prefix gbp-common; } + import endpoint { prefix gbp-endpoint; } + import ietf-yang-types { prefix yang; revision-date 2013-07-15; } + import ietf-inet-types { prefix inet; revision-date 2010-09-24; } + import base-endpoint { prefix base-ep; revision-date 2016-04-27; } + import forwarding { prefix fwd; revision-date 2016-04-27; } + import l2-l3-forwarding { prefix l2-l3; revision-date 2016-04-27; } - description + + + description "This module defines the mapping model between Neutron entities and GBP entities."; revision "2015-05-13" { @@ -22,27 +28,6 @@ module neutron-gbp-mapper { type gbp-common:unique-id; } } - - grouping internal-port-floating-ip-port-association-fields { - leaf floating-ip-port-id { - description "A unique ID for the neutron port"; - type gbp-common:unique-id; - mandatory true; - } - leaf floating-ip-port-ip-address { - type inet:ip-address; - mandatory true; - } - leaf internal-port-id { - description "A unique ID for the neutron port"; - type gbp-common:unique-id; - mandatory true; - } - leaf internal-port-ip-address { - type inet:ip-address; - mandatory true; - } - } container mappings { description "Mapping of neutron entities by groupbasedpolicy entities and vice versa."; @@ -51,6 +36,7 @@ module neutron-gbp-mapper { description "Neutron entities by groupbasedpolicy entities"; container ports-by-endpoints { description "Neutron ports by groupbasedpolicy endpoint"; + status deprecated; list port-by-endpoint { description "Neutron port key by groupbasedpolicy endpoint key"; key "l2-context mac-address"; @@ -58,31 +44,80 @@ module neutron-gbp-mapper { uses neutron-port-key; } } - container router-gateway-ports-by-endpoints { - description "Neutron router gateway ports by groupbasedpolicy endpoint"; - list router-gateway-port-by-endpoint { - description "Neutron router gateway port key by groupbasedpolicy endpoint key"; - key "l2-context mac-address"; - uses gbp-endpoint:l2-key; + container ports-by-base-endpoints { + description "Neutron ports by groupbasedpolicy base-endpoint"; + list port-by-base-endpoint { + description "Neutron port key by groupbasedpolicy base-endpoint key"; + key "context-type context-id address-type address"; + uses base-ep:address-endpoint-key; uses neutron-port-key; } } - container router-interface-ports-by-endpoints { - description "Neutron router interface ports by groupbasedpolicy endpoint"; - list router-interface-port-by-endpoint { - description "Neutron router interface port key by groupbasedpolicy endpoint key"; - key "l2-context mac-address"; - uses gbp-endpoint:l2-key; - uses neutron-port-key; + + container external-gateways-as-endpoints { + description "Endpoints 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-endpoint { + description "Endpoints that represent Neutron External Gateways for External Subnets. + Please note these ARE NOT Neutron router ports, they are outside of Neutron."; + + key "context-id context-type address address-type"; + + uses base-ep:address-endpoint-key; } } - container floating-ip-ports-by-endpoints { - description "Neutron floating IP ports by groupbasedpolicy endpoint"; - list floating-ip-port-by-endpoint { - description "Neutron floating ip 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 { + status deprecated; // use external-gateways-as-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 { + status deprecated; + 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 provider-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 { + type gbp-common:context-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; + } } } } @@ -91,6 +126,7 @@ module neutron-gbp-mapper { description "Groupbasedpolicy entities by neutron entities"; container endpoints-by-ports { description "Groupbasedpolicy endpoints by neutron ports"; + status deprecated; list endpoint-by-port { description "Groupbasedpolicy endpoint key by neutron port key"; key port-id; @@ -98,50 +134,42 @@ module neutron-gbp-mapper { uses gbp-endpoint:l2-key; } } - container endpoints-by-router-gateway-ports { - description "Groupbasedpolicy endpoints by neutron router gateway ports"; - list endpoint-by-router-gateway-port { - description "Groupbasedpolicy endpoint key by neutron router gateway port key"; - key port-id; - uses neutron-port-key; - uses gbp-endpoint:l2-key; - } - } - container endpoints-by-router-interface-ports { - description "Groupbasedpolicy endpoints by neutron router interface ports"; - list endpoint-by-router-interface-port { - description "Groupbasedpolicy endpoint key by neutron router interface port key"; - key port-id; - uses neutron-port-key; - uses gbp-endpoint:l2-key; - } - } - container endpoints-by-floating-ip-ports { - description "Groupbasedpolicy endpoints by neutron floating IP ports"; - list endpoint-by-floating-ip-port { - description "Groupbasedpolicy endpoint key by neutron floating IP port key"; + container base-endpoints-by-ports { + description "Groupbasedpolicy base-endpoints by neutron ports"; + list base-endpoint-by-port { + description "Groupbasedpolicy base-endpoint key by neutron port key"; key port-id; uses neutron-port-key; - uses gbp-endpoint:l2-key; + uses base-ep:address-endpoint-key; } } } + } - container floating-ip-association-mappings { - description "Mapping of association between neutron port representing floating IP and internal neutron port"; - container internal-ports-by-floating-ip-ports { - list internal-port-by-floating-ip-port { - key floating-ip-port-id; - uses internal-port-floating-ip-port-association-fields; + rpc change-action-of-security-group-rules { + input { + list security-group-rule { + key uuid; + leaf uuid { + type yang:uuid; + description "UUID to index this neutron security group rule."; } } - container floating-ip-ports-by-internal-ports { - list floating-ip-port-by-internal-port { - key internal-port-id; - uses internal-port-floating-ip-port-association-fields; + container action { + choice action-choice { + case sfc-action-case { + leaf sfc-chain-name { + type string; + } + } + case allow-action-case { + container allow { + presence true; + } + } } } } } -} \ No newline at end of file +}