2 * Copyright (c) 2014 Cisco Systems, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
12 namespace "urn:opendaylight:groupbasedpolicy:ofoverlay";
15 import ietf-inet-types { prefix "inet"; revision-date 2010-09-24; }
17 import yang-ext {prefix ext; revision-date "2013-07-09";}
18 import opendaylight-inventory {prefix inv; revision-date "2013-08-19";}
19 import overlay {prefix ovsdb-overlay; revision-date 2015-01-05;}
21 import gbp-common {prefix gbp-common;}
22 import endpoint {prefix endpoint;}
25 "This module defines the group-based policy ofoverlay renderer model.";
27 revision "2014-05-28" {
35 container of-overlay-config {
37 "Configuration for the OpenFlow overlay renderer";
41 leaf encapsulation-format {
42 description "The encapsulation format to use for tunnels";
45 description "Use VXLAN encapsulation";
52 "Selects how and whether we learn endpoints";
56 "An external orchestration system will provide
57 information about all endpoints, and no
58 direct learning will occur.";
64 container of-overlay-operational {
66 "Operational parameters for the OpenFlow overlay renderer";
70 list data-plane-ordinal {
72 "Map elements of the policy to the id used on the network";
75 description "The tenant for the policy element";
76 type gbp-common:tenant-id;
79 description "The ID of the item";
80 type gbp-common:unique-id;
83 description "The 32-bit ordinal for the item";
89 grouping endpoint-location {
91 "The location for this endpoint in the overlay network";
99 "The endpoint is located on a port that is part of
100 the overlay network. You must include the node
101 ID and port number for this endpoint.";
104 description "This endpoint is not inside the overlay.";
111 "The OpenFlow switch for the endpoint. Must be included
112 for all internal endpoints. The format is
113 openflow:[dpid] where the dpid is the value of the
114 switch DPID cast to a long.";
118 leaf node-connector-id {
120 "The node connector for the endpoint's OpenFlow port. The
121 format is openflow:[dpid]:[port] where the dpid is
122 the value of the switch DPID cast to a long, and port
123 is the openflow port number of the interface where
124 the endpoint is connected.";
125 type inv:node-connector-id;
128 type gbp-common:name;
133 type gbp-common:unique-id;
135 "Unique identifier for interface";
140 augment "/endpoint:endpoints/endpoint:endpoint" {
141 ext:augment-identifier "of-overlay-context";
142 uses endpoint-location;
145 augment "/endpoint:register-endpoint/endpoint:input" {
146 ext:augment-identifier "of-overlay-context-input";
147 uses endpoint-location;
150 augment "/inv:nodes/inv:node" {
151 ext:augment-identifier "of-overlay-node-config";
154 uses ovsdb-overlay:tunnel-type-attributes;
155 uses ovsdb-overlay:ip-port-locator;
156 leaf node-connector-id {
158 "The node connector where is the tunnel located. The
159 format is openflow:[dpid]:[port] where the dpid is
160 the value of the switch DPID cast to a long, and port
161 is the openflow port number of the interface where
162 the endpoint is connected.";
163 type inv:node-connector-id;
166 container ovsdb-config {
169 "The IP address used to connect to OVSDB on this switch";
170 type inet:ip-address;
174 "The port number used to connect to OVSDB on this switch";
175 type inet:port-number;
179 leaf-list external-interfaces {
181 "The names of the OpenFlow interfaces that are external and
182 lead to the underlay network. Can be specified as a
183 regular expression.";