X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=itm%2Fitm-api%2Fsrc%2Fmain%2Fyang%2Fitm-state.yang;h=a0349ec1d5b62e32b063f0a884fe764753b5f3a1;hb=457492a743696190dddf577c76aabac4d1af4139;hp=ca39c03eda5c66365aa14b392680a80a069cee92;hpb=84eb40f762ad62cb0b1f71768bab07fc17d4a81d;p=vpnservice.git diff --git a/itm/itm-api/src/main/yang/itm-state.yang b/itm/itm-api/src/main/yang/itm-state.yang index ca39c03e..a0349ec1 100644 --- a/itm/itm-api/src/main/yang/itm-state.yang +++ b/itm/itm-api/src/main/yang/itm-state.yang @@ -14,7 +14,7 @@ module itm-state { import ietf-inet-types { prefix inet; - revision-date "2010-09-24"; + revision-date "2013-07-15"; } import odl-interface { prefix odlif; revision-date "2015-03-31"; @@ -27,6 +27,27 @@ module itm-state { /* Operational state */ + identity tep-type-base { + description "Base TEP device type"; + } + identity tep-type-internal { + base tep-type-base; + description "TEP type internal e.g. Compute OVS"; + } + identity tep-type-external { + base tep-type-base; + description "TEP type external e.g. DC Gateway"; + } + identity tep-type-hwvtep { + base tep-type-base; + description "TEP type Hwvtep e.g. TOR devices"; + } + typedef tep-type { + type identityref { + base tep-type-base; + } + description "This type is used to refer to an TEP Device Type."; + } container dpn-endpoints { list DPN-TEPs-info { @@ -43,8 +64,8 @@ module itm-state { /* Minimum 1 port. We may for now support only two ports */ list tunnel-end-points { - - key "portname VLAN-ID ip-address"; /* Multiple tunnels on the same physical port but on different VLAN can be supported */ + ordered-by user; + key "portname VLAN-ID ip-address tunnel-type"; /* Multiple tunnels on the same physical port but on different VLAN can be supported */ leaf portname { type string; @@ -81,7 +102,7 @@ module itm-state { container tunnel-list { list internal-tunnel { - key "source-DPN destination-DPN"; + key "source-DPN destination-DPN transport-type"; leaf source-DPN { type uint64; @@ -90,6 +111,11 @@ module itm-state { leaf destination-DPN { type uint64; } + leaf transport-type { + type identityref { + base odlif:tunnel-type-base; + } + } /* logical-group interface id */ @@ -102,16 +128,21 @@ module itm-state { container external-tunnel-list { list external-tunnel { - key "source-DPN destination-IP"; + key "source-device destination-device transport-type"; - leaf source-DPN { - type uint64; + leaf source-device { + type string; //dpnid or node-id } - leaf destination-IP { - type inet:ip-address; + leaf destination-device { + type string; //dpn-id or node-id or ip } + leaf transport-type { + type identityref { + base odlif:tunnel-type-base; + } + } /* logical-group interface id */ leaf tunnel-interface-name { @@ -121,6 +152,43 @@ module itm-state { } } + grouping tep-info-attributes { + leaf tep-device-type { + type identityref { + base tep-type-base; + } + } + leaf tep-device-id { + type string; //dpnid or node-id + } + leaf tep-ip { + type inet:ip-address; //dpnid or node-id + } + } + + container tunnels_state { + list state-tunnel-list { + key "tunnel-interface-name"; + leaf tunnel-interface-name { + type string; + } + leaf tunnel-state { + type boolean; + config false; + } + container src-info { + uses tep-info-attributes; + } + container dst-info { + uses tep-info-attributes; + } + leaf transport-type { + type identityref { + base odlif:tunnel-type-base; + } + } + } + } notification itm-tunnel-build-complete{ }