3 namespace "urn:opendaylight:params:xml:ns:yang:ovsdb:hwvtep";
6 import network-topology {prefix "topo"; revision-date "2013-10-21"; }
7 import yang-ext { prefix "ext"; }
8 import ietf-inet-types { prefix inet; revision-date 2013-07-15; }
9 import ietf-yang-types { prefix yang; revision-date "2013-07-15";}
10 import opendaylight-l2-types { prefix ethertype; revision-date "2013-08-27";}
12 revision "2015-09-01" {
13 description "1st revision of southbound model for hwvtep";
16 typedef hwvtep-physical-switch-ref {
17 description "A reference to a hwvtep based physical switch";
18 type instance-identifier;
21 typedef hwvtep-logical-switch-ref {
22 description "A reference to a logical switch in hwvtep based switches";
23 type instance-identifier;
26 typedef hwvtep-physical-locator-ref {
27 description "A reference to an endpoint to which logical switch traffic may be encapsulated and forwarded";
28 type instance-identifier;
31 typedef hwvtep-global-ref {
32 description "A reference to an hwvtep global node";
33 type instance-identifier;
36 typedef hwvtep-node-name {
40 typedef ietf-acl-entry-ref {
41 description "A reference to an ietf-acl-entry";
42 type instance-identifier;
45 typedef hwvtep-acl-ref {
46 description "A reference to an acl";
47 type instance-identifier;
50 typedef hwvtep-logical-binding-stats-ref {
51 description "A reference to a logical-binding-stats";
52 type instance-identifier;
55 grouping hwvtep-node-identification {
56 leaf hwvtep-node-name {
57 description "The name of the node";
58 type hwvtep-node-name;
60 leaf hwvtep-node-description {
61 description "The description of the node";
66 grouping hwvtep-mac-table-generic-attributes {
68 description "MAC address entry";
69 type yang:mac-address;
72 description "The unique identifier of the mac-entry";
75 leaf logical-switch-ref {
76 description "The logical switch to which this mapping applies";
77 type hwvtep-logical-switch-ref;
81 grouping hwvtep-ucast-mac-table-attributes {
82 description "Unicast mac table attributes";
84 description "Optional IP address associated with the mac";
88 description "Reference to the physical locator to reach this entry";
89 type hwvtep-physical-locator-ref;
93 grouping hwvtep-mcast-mac-table-attributes {
94 description "Multicast mac table attributes";
96 description "Optional IP address associated with the mac";
99 uses hwvtep-physical-locator-set-attributes;
102 grouping hwvtep-tunnel-attributes {
104 description "The unique identifier of the tunnel";
107 leaf local-locator-ref {
108 description "Reference to the physical locator to reach this entry";
109 type hwvtep-physical-locator-ref;
111 leaf remote-locator-ref {
112 description "Reference to the physical locator to reach this entry";
113 type hwvtep-physical-locator-ref;
115 list bfd-local-configs {
116 description "Local configuation attributes for BFD";
118 key "bfd-local-config-key";
119 leaf bfd-local-config-key {
120 description "bfd-local-config name/key";
123 leaf bfd-local-config-value {
124 description "bfd-local-config value";
128 list bfd-remote-configs {
129 description "Remote configuration attributes for BFD";
131 key "bfd-remote-config-key";
132 leaf bfd-remote-config-key {
133 description "bfd-remote-config name/key";
136 leaf bfd-remote-config-value {
137 description "bfd-remote-config value";
142 description "Parameters to configure and enable BFD";
146 description "bfd-param name/key";
149 leaf bfd-param-value {
150 description "bfd-param value";
155 description "runtime status of BFD on this tunnel";
158 key "bfd-status-key";
159 leaf bfd-status-key {
160 description "bfd-status name/key";
163 leaf bfd-status-value {
164 description "bfd-status value";
170 grouping hwvtep-physical-switch-attributes {
171 uses hwvtep-node-identification;
172 leaf physical-switch-uuid {
173 description "The unique identifier of the physical-switch";
176 list management-ips {
177 key "management-ips-key";
178 leaf management-ips-key {
179 description "Management IP address of the switch";
180 type inet:ip-address;
184 description "The hwvtep global node to which this physical switch belongs to";
185 type hwvtep-global-ref;
188 key "tunnel-ips-key";
189 leaf tunnel-ips-key {
190 description "Management IP address of the switch";
191 type inet:ip-address;
195 key "local-locator-ref remote-locator-ref";
196 uses hwvtep-tunnel-attributes ;
198 list switch-fault-status {
200 key "switch-fault-status-key";
201 leaf switch-fault-status-key {
202 description "switch-fault-status name/key";
205 leaf switch-fault-status-value {
206 description "switch-fault-status value";
212 grouping hwvtep-connection-info-attributes {
214 type inet:ip-address;
215 description "Hwvtep Connection Remote IP";
218 type inet:port-number;
219 description "Hwvtep Connection Remote Port Number";
222 type inet:ip-address;
223 description "Hwvtep Connection Local IP";
226 type inet:port-number;
227 description "Hwvtep Connection Local Port Number IP";
231 grouping hwvtep-global-attributes {
232 description "global node for the hwvtep";
233 container connection-info {
234 uses hwvtep-connection-info-attributes;
240 description "Uri indicating connection method to the Manager";
244 description "The unique identifier of the manager";
250 list manager-other-configs {
251 description "Key-value pairs for configuring rarely used features.
252 other_config : dscp : optional string
253 contains an integer, in the range 0 - 63. DSCP value to be used when establishing a connection to the switch. Default value of 48 if none specified.";
254 key "other-config-key";
255 leaf other-config-key {
256 description "other-config name/key";
259 leaf other-config-value {
260 description "other-config value";
266 description "List of physical switches managed by this node";
269 type hwvtep-physical-switch-ref;
272 list logical-switches {
273 key "hwvtep-node-name";
274 uses hwvtep-logical-switch-attributes;
276 list local-ucast-macs {
277 key "mac-entry-key logical-switch-ref";
278 uses hwvtep-mac-table-generic-attributes;
279 uses hwvtep-ucast-mac-table-attributes;
281 list remote-ucast-macs {
282 key "mac-entry-key logical-switch-ref";
283 uses hwvtep-mac-table-generic-attributes;
284 uses hwvtep-ucast-mac-table-attributes;
286 list local-mcast-macs {
287 key "mac-entry-key logical-switch-ref";
288 uses hwvtep-mac-table-generic-attributes;
289 uses hwvtep-mcast-mac-table-attributes;
291 list remote-mcast-macs{
292 key "mac-entry-key logical-switch-ref";
293 uses hwvtep-mac-table-generic-attributes;
294 uses hwvtep-mcast-mac-table-attributes;
296 list logical-routers {
297 key "hwvtep-node-name";
298 uses hwvtep-logical-router-attributes;
300 list local-arp-sources {
302 uses hwvtep-arp-sources-attributes;
304 list remote-arp-sources {
306 uses hwvtep-arp-sources-attributes;
310 uses hwvtep-acl-attributes;
312 list logical-binding-stats {
314 key "logical-binding-stats-uuid";
315 uses hwvtep-logical-binding-stats-attributes;
319 identity encapsulation-type-base {
320 description "Base Encapsulation type";
323 identity encapsulation-type-vxlan-over-ipv4 {
324 base encapsulation-type-base;
325 description "Encapsulation type vxlan-over-ipv4";
328 typedef encapsulation-type {
330 base encapsulation-type-base;
332 description "This type is used to refer to an Encapsulation Type.";
335 grouping hwvtep-physical-locator-attributes {
336 leaf physical-locator-uuid {
337 description "The unique identifier of the physical-locator";
340 leaf encapsulation-type {
341 type encapsulation-type;
342 description "Encapsulation type used by this locator";
345 type inet:ip-address;
346 description "IP address of the locator";
350 grouping hwvtep-physical-locator-set-attributes {
353 type hwvtep-physical-locator-ref;
358 grouping hwvtep-logical-switch-attributes {
359 uses hwvtep-node-identification;
360 leaf logical-switch-uuid {
361 description "A unique identifier of the logical switch";
365 description "Per Logical Switch tunnel key";
370 grouping hwvtep-physical-port-attributes {
371 uses hwvtep-node-identification;
372 leaf physical-port-uuid {
373 description "The unique identifier of the physical-port";
377 description "A map of vlan ID to logical switch pairs";
380 description "vlan ids in the range 0 - 4095";
381 type ethertype:vlan-id;
383 leaf logical-switch-ref {
384 description "Reference to logical switch for the vlan";
385 type hwvtep-logical-switch-ref;
389 key "acl-binding-vlan-id";
390 leaf acl-binding-vlan-id {
391 description "vlan ids in the range 0 - 4095";
392 type ethertype:vlan-id;
395 description "reference to ACL to be applied to this port";
400 key "vlan-stats-key";
401 leaf vlan-stats-key {
402 description "vlan ids in the range 0 - 4095";
403 type ethertype:vlan-id;
405 leaf vlan-stats-ref {
406 description "reference to logical binding stats for this port";
407 type hwvtep-logical-binding-stats-ref;
410 list port-fault-status {
412 key "port-fault-status-key";
413 leaf port-fault-status-key {
414 description "port-fault-status name/key";
417 leaf port-fault-status-value {
418 description "port-fault-status value";
424 grouping hwvtep-logical-router-attributes {
425 uses hwvtep-node-identification;
426 leaf logical-router-uuid {
427 description "A unique identifier of the logical router";
430 list switch-bindings {
431 description "A map of IPv4 or IPv6 address prefix in CIDR
432 notation to logical switch. Multiple prefixes
433 may map to the same switch. By writing a 32-bit
434 (or 128-bit for v6) address with a /N prefix
435 length, both the router's interface address and the
436 subnet prefix can be configured. For example,
437 192.68.1.1/24 creates a /24 subnet for the logical
438 switch attached to the interface and assigns the
439 address 192.68.1.1 to the router interface.";
440 leaf destination-address {
441 description "IPv4 or IPv6 address prefix in CIDR notation";
444 leaf logical-switch-ref {
445 description "reference to logical switch";
446 type hwvtep-logical-switch-ref;
450 description "map of string-string pairs. One or more static routes,
451 mapping IP prefixes to next hop IP addresses.";
452 leaf destination-address {
453 description "IPv4 or IPv6 address prefix in CIDR notation";
456 leaf nexthop-address {
457 description "IP address of next hop";
458 type inet:ip-address;
462 description "map of string-ACL pairs. Maps ACLs to logical router
463 interfaces. The router interfaces are indicated
464 using IP address notation, and must be the same
465 interfaces created in the switch_binding column.
466 For example, an ACL could be associated with the
467 logical router interface with an address of
468 192.68.1.1 as defined in the example above.";
469 key "router-interface";
470 leaf router-interface {
471 description "IPv4 or IPv6 address prefix in CIDR notation";
475 description "reference to ACL to be applied to this router";
481 grouping hwvtep-arp-sources-attributes {
482 description "AP Sources table attributes";
483 leaf arp-sources-uuid {
484 description "The unique identifier of the arp-source";
488 description "Source mac to be used by given tep";
489 type inet:ip-address;
491 uses hwvtep-physical-locator-attributes;
494 grouping hwvtep-acl-entry-attributes {
495 description "ACL Entry attributes";
497 description "integer. Sequence number for ACL entry";
502 leaf acl-entry-uuid {
503 description "The unique identifier of the acl-entry";
507 type ietf-acl-entry-ref;
509 list acle-fault-status {
511 key "acle-fault-status-key";
512 leaf acle-fault-status-key {
513 description "acle-fault-status name/key";
516 leaf acle-fault-status-value {
517 description "acle-fault-status value: can be empty/None";
523 grouping hwvtep-acl-attributes {
524 description "ACL attributes";
526 description "Name of the ACL";
530 description "The unique identifier of the acl";
534 uses hwvtep-acl-entry-attributes;
536 list acl-fault-status {
538 key "acl-fault-status-key";
539 leaf acl-fault-status-key {
540 description "acl-fault-status name/key";
543 leaf acl-fault-status-value {
544 description "acl-fault-status value: can be empty/None";
550 grouping hwvtep-logical-binding-stats-attributes {
551 leaf logical-binding-stats-uuid {
552 description "A unique identifier of the logical binding stats";
555 leaf packets-from-local {
556 description "integer";
559 leaf bytes-from-local {
560 description "integer";
563 leaf packets-to-local {
564 description "integer";
567 leaf bytes-to-local {
568 description "integer";
573 augment "/topo:network-topology/topo:topology/topo:node" {
574 description "Augmentation for physical switch nodes managed by hwvtep";
575 ext:augment-identifier "physical-switch-augmentation";
576 uses hwvtep-physical-switch-attributes;
579 augment "/topo:network-topology/topo:topology/topo:node" {
580 description "Augment topology node for a hwvtep node";
581 ext:augment-identifier "hwvtep-global-augmentation";
582 uses hwvtep-global-attributes;
585 augment "/topo:network-topology/topo:topology/topo:node/topo:termination-point" {
586 description "Augment topology node termination-point for a hwvtep physical-locator";
587 ext:augment-identifier "hwvtep-physical-locator-augmentation";
588 uses hwvtep-physical-locator-attributes;
591 augment "/topo:network-topology/topo:topology/topo:node/topo:termination-point" {
592 description "Augment topology node termination-point for a hwvtep physical-port";
593 ext:augment-identifier "hwvtep-physical-port-augmentation";
594 uses hwvtep-physical-port-attributes;