X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=vpnmanager%2Fvpnmanager-api%2Fsrc%2Fmain%2Fyang%2Fodl-l3vpn.yang;fp=vpnmanager%2Fvpnmanager-api%2Fsrc%2Fmain%2Fyang%2Fodl-l3vpn.yang;h=ff52c7104f44165b3b30b57264587dbe36b56d76;hb=3f33c68b5de131d65593dbea1581edf05ce5e0c2;hp=0221f292ab1c7767188a739cf036582e28c3ef23;hpb=a3f9ddeb9c29422b8681fa55386dc9c52b23ca65;p=vpnservice.git diff --git a/vpnmanager/vpnmanager-api/src/main/yang/odl-l3vpn.yang b/vpnmanager/vpnmanager-api/src/main/yang/odl-l3vpn.yang index 0221f292..ff52c710 100644 --- a/vpnmanager/vpnmanager-api/src/main/yang/odl-l3vpn.yang +++ b/vpnmanager/vpnmanager-api/src/main/yang/odl-l3vpn.yang @@ -12,18 +12,18 @@ module odl-l3vpn { grouping adjacency-list{ list adjacency{ key "ip_address"; - leaf nextHopId { type uint32;} + leaf nextHopIp { type string; } leaf ip_address {type string;} - leaf label {type uint32;} /* optional */ + leaf label { type uint32; config "false"; } /* optional */ leaf mac_address {type string;} /* optional */ } } - - grouping vpn-route-list{ - leaf-list route-entry-id{ - type uint32; - } - } + + grouping vpn-route-list{ + leaf-list route-entry-id{ + type uint32; + } + } augment "/l3vpn:vpn-interfaces/l3vpn:vpn-interface" { ext:augment-identifier "adjacencies"; @@ -32,7 +32,75 @@ module odl-l3vpn { augment "/l3vpn:vpn-instances/l3vpn:vpn-instance" { leaf vpn-id { type uint32;} - uses vpn-route-list; + uses vpn-route-list; + } + + /* Operational DS containers for reverse lookups*/ + container prefix-to-interface { + config false; + list vpn-ids { + key vpn-id; + leaf vpn-id {type uint32;} + list prefixes { + key ip_address; + leaf ip_address {type string;} + leaf dpnId { + type uint64; + } + leaf vpn-interface-name { + type string; + } + } + } + } + + /* Data models to adhere to restart requirements */ + container vpn-instance-to-vpn-id { + list vpn-instance { + key vpn-instance-name; + leaf vpn-instance-name { + type string; + } + leaf vpn-id { + type uint32; + } + leaf vrf-id { + description + "The vrf-id command configures a route distinguisher (RD) + for the IPv4 or IPv6 address family of a VPN instance or + vpn instance name for internal vpn case."; + type string; + } + } + } + + container vpn-instance-op-data { + config false; + list vpn-instance-op-data-entry { + key vrf-id; + leaf vpn-id { type uint32;} + leaf vrf-id { + description + "The vrf-id command configures a route distinguisher (RD) + for the IPv4 or IPv6 address family of a VPN instance or + vpn instance name for internal vpn case."; + type string; + } + + uses vpn-route-list; + list vpn-to-dpn-list { + key dpnId; + leaf dpnId { + type uint64; + } + list vpn-interfaces { + key interface-name; + leaf interface-name { + type string; + } + } + } + } } } \ No newline at end of file