}
default "extra-route";
}
- leaf label { type uint32; config "false"; } /* optional */
leaf mac_address {type string;} /* optional */
leaf subnet_id {type yang:uuid;} /* optional */
- leaf subnet_gateway_mac_address {type string; config "false";} /* optional */
- leaf vrf-id { type string; config "false"; }
+ leaf subnet_gateway_ip {type string;} /* optional */
leaf phys-network-func {
type boolean;
default false;
description "Value of True indicates this is an adjacency of a device in a provider network";
}
+ uses adjacency-op-data;
+ }
+ }
+
+ grouping adjacency-op-data{
+ leaf label { type uint32; config "false"; } /* optional */
+ leaf subnet_gateway_mac_address {type string; config "false";} /* optional */
+ leaf vrf-id { type string; config "false"; }
+ leaf marked_for_deletion {
+ config "false";
+ type boolean;
+ description "This flag if true suggest this adjancency has been marked for deletion";
}
}
uses adjacency-list;
}
- augment "/l3vpn:vpn-interfaces/l3vpn:vpn-interface" {
- ext:augment-identifier "opState";
- leaf stateUp {type boolean; config false;}
- }
-
/* Operational DS containers for reverse lookups*/
container prefix-to-interface {
config false;
leaf vpn-interface-name {
type string;
}
- leaf subnet-id {
- type yang:uuid;
- }
+ uses nvpn:network-attributes;
leaf prefix-cue {
type enumeration {
enum none {
leaf dpn-id {
type uint64;
}
- leaf scheduled-for-remove {
- type boolean;
- }
leaf router-interface {
type boolean;
}
leaf gateway-mac-address {
type string;
}
+ leaf gateway-ip-address {
+ type string;
+ }
leaf lport-tag {
type uint32;
}
}
}
- container dpid-l3vpn-lb-nexthops {
+ container l3vpn-dc-gws {
config false;
- list dpn-lb-nexthops {
- key "src-dp-id dst-device-id";
- leaf src-dp-id { type uint64; }
- leaf dst-device-id { type string; } //dpId or ip-address
- leaf-list nexthop-key { type string; }
+ list dc-gateway {
+ key "ip-address";
+ leaf ip-address {
+ type string;
+ }
+ }
+ }
+
+ typedef learnt-vpn-vip-to-port-event-action {
+ type enumeration {
+ enum add {
+ value "0";
+ description
+ "Event to add a learnt vip to CSC FIB";
+ }
+ enum delete {
+ value "1";
+ description
+ "Event to remove a learnt vip from CSC FIB";
+ }
+ }
+ description
+ "This value represents the action of an event on learnt-vpn-vip-to-port.
+ The possible actions supported are only ADD, DELETE";
+ }
+
+ container learnt-vpn-vip-to-port-event-data {
+ config false;
+ list learnt-vpn-vip-to-port-event {
+ key "learnt-vpn-vip-event-id";
+ leaf vpn-name { type string; }
+ leaf src-fixedip { type string; }
+ leaf dest-fixedip { type string; }
+ leaf port-name { type string; }
+ leaf mac-address { type string; }
+ leaf event-action { type learnt-vpn-vip-to-port-event-action; }
+ leaf learnt-vpn-vip-event-id { type string; }
+ }
+ }
+
+ /* rt to subnets map */
+ container subnets-associated-to-route-targets {
+ config false;
+ list route-target {
+ key "rt rt-type";
+ leaf rt { type string; }
+ leaf rt-type {
+ type enumeration {
+ enum iRT {
+ value "0";
+ }
+ enum eRT {
+ value "1";
+ }
+ }
+ }
+ list associated-subnet {
+ key cidr;
+ leaf cidr { type string; }
+ list associated-vpn {
+ key "name";
+ leaf name { type string; }
+ }
+ }
}
}
}