summaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/openconfig/openconfig-igmp.yang
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/yang/openconfig/openconfig-igmp.yang')
-rw-r--r--src/plugins/yang/openconfig/openconfig-igmp.yang356
1 files changed, 0 insertions, 356 deletions
diff --git a/src/plugins/yang/openconfig/openconfig-igmp.yang b/src/plugins/yang/openconfig/openconfig-igmp.yang
deleted file mode 100644
index 4668ea1..0000000
--- a/src/plugins/yang/openconfig/openconfig-igmp.yang
+++ /dev/null
@@ -1,356 +0,0 @@
-module openconfig-igmp {
-
- yang-version "1";
-
- // namespace
- namespace "http://openconfig.net/yang/igmp";
-
- prefix "oc-igmp";
-
- // import some basic types/interfaces
- import openconfig-igmp-types { prefix oc-igmp-types; }
- import openconfig-types { prefix "oc-types"; }
- import openconfig-acl { prefix "oc-acl"; }
- import openconfig-extensions { prefix "oc-ext"; }
- import openconfig-interfaces { prefix oc-if; }
- import ietf-inet-types { prefix "inet"; }
-
- // meta
- organization
- "OpenConfig working group";
-
- contact
- "OpenConfig working group
- www.openconfig.net";
-
- description
- "An OpenConfig model for Internet Group Management Protocol (IGMP).";
-
- oc-ext:openconfig-version "0.1.0";
-
- revision "2018-02-19" {
- description
- "Initial revision.";
- reference "0.1.0";
- }
-
- grouping admin-config {
- description
- "Re-usable grouping to enable or disable a particular feature.";
-
- leaf enabled {
- type boolean;
- default false;
- description
- "When set to true, the functionality within which this
- leaf is defined is enabled, when set to false it is
- explicitly disabled.";
- }
- }
-
- grouping igmp-interface-config {
- description
- "Configuration data for IGMP on each interface.";
-
- leaf interface-id {
- type oc-if:interface-id;
- description
- "Reference to an interface on which IGMP is enabled.";
- }
-
- uses admin-config;
-
- leaf version {
- type oc-igmp-types:igmp-version;
- description
- "IGMP Version.";
- }
-
- leaf query-interval {
- type oc-igmp-types:igmp-interval-type;
- description
- "Interval at which the router sends the IGMP membership
- queries.";
- }
-
- leaf filter-prefixes {
- type string;
- // TODO work out what this should be.
- // On Juniper it's a "policy" and on Cisco a sort of "class map"
- description
- "List used to filter joins.";
- }
- }
-
- grouping igmp-counters-per-version {
- description
- "Counters for each IGMP protocol version.";
-
- container state {
- config false;
- description
- "Counters for each IGMP protocol version.";
-
- leaf v1 {
- type uint32;
- description
- "IGMP v1.";
- }
- leaf v2 {
- type uint32;
- description
- "IGMP v2.";
- }
- leaf v3 {
- type uint32;
- description
- "IGMP v3.";
- }
- }
- }
-
- grouping igmp-interface-counters {
- description
- "State and session data for IGMP on each interface.";
-
-
- container counters {
- description
- "Counters avaiable on a per interface bases for IGMP.";
-
- container queries {
- description
- "IGMP membership queries.";
-
- container sent {
- description
- "Number of IGMP membership queries sent.";
- uses igmp-counters-per-version;
- }
-
- container received {
- description
- "Number of IGMP membership queries received.";
- uses igmp-counters-per-version;
- }
- }
-
- container reports {
- description
- "Number of IGMP membership reports received.";
- uses igmp-counters-per-version;
- }
- }
- }
-
- grouping igmp-snooping-state {
- description
- "IGMP membership snooping state.";
-
- leaf group {
- type inet:ipv4-address;
- description
- "Multicast address.";
- }
-
- leaf source {
- type inet:ipv4-address;
- description
- "Source address of multicast.";
- }
-
- leaf reporter {
- type inet:ipv4-address;
- description
- "Address of the last reporter.";
- }
- }
-
- grouping igmp-snooping-structural {
- description
- "IGMP membership information determined through snooping.";
-
- container membership-groups {
- description
- "List of IGMP Membership information.";
-
- list group {
- key "group";
- config false;
- description
- "Multicast group membership.";
-
- leaf group {
- type leafref {
- path "../state/group";
- }
- description
- "Multicast address.";
- }
-
- container state {
- config false;
- description
- "Multicast group membership.";
-
- uses igmp-snooping-state;
- }
- }
- }
- }
-
- grouping igmp-interface-state {
- description
- "IGMP interface state.";
-
- leaf query-expires {
- type oc-types:timeticks64;
- description
- "This timestamp indicates the time that the next query is sent.
- The value is the timestamp in seconds relative to
- the Unix Epoch (Jan 1, 1970 00:00:00 UTC).";
- }
- }
-
- grouping igmp-interface-top {
- description
- "Configuration and state data for IGMP on each interface.";
-
- container interfaces {
- description
- "The interfaces on which IGMP is configured.";
-
- list interface {
- key "interface-id";
- description
- "This container defines interface IGMP configuration and
- state information.";
-
- leaf interface-id {
- type leafref {
- path "../config/interface-id";
- }
- description
- "Reference to an interface on which IGMP is enabled.";
- }
-
- container config {
- description
- "IGMP interface configuration.";
-
- uses igmp-interface-config;
- }
-
- container state {
- config false;
- description
- "This container defines state information for IGMP
- interfaces.";
-
- uses igmp-interface-state;
- uses igmp-interface-config;
- }
-
- uses igmp-interface-counters;
- uses igmp-snooping-structural;
- uses oc-if:interface-ref;
- }
- }
- }
-
- grouping igmp-ssm-maps-config {
- description
- "A Source Specific Multicast (SSM) mapping. This allows
- IGMP v2 hosts to be able to join in SSM environments
- by translating IGMP v2 reports into IGMP v3 reports.
- The request in an IGMP v2 join is sent toward the source
- address found by matching the multicast address.";
-
- leaf source {
- type inet:ipv4-address;
- description
- "Multicast source address.";
- }
-
- leaf ssm-ranges {
- type leafref {
- path "/oc-acl:acl/oc-acl:acl-sets/oc-acl:acl-set/" +
- "oc-acl:config/oc-acl:name";
- }
- description
- "List of accepted source specific multicast (SSM) address
- ranges.";
- }
- }
-
- grouping igmp-global-config {
- description
- "This grouping defines global config options for IGMP.";
-
- }
-
- grouping igmp-global-top {
- description
- "Top level grouping for global IGMP configuration.";
-
- container ssm {
- description
- "Source specific multicast (SSM).";
-
- container mappings {
- description
- "A list of source specific multicast (SSM) mappings.";
-
- list mapping {
- key "source";
- description
- "A Source Specific Multicast (SSM) mapping. This allows
- IGMP v2 hosts to be able to join in SSM environments
- by translating IGMP v2 reports into IGMP v3 reports.
- The request in an IGMP v2 join is sent toward the source
- address found by matching the multicast address.";
-
- leaf source {
- type leafref {
- path "../config/source";
- }
- description
- "Multicast source address.";
- }
-
- container config {
- description
- "Configuration for SSM maps.";
- uses igmp-ssm-maps-config;
- }
- container state {
- config false;
- description
- "State for SSM maps.";
- uses igmp-ssm-maps-config;
- }
- }
- }
- }
- }
-
- grouping igmp-top {
- description
- "Top-level grouping for IGMP.";
-
- container igmp {
- description
- "Top-level IGMP configuration and operational state.";
-
- container global {
- description
- "Global IGMP configuration and operational state.";
- uses igmp-global-top;
- }
-
- uses igmp-interface-top;
- }
- }
-
- // data definition statements
-}