README moves to markdown
[nepi.git] / src / nepi / resources / ns3 / classes / lte_ue_net_device.py
1 #
2 #    NEPI, a framework to manage network experiments
3 #    Copyright (C) 2014 INRIA
4 #
5 #    This program is free software: you can redistribute it and/or modify
6 #    it under the terms of the GNU General Public License version 2 as
7 #    published by the Free Software Foundation;
8 #
9 #    This program is distributed in the hope that it will be useful,
10 #    but WITHOUT ANY WARRANTY; without even the implied warranty of
11 #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12 #    GNU General Public License for more details.
13 #
14 #    You should have received a copy of the GNU General Public License
15 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
16 #
17
18 from nepi.execution.attribute import Attribute, Flags, Types
19 from nepi.execution.trace import Trace, TraceAttr
20 from nepi.execution.resource import ResourceManager, clsinit_copy, \
21         ResourceState
22 from nepi.resources.ns3.ns3netdevice import NS3BaseNetDevice 
23
24 @clsinit_copy
25 class NS3LteUeNetDevice(NS3BaseNetDevice):
26     _rtype = "ns3::LteUeNetDevice"
27
28     @classmethod
29     def _register_attributes(cls):
30         
31         attr_imsi = Attribute("Imsi",
32             "International Mobile Subscriber Identity assigned to this UE",
33             type = Types.Integer,
34             default = "0",  
35             allowed = None,
36             range = None,    
37             flags = Flags.Reserved | Flags.Construct)
38
39         cls._register_attribute(attr_imsi)
40
41         attr_dlearfcn = Attribute("DlEarfcn",
42             "Downlink E-UTRA Absolute Radio Frequency Channel Number (EARFCN) as per 3GPP 36.101 Section 5.7.3. ",
43             type = Types.Integer,
44             default = "100",  
45             allowed = None,
46             range = None,    
47             flags = Flags.Reserved | Flags.Construct)
48
49         cls._register_attribute(attr_dlearfcn)
50
51         attr_csgid = Attribute("CsgId",
52             "The Closed Subscriber Group (CSG) identity that this UE is associated with, i.e., giving the UE access to cells which belong to this particular CSG. This restriction only applies to initial cell selection and EPC-enabled simulation. This does not revoke the UE\'s access to non-CSG cells. ",
53             type = Types.Integer,
54             default = "0",  
55             allowed = None,
56             range = None,    
57             flags = Flags.Reserved | Flags.Construct)
58
59         cls._register_attribute(attr_csgid)
60
61         attr_mtu = Attribute("Mtu",
62             "The MAC-level Maximum Transmission Unit",
63             type = Types.Integer,
64             default = "30000",  
65             allowed = None,
66             range = None,    
67             flags = Flags.Reserved | Flags.Construct)
68
69         cls._register_attribute(attr_mtu)
70
71
72
73     @classmethod
74     def _register_traces(cls):
75         pass
76
77     def __init__(self, ec, guid):
78         super(NS3LteUeNetDevice, self).__init__(ec, guid)
79         self._home = "ns3-lte-ue-net-device-%s" % self.guid