1 module neutron-gbp-mapper {
4 namespace "urn:opendaylight:groupbasedpolicy:neutron-gbp-mapper";
5 prefix "neutron-gbp-mapper";
7 import gbp-common {prefix gbp-common;}
8 import endpoint {prefix gbp-endpoint;}
9 import ietf-inet-types {prefix inet;}
12 "This module defines the mapping model between Neutron entities and GBP entities.";
14 revision "2015-05-13" {
19 grouping neutron-port-key {
21 description "A unique ID for the neutron port";
22 type gbp-common:unique-id;
27 description "Mapping of neutron entities by groupbasedpolicy entities and vice versa.";
29 container neutron-by-gbp-mappings {
30 description "Neutron entities by groupbasedpolicy entities";
31 container ports-by-endpoints {
32 description "Neutron ports by groupbasedpolicy endpoint";
33 list port-by-endpoint {
34 description "Neutron port key by groupbasedpolicy endpoint key";
35 key "l2-context mac-address";
36 uses gbp-endpoint:l2-key;
37 uses neutron-port-key;
40 container router-gateway-ports-by-endpoints {
41 description "Neutron router gateway ports by groupbasedpolicy endpoint";
42 list router-gateway-port-by-endpoint {
43 description "Neutron router gateway port key by groupbasedpolicy endpoint key";
44 key "l2-context mac-address";
45 uses gbp-endpoint:l2-key;
46 uses neutron-port-key;
49 container router-interface-ports-by-endpoints {
50 description "Neutron router interface ports by groupbasedpolicy endpoint";
51 list router-interface-port-by-endpoint {
52 description "Neutron router interface port key by groupbasedpolicy endpoint key";
53 key "l2-context mac-address";
54 uses gbp-endpoint:l2-key;
55 uses neutron-port-key;
58 container floating-ip-ports-by-endpoints {
59 description "Neutron floating IP ports by groupbasedpolicy endpoint";
60 list floating-ip-port-by-endpoint {
61 description "Neutron floating ip port key by groupbasedpolicy endpoint key";
62 key "l2-context mac-address";
63 uses gbp-endpoint:l2-key;
64 uses neutron-port-key;
69 container gbp-by-neutron-mappings {
70 description "Groupbasedpolicy entities by neutron entities";
71 container endpoints-by-ports {
72 description "Groupbasedpolicy endpoints by neutron ports";
73 list endpoint-by-port {
74 description "Groupbasedpolicy endpoint key by neutron port key";
76 uses neutron-port-key;
77 uses gbp-endpoint:l2-key;
80 container endpoints-by-router-gateway-ports {
81 description "Groupbasedpolicy endpoints by neutron router gateway ports";
82 list endpoint-by-router-gateway-port {
83 description "Groupbasedpolicy endpoint key by neutron router gateway port key";
85 uses neutron-port-key;
86 uses gbp-endpoint:l2-key;
89 container endpoints-by-router-interface-ports {
90 description "Groupbasedpolicy endpoints by neutron router interface ports";
91 list endpoint-by-router-interface-port {
92 description "Groupbasedpolicy endpoint key by neutron router interface port key";
94 uses neutron-port-key;
95 uses gbp-endpoint:l2-key;
98 container endpoints-by-floating-ip-ports {
99 description "Groupbasedpolicy endpoints by neutron floating IP ports";
100 list endpoint-by-floating-ip-port {
101 description "Groupbasedpolicy endpoint key by neutron floating IP port key";
103 uses neutron-port-key;
104 uses gbp-endpoint:l2-key;
109 container floating-ip-association-mappings {
110 description "Mapping of association between neutron port representing floating IP and internal neutron port";
111 container internal-ports-by-floating-ip-ports {
112 list internal-port-by-floating-ip-port {
113 key floating-ip-port-id;
114 leaf floating-ip-port-id {
115 description "A unique ID for the neutron port";
116 type gbp-common:unique-id;
119 leaf floating-ip-port-ip-address {
120 type inet:ip-address;
123 leaf internal-port-id {
124 description "A unique ID for the neutron port";
125 type gbp-common:unique-id;
128 leaf internal-port-ip-address {
129 type inet:ip-address;
134 container floating-ip-ports-by-internal-ports {
135 list floating-ip-port-by-internal-port {
136 key internal-port-id;
137 leaf internal-port-id {
138 description "A unique ID for the neutron port";
139 type gbp-common:unique-id;
142 leaf internal-port-ip-address {
143 type inet:ip-address;
146 leaf floating-ip-port-id {
147 description "A unique ID for the neutron port";
148 type gbp-common:unique-id;
151 leaf floating-ip-port-ip-address {
152 type inet:ip-address;