// It requires rfc6991 (revision 2013-07-15), but odl don't have it, so this patch verify build will fail.
import ietf-inet-types { prefix "inet"; revision-date 2010-09-24; }
import neutron-attrs { prefix "attrs"; }
- import neutron-networks { prefix "networks"; }
organization "OpenDaylight Neutron Group";
contact "J. Gregory Hall <ghall@brocade.com>, Kiran Sreenivasa <kkoushik@brocade.com>";
description "This YANG module defines L3 attributes that are used by Openstack
- Ice House Neutron modules.";
+ Juno House Neutron modules.";
revision "2014-10-02" {
description
"Initial version of L3 attributes used by OpenStack Ice House Neutron
models";
}
- augment "/networks:networks/networks:network"{
- description "
- This module augments the networks container in the neutron-networks
- module with router information.
- ";
- leaf external {
- description "If true, it indicates that the router is externally accessible.";
+
+ grouping L3-attributes {
+ leaf distributed {
+ description "whether this router is distributed or not.";
type boolean;
default "false";
}
- }
- grouping L3-attrs {
-
- leaf-list external_network_id {
- description "The network_id, for the external gateways. If this is empty, then this
- network does not have external access";
+ leaf gateway-port-id {
+ description "the port uuid holding the router's gateway address.";
type yang:uuid;
}
+ leaf-list routes {
+ description "list of routes for this router.";
+ type string;
+ }
leaf router-status {
description "Contains the Router status.";
type string;
}
}
- grouping L3-floatingip-attrs {
+ grouping L3-floatingip-attributes {
leaf uuid {
type yang:uuid;
description "UUID to index this object.";
}
-
leaf tenant-id {
type yang:uuid;
description "The Tenant ID of this object.";
to select a specific IP.";
type inet:ip-address;
}
+ leaf status {
+ type string;
+ description "The network status.";
+ }
}
- grouping interface-attrs {
+ grouping interface-attributes {
+ leaf uuid {
+ type yang:uuid;
+ description "UUID to index this object.";
+ }
+ leaf tenant-id {
+ type yang:uuid;
+ description "The Tenant ID of this object.";
+ }
leaf subnet-id {
description "Contains the Subnet ID of the interface.";
type yang:uuid;
}
}
- container routers {
- list router {
-
- description "A logical entity for forwarding packets across internal subnets
- and NATting them on external networks through an appropriate external
- gateway.";
-
- key "uuid";
- uses attrs:base-attrs;
- uses attrs:admin-attrs;
- uses L3-attrs;
- list interfaces {
- description "List of interfaces associated with this router object.";
- uses interface-attrs;
+ grouping routers-attributes {
+ container routers {
+ list router {
+
+ description "A logical entity for forwarding packets across internal subnets
+ and NATting them on external networks through an appropriate external
+ gateway.";
+
+ key "uuid";
+ uses attrs:base-attributes;
+ uses attrs:admin-attributes;
+ uses L3-attributes;
+ container external_gateway_info {
+ leaf external-network-id {
+ description "The network_id, for the external gateways. If this is empty, then this
+ network does not have external access";
+ type yang:uuid;
+ }
+ leaf enable-snat {
+ description "If true, it indicates that the router is performing snat on external access ";
+ type boolean;
+ default "true";
+ }
+ list external-fixed-ips {
+ description "external fixed IPs for this router ";
+ key subnet-id;
+ leaf subnet-id {
+ type yang:uuid;
+ }
+ leaf ip-address {
+ type inet:ip-address;
+ }
+ }
+ }
+ list interfaces {
+ description "List of interfaces associated with this router object.";
+ key "uuid";
+ uses interface-attributes;
+ }
}
}
}
- container floatingips {
- list floatingip {
+ grouping floatingips-attributes {
+ container floatingips {
+ list floatingip {
- description "An external IP address that is mapped to a port that is
- attached to an internal network.";
+ description "An external IP address that is mapped to a port that is
+ attached to an internal network.";
- key "uuid";
- uses L3-floatingip-attrs;
+ key "uuid";
+ uses L3-floatingip-attributes;
+ }
}
}
-
}