[email protected] Maven / Gradle / Ivy
/*
* Copyright (c) 2016 Cisco Systems, Inc. and others. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*/
module l2-l3-forwarding {
yang-version 1;
namespace "urn:opendaylight:groupbasedpolicy:forwarding:l2_l3";
prefix "l2-l3-forwarding";
import forwarding { prefix forwarding; revision-date 2016-04-27; }
import renderer { prefix renderer; revision-date 2015-11-03; }
import ietf-inet-types { prefix inet; revision-date 2013-07-15; }
import yang-ext {prefix ext; revision-date 2013-07-09;}
revision "2017-05-11" {
description
"Updated revision, added support for default GW and DHCP server in subnet.";
}
revision "2016-04-27" {
description
"Initial revision.";
}
identity l3-context {
base forwarding:context-type;
}
identity l2-bridge-domain {
base forwarding:context-type;
}
identity l2-flood-domain {
base forwarding:context-type;
}
identity subnet {
base forwarding:network-domain;
}
identity mac-address-type {
description "Values by MAC address type MUST be compatible with type ietf-yang-types:mac-address.
This address type can be used only if forwarding:context-type is l2-bridge-domain.";
base forwarding:address-type;
}
identity ip-prefix-type {
description "Values by IP prefix type MUST be compatible with type ietf-inet-types:ip-prefix.
This address type can be used only if forwarding:context-type is l3-context.";
base forwarding:address-type;
}
grouping has-subnet {
container subnet {
when "../forwarding:network-domain-type = 'l2-l3-forwarding:subnet'";
leaf ip-prefix {
description "The IP prefix that defines the subnet";
type inet:ip-prefix;
}
leaf virtual-router-ip {
description
"IP address to use for a virtual gateway router
for the subnet, if desired.";
type inet:ip-address;
}
leaf default-subnet-gateway-ip {
description
"IP address to use for a default gateway
for the subnet, if desired.";
type inet:ip-address;
}
list gateways {
description
"External gateways for subnets we serve,
includes prefixes for static routing";
key "gateway";
leaf gateway {
type inet:ip-address;
}
list prefixes {
key "prefix";
leaf prefix {
type inet:ip-prefix;
}
}
}
list allocation-pool {
description "Allocation pool of assignable addresses.";
key "first last";
leaf first {
type string;
}
leaf last {
type string;
}
}
leaf is-tenant {
description "Subnet is used as tenant network.";
type boolean;
default "true";
}
}
}
augment "/forwarding:forwarding/forwarding:forwarding-by-tenant/forwarding:network-domain" {
ext:augment-identifier "subnet-augment-forwarding";
uses has-subnet;
}
augment "/renderer:renderers/renderer:renderer/renderer:renderer-policy/renderer:configuration/renderer:renderer-forwarding/renderer:renderer-forwarding-by-tenant/renderer:renderer-network-domain" {
ext:augment-identifier "subnet-augment-renderer";
uses has-subnet;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy