3 namespace "urn:opendaylight:params:xml:ns:yang:vpp:nsh";
6 revision "2016-06-24" {
7 description "Initial revision of vpp-nsh model";
13 import ietf-interfaces {
16 import ietf-yang-types {
19 import ietf-inet-types {
29 * Defines the supported next protocols that can be used for
30 * NSH next-protocol field.
32 identity next-protocol {
33 description "Base identity from which all nsh next protocols
40 "Support ipv4 to act as next protocol";
46 "Support ipv6 to act as next protocol";
52 "Support ethernet to act as next protocol";
55 typedef nsh-next-protocol {
59 description "Identifies a specific next protocol for nsh";
63 * Defines the supported encap type.
66 description "encap type";
71 description "vxlan-gpe encap type";
76 description "vxlan encap type";
79 typedef nsh-encap-type {
86 * Defines the supported MD-types.
89 description "md type";
94 description "nsh md-type1";
99 description "nsh md-type2";
102 typedef nsh-md-type {
108 grouping nsh-md-type1-attributes {
123 grouping nsh-md-type2-attributes {
129 grouping nsh-entry-base-attributes {
132 description "NSH Entry Name";
154 type nsh-next-protocol;
158 grouping nsh-map-base-attributes {
161 description "NSH Map Name";
188 description "Interface Name";
196 container nsh-entries {
200 uses nsh-entry-base-attributes;
203 "nsh-entry configuration";
211 uses nsh-map-base-attributes;
214 "nsh-map configuration";
219 augment /vpp-nsh/nsh-entries/nsh-entry {
220 ext:augment-identifier nsh-md-type-1-augment;
221 when "/md-type = 'vpp-nsh:md-type1' ";
222 uses nsh-md-type1-attributes;
225 augment /vpp-nsh/nsh-entries/nsh-entry {
226 ext:augment-identifier nsh-md-type-2-augment;
227 when "/md-type = 'vpp-nsh:md-type2' ";
228 uses nsh-md-type2-attributes;
231 container vpp-nsh-state {
235 "NSH operational data";
237 container nsh-entries {
241 uses nsh-entry-base-attributes;
244 "nsh-entry operational data";
252 uses nsh-map-base-attributes;
255 "nsh-map operational data";
260 augment /vpp-nsh-state/nsh-entries/nsh-entry {
261 ext:augment-identifier nsh-md-type-1-state-augment;
262 when "/md-type = 'vpp-nsh:md-type1' ";
263 uses nsh-md-type1-attributes;
266 augment /vpp-nsh-state/nsh-entries/nsh-entry {
267 ext:augment-identifier nsh-md-type-2-state-augment;
268 when "/md-type = 'vpp-nsh:md-type2' ";
269 uses nsh-md-type2-attributes;