aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/openconfig/openconfig-ospfv2-area.yang
blob: 2ee4ab4a8fdb55c4910ea2ef5660d1edc512f949 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
submodule openconfig-ospfv2-area {

  belongs-to openconfig-ospfv2 {
    prefix "oc-ospfv2";
  }

  import openconfig-extensions { prefix "oc-ext"; }
  import openconfig-ospf-types { prefix "oc-ospf-types"; }
  import ietf-inet-types { prefix "inet"; }

  // include other required submodules
  include openconfig-ospfv2-area-interface;
  include openconfig-ospfv2-lsdb;

  // meta
  organization "OpenConfig working group";

  contact
    "OpenConfig working group
    www.openconfig.net";

  description
    "This submodule provides OSPFv2 configuration and operational
    state parameters that are specific to the area context";

  oc-ext:openconfig-version "0.1.2";

  revision "2018-06-05" {
    description
      "Bug fixes in when statements in lsdb";
    reference "0.1.2";
  }

  revision "2017-08-24" {
    description
      "Minor formatting fixes.";
    reference "0.1.1";
  }

  revision "2017-02-28"{
    description
      "Initial public release of OSPFv2";
    reference "0.1.0";
  }

  revision "2016-06-24" {
    description
      "Initial revision";
    reference "0.0.1";
  }

  grouping ospfv2-area-config {
    description
      "Configuration parameters relating to an OSPF area";

    leaf identifier {
      type oc-ospf-types:ospf-area-identifier;
      description
        "An identifier for the OSPFv2 area - described as either a
        32-bit unsigned integer, or a dotted-quad";
    }
  }

  grouping ospfv2-area-mpls-config {
    description
      "Configuration parameters relating to OSPFv2 extensions for
      MPLS";

    leaf traffic-engineering-enabled {
      type boolean;
      description
        "Specifies whether traffic engineering extensions should be
        advertised within the area";
    }
  }

  grouping ospfv2-area-virtual-link-config {
    description
      "Configuration parameters relating to a virtual-link within
      the OSPF area";

    leaf remote-router-id {
      type inet:ipv4-address-no-zone;
      description
        "The router ID of the device which terminates the remote end
        of the virtual link";
    }
  }

  grouping ospfv2-area-structure {
    description
      "Structural grouping for configuration and operational state
      parameters that relate to an individual area";

    container config {
      description
        "Configuration parameters relating to an OSPFv2 area";

      uses ospfv2-area-config;
    }

    container state {
      config false;
      description
        "Operational state parameters relating to an OSPFv2 area";
      uses ospfv2-area-config;
    }

    container mpls {
      description
        "Configuration and operational state parameters for OSPFv2
        extensions relating to MPLS";

      container config {
        description
          "Configuration parameters relating to MPLS extensions for
          OSPFv2";
        uses ospfv2-area-mpls-config;
      }

      container state {
        config false;
        description
          "Operational state parameters relating to MPLS extensions
          for OSPFv2";
        uses ospfv2-area-mpls-config;
      }
    }

    uses ospfv2-lsdb-structure;
    uses ospfv2-area-interfaces-structure;

    container virtual-links {
      description
        "Configuration and state parameters relating to virtual
        links from the source area to a remote router";

      list virtual-link {
        key "remote-router-id";

        description
          "Configuration and state parameters relating to a
          virtual link";

        leaf remote-router-id {
          type leafref {
            path "../config/remote-router-id";
          }
          description
            "Reference to the remote router ID";
        }

        container config {
          description
            "Configuration parameters relating to the OSPF virtual link";
          uses ospfv2-area-virtual-link-config;
        }

        container state {
          config false;
          description
            "State parameters relating to the OSPF virtual link";
          uses ospfv2-area-virtual-link-config;
          uses ospfv2-area-interface-neighbor-state;
        }
      }
    }
  }
}