Adding support for "ns3::MatrixPropagationLossModel" ... not yet working.
[nepi.git] / src / nepi / testbeds / ns3 / attributes_metadata.py
index 9033998..9db9196 100644 (file)
@@ -1,4 +1,3 @@
-#!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
 from factories_metadata import wifi_standards, l4_protocols, \
@@ -23,14 +22,14 @@ testbed_attributes = dict({
     "sched_impl_type": dict({
             "name": "SchedulerType",
             "help": "The object class to use as the scheduler implementation. Make sure to pick a thread-safe variant.",
-            "value": "ns3::ThreadsafeMapScheduler",
+            "value": "ns3::MapScheduler",
             "type": Attribute.ENUM,
             "flags": Attribute.ExecReadOnly | Attribute.ExecImmutable,
             "allowed": [
-                "ns3::ThreadsafeMapScheduler",
-                "ns3::ThreadsafeHeapScheduler",
-                "ns3::ThreadsafeListScheduler",
-                "ns3::ThreadsafeCalendarScheduler",
+                "ns3::MapScheduler",
+                "ns3::HeapScheduler",
+                "ns3::ListScheduler",
+                "ns3::CalendarScheduler",
             ],
             "validation_function": validation.is_enum
         }),
@@ -2096,6 +2095,20 @@ attributes = dict({
         "type": Attribute.DOUBLE,
         "help": "The default value for propagation loss, dB."
     }),
+    "Loss": dict({
+        "name": "Loss",
+        "validation_function": validation.is_double,
+        "value": 1.7976900000000001e+308,
+        "type": Attribute.DOUBLE,
+        "help": "The default value for propagation loss, dB."
+    }),
+   "Symmetric": dict({
+        "name": "Symmetric",
+        "validation_function": validation.is_bool,
+        "value": True,
+        "type": Attribute.BOOL,
+        "help": "Symmetry between in the propagation loss model between nodes."
+    }),
     "IntervalT3": dict({
         "name": "IntervalT3",
         "validation_function": validation.is_time,
@@ -2437,23 +2450,11 @@ attributes = dict({
         "allowed": wifi_standards.keys(),
         "help": "Wifi PHY standard"
     }),
-    "LinuxSocketAddress": dict({
-        "name": "LinuxSocketAddress",
-        "validation_function": None,
-        "value": "",
-        "flags": Attribute.DesignInvisible | \
-                Attribute.ExecInvisible | \
-                Attribute.ExecReadOnly | \
-                Attribute.ExecImmutable | \
-                Attribute.Metadata,
-        "type": Attribute.STRING,
-        "help": "Socket address assigned to the Linux socket created to recive file descriptor"
-    }),
     "ClassifierSrcAddress": dict({
         "name": "SrcAddress",
         "validation_function": validation.is_string, # TODO:! Address + Netref
         "value": "",
-        "flags": Attribute.ExecReadOnly | Attribute.ExecImmutable,
+        "flags": Attribute.ExecReadOnly | Attribute.ExecImmutable | Attribute.Metadata,
         "type": Attribute.STRING,
         "help": "The source ip address for the IpcsClassifierRecord"
     }),
@@ -2461,7 +2462,7 @@ attributes = dict({
         "name": "SrcMask",
         "validation_function": validation.is_string, # TODO:! NetworkMask
         "value": "",
-        "flags": Attribute.ExecReadOnly | Attribute.ExecImmutable,
+        "flags": Attribute.ExecReadOnly | Attribute.ExecImmutable | Attribute.Metadata,
         "type": Attribute.STRING,
         "help": "The mask to apply on the source ip address for the IpcsClassifierRecord"
     }),
@@ -2469,7 +2470,7 @@ attributes = dict({
         "name": "DstAddress",
         "validation_function": validation.is_string, # TODO:! Address + Netref
         "value": "",
-        "flags": Attribute.ExecReadOnly | Attribute.ExecImmutable,
+        "flags": Attribute.ExecReadOnly | Attribute.ExecImmutable | Attribute.Metadata,
         "type": Attribute.STRING,
         "help": "The destination ip address for the IpcsClassifierRecord"
     }),
@@ -2477,7 +2478,7 @@ attributes = dict({
         "name": "DstMask",
         "validation_function": validation.is_string, # TODO:! NetworkMask
         "value": "",
-        "flags": Attribute.ExecReadOnly | Attribute.ExecImmutable,
+        "flags": Attribute.ExecReadOnly | Attribute.ExecImmutable | Attribute.Metadata,
         "type": Attribute.STRING,
         "help": "The mask to apply on the destination ip address for the IpcsClassifierRecord"
     }),
@@ -2485,7 +2486,7 @@ attributes = dict({
         "name": "SrcPortLow",
         "validation_function": validation.is_integer,
         "value": 0,
-        "flags": Attribute.ExecReadOnly | Attribute.ExecImmutable,
+        "flags": Attribute.ExecReadOnly | Attribute.ExecImmutable | Attribute.Metadata,
         "type": Attribute.INTEGER,
         "help": "The lower boundary of the source port range for the IpcsClassifierRecord"
     }),
@@ -2493,7 +2494,7 @@ attributes = dict({
         "name": "SrcPortHigh",
         "validation_function": validation.is_integer,
         "value": 65000,
-        "flags": Attribute.ExecReadOnly | Attribute.ExecImmutable,
+        "flags": Attribute.ExecReadOnly | Attribute.ExecImmutable | Attribute.Metadata,
         "type": Attribute.INTEGER,
         "help": "The higher boundary of the source port range for the IpcsClassifierRecord"
     }),
@@ -2501,7 +2502,7 @@ attributes = dict({
         "name": "DstPortLow",
         "validation_function": validation.is_integer,
         "value": 0,
-        "flags": Attribute.ExecReadOnly | Attribute.ExecImmutable,
+        "flags": Attribute.ExecReadOnly | Attribute.ExecImmutable | Attribute.Metadata,
         "type": Attribute.INTEGER,
         "help": "The lower boundary of the destination port range for the IpcsClassifierRecord"
     }),
@@ -2509,7 +2510,7 @@ attributes = dict({
         "name": "DstPortHigh",
         "validation_function": validation.is_integer,
         "value": 65000,
-        "flags": Attribute.ExecReadOnly | Attribute.ExecImmutable,
+        "flags": Attribute.ExecReadOnly | Attribute.ExecImmutable | Attribute.Metadata,
         "type": Attribute.INTEGER,
         "help": "The higher boundary of the destination port range for the IpcsClassifierRecord"
     }),
@@ -2518,7 +2519,7 @@ attributes = dict({
         "validation_function": validation.is_string,
         "value": "UdpL4Protocol",
         "allowed": l4_protocols.keys(),
-        "flags": Attribute.ExecReadOnly | Attribute.ExecImmutable,
+        "flags": Attribute.ExecReadOnly | Attribute.ExecImmutable | Attribute.Metadata,
         "type": Attribute.ENUM,
         "help": "The L4 protocol for the IpcsClassifierRecord"
     }),
@@ -2526,7 +2527,7 @@ attributes = dict({
         "name": "Priority",
         "validation_function": validation.is_integer,
         "value": 1,
-        "flags": Attribute.ExecReadOnly | Attribute.ExecImmutable,
+        "flags": Attribute.ExecReadOnly | Attribute.ExecImmutable | Attribute.Metadata,
         "type": Attribute.INTEGER,
         "help": "The priority of the IpcsClassifierRecord"
     }),
@@ -2535,7 +2536,7 @@ attributes = dict({
         "validation_function": validation.is_string,
         "value": "SF_DIRECTION_UP",
         "allowed": service_flow_direction.keys(),
-        "flags": Attribute.ExecReadOnly | Attribute.ExecImmutable,
+        "flags": Attribute.ExecReadOnly | Attribute.ExecImmutable | Attribute.Metadata,
         "type": Attribute.ENUM,
         "help": "Service flow direction as described by the IEEE-802.16 standard"
     }),
@@ -2544,7 +2545,7 @@ attributes = dict({
         "validation_function": validation.is_string,
         "value": "SF_TYPE_RTPS",
         "allowed": service_flow_scheduling_type.keys(),
-        "flags": Attribute.ExecReadOnly | Attribute.ExecImmutable,
+        "flags": Attribute.ExecReadOnly | Attribute.ExecImmutable | Attribute.Metadata,
         "type": Attribute.ENUM,
         "help": "Service flow scheduling type",
     }),
@@ -2556,4 +2557,29 @@ attributes = dict({
         "type": Attribute.STRING,
         "help": "Comma separated list of waypoints in format t:x:y:z. Ex: 0s:0:0:0, 1s:1:0:0"
     }),
+    "tun_cipher_fdnd" : dict({
+        "name" : "tun_cipher", 
+        "help" : "Tunnel cryptography not supported",
+        "type" : Attribute.ENUM,
+        "value" : "PLAIN",
+        "allowed" : [
+            "PLAIN",
+        ],
+        "flags" : Attribute.ExecImmutable | Attribute.Metadata,
+        "validation_function" : validation.is_enum,
+        }),
+    "Up" : dict({
+        "name" : "Up", 
+        "help" : "Flag to enable or disable interface",
+        "type" : Attribute.BOOL,
+        "value" : True,
+        "validation_function" : validation.is_bool,
+        }),
+    "QosSupported" : dict({
+        "name" : "QosSupported", 
+        "help" : "Flag to enable or disable QoS support at wifi MAC layer",
+        "type" : Attribute.BOOL,
+        "value" : False,
+        "validation_function" : validation.is_bool,
+        }),
 })