module odl-l3vpn { namespace "urn:opendaylight:l3vpn"; prefix odl-l3vpn; import yang-ext {prefix ext; revision-date "2013-07-09";} import l3vpn { prefix l3vpn; revision-date "2014-08-15"; } revision "2013-09-11" { description "L3 VPN Service module"; } grouping adjacency-list{ list adjacency{ key "ip_address"; leaf nextHopIp { type string; } leaf ip_address {type string;} leaf label { type uint32; config "false"; } /* optional */ leaf mac_address {type string;} /* optional */ } } grouping vpn-route-list{ leaf-list route-entry-id{ type uint32; } } augment "/l3vpn:vpn-interfaces/l3vpn:vpn-interface" { ext:augment-identifier "adjacencies"; uses adjacency-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; } } } } container vpn-to-extraroute { config false; list vpn { key vrf-id; 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; } list extraroute { key prefix; leaf prefix {type string;} leaf nexthop-ip { 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; } leaf vpn-interface-count { type uint32; } 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; } } } } } }