2 * Copyright (c) 2016 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:vpp_renderer";
13 prefix "vpp-renderer";
15 import base-endpoint { prefix base-ep; revision-date 2016-04-27; }
16 import network-topology { prefix nt; revision-date 2013-10-21; }
17 import opendaylight-l2-types { prefix l2-types; revision-date "2013-08-27"; }
18 import ietf-yang-types { prefix yang-types; revision-date "2013-07-15"; }
19 import ietf-inet-types { prefix "inet-types"; }
22 "This module is a baseline for the group-based policy vpp renderer model.";
24 revision "2016-04-25" {
29 identity network-type-base {
30 description "Base for Network Types.";
33 identity flat-network {
34 description "Flat Provider Network Type";
35 base network-type-base;
38 identity vlan-network {
39 description "VLAN Provider Network Type";
40 base network-type-base;
43 typedef network-type {
44 description "Type of Network.";
46 base network-type-base;
50 grouping bridge-domain-base-attributes {
52 description "Same as in VBD.";
58 list physical-location-ref {
60 "Refers to physical interfaces on vpp nodes through which external
61 nodes belonging to the same bridge-domain can be reached.";
64 description "Refers to a VPP node.";
68 description "Physical interface on the VPP node.";
74 grouping interface-attributes {
75 uses vpp-renderer:interface-location;
77 description "Additional description of the vpp-endpoint";
80 choice interface-type-choice {
82 case vhost-user-case {
84 description "Identifier of a vhost user";
92 description "Identifier of a tap port";
98 leaf physical-address {
99 description "MAC address of a tap port";
100 type yang-types:phys-address;
105 description "MAC address of a loopback interface";
106 type yang-types:phys-address;
109 description "Ip address of a loopback interface";
110 type inet-types:ip-address;
113 description "Ip address prefix of a loopback interface";
114 type inet-types:ip-prefix;
117 description "Enable/disable BVI for loopback interface";
124 grouping interface-location {
126 description "Path to a node representing mount-point to VPP instance.";
128 type instance-identifier;
130 leaf vpp-interface-name {
131 description "Name of interface for the endpoint on VPP";
139 description "Renderer creates/removes interface on VPP node based on given parameters.";
141 key "context-type context-id address-type address";
142 uses base-ep:address-endpoint-key;
144 uses interface-attributes;
147 list gbp-bridge-domain {
149 uses bridge-domain-base-attributes;
155 when "type = 'vlan-network'";
156 type l2-types:vlan-id;