TR181-XPON  1.4.0
TR-181 PON manager.
tr181-xpon_definition.odl
Go to the documentation of this file.
1 /****************************************************************************
2 **
3 ** Copyright (c) 2022 SoftAtHome
4 **
5 ** Redistribution and use in source and binary forms, with or
6 ** without modification, are permitted provided that the following
7 ** conditions are met:
8 **
9 ** 1. Redistributions of source code must retain the above copyright
10 ** notice, this list of conditions and the following disclaimer.
11 **
12 ** 2. Redistributions in binary form must reproduce the above
13 ** copyright notice, this list of conditions and the following
14 ** disclaimer in the documentation and/or other materials provided
15 ** with the distribution.
16 **
17 ** Subject to the terms and conditions of this license, each
18 ** copyright holder and contributor hereby grants to those receiving
19 ** rights under this license a perpetual, worldwide, non-exclusive,
20 ** no-charge, royalty-free, irrevocable (except for failure to
21 ** satisfy the conditions of this license) patent license to make,
22 ** have made, use, offer to sell, sell, import, and otherwise
23 ** transfer this software, where such license applies only to those
24 ** patent claims, already acquired or hereafter acquired, licensable
25 ** by such copyright holder or contributor that are necessarily
26 ** infringed by:
27 **
28 ** (a) their Contribution(s) (the licensed copyrights of copyright
29 ** holders and non-copyrightable additions of contributors, in
30 ** source or binary form) alone; or
31 **
32 ** (b) combination of their Contribution(s) with the work of
33 ** authorship to which such Contribution(s) was added by such
34 ** copyright holder or contributor, if, at the time the Contribution
35 ** is added, such addition causes such combination to be necessarily
36 ** infringed. The patent license shall not apply to any other
37 ** combinations which include the Contribution.
38 **
39 ** Except as expressly stated above, no rights or licenses from any
40 ** copyright holder or contributor is granted under this license,
41 ** whether expressly, by implication, estoppel or otherwise.
42 **
43 ** DISCLAIMER
44 **
45 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
46 ** CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
47 ** INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
48 ** MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
49 ** DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR
50 ** CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
51 ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
52 ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
53 ** USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
54 ** AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
55 ** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
56 ** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
57 ** POSSIBILITY OF SUCH DAMAGE.
58 **
59 ****************************************************************************/
60 
62 
70  object XPON {
71 
79  %protected %read-only string ModuleName {
80  default "";
81  on action validate call check_maximum_length 64;
82  }
83 
94  %protected %read-only bool ModuleError {
95  default false;
96  }
97 
104  %protected %read-only string FsmState;
105 
113  %read-only object ONU[] {
114  counted with ONUNumberOfEntries;
115 
125  bool Enable = false;
126 
133  %protected string PONMode {
134  default "G-PON";
135  on action validate call check_enum
136  ["G-PON", "XGS-PON" ];
137  }
152  %protected bool UsePPTPEthernetUNIasIFtoNonOmciDomain {
153  default false;
154  }
155 
159  %unique %key string Name {
160  on action validate call check_maximum_length 64;
161  }
162 
169  %read-only string Version {
170  on action validate call check_maximum_length 14;
171  }
172 
179  %read-only string EquipmentID {
180  on action validate call check_maximum_length 20;
181  }
182 
183  %read-only object SoftwareImage[2] {
184  counted with SoftwareImageNumberOfEntries;
185  }
186 
187  %read-only object EthernetUNI[] {
188  counted with EthernetUNINumberOfEntries;
189  }
190 
191  %read-only object ANI[] {
192  counted with ANINumberOfEntries;
193  }
194  }
195  }
196 }
197 
198 include "tr181-xpon_SoftwareImage.odl";
199 include "tr181-xpon_EthernetUNI.odl";
200 include "tr181-xpon_ANI.odl";
201 
203  on event "dm:object-changed" call onu_enable_changed
204  filter 'path matches "XPON\.ONU\.[0-9]+\.$" &&
205  contains("parameters.Enable")';
206 
207  on event "dm:object-changed" call ani_enable_changed
208  filter 'path matches "XPON\.ONU\.[0-9]+\.ANI\.[0-9]+\.$" &&
209  contains("parameters.Enable")';
210 
211  on event "dm:instance-added" call interface_object_added
212  filter 'path matches "XPON\.ONU\.[0-9]+\.EthernetUNI\.$"';
213 
214  on event "dm:instance-added" call interface_object_added
215  filter 'path matches "XPON\.ONU\.[0-9]+\.ANI\.$"';
216 
217  on event "dm:object-changed" call status_changed
218  filter 'path matches "XPON\.ONU\.[0-9]+\.EthernetUNI\.[0-9]+\.$" &&
219  contains("parameters.Status")';
220 
221  on event "dm:object-changed" call status_changed
222  filter 'path matches "XPON\.ONU\.[0-9]+\.ANI\.[0-9]+\.$" &&
223  contains("parameters.Status")';
224 
225  on event "dm:object-changed" call password_changed
226  filter 'path matches "XPON\.ONU\.[0-9]+\.ANI\.[0-9]+\.TC\.Authentication\.$" &&
227  contains("parameters.Password")';
228 }