-#!/usr/bin/env python
# -*- coding: utf-8 -*-
from factories_metadata import wifi_standards, l4_protocols, \
"simu_impl_type": dict({
"name": "SimulatorImplementationType",
"help": "The object class to use as the simulator implementation",
- "type": Attribute.STRING,
+ "value": "ns3::DefaultSimulatorImpl",
+ "type": Attribute.ENUM,
"flags": Attribute.ExecReadOnly | Attribute.ExecImmutable,
- "validation_function": validation.is_string
+ "allowed": [
+ "ns3::DefaultSimulatorImpl",
+ "ns3::RealtimeSimulatorImpl",
+ ],
+ "validation_function": validation.is_enum
+ }),
+ "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::MapScheduler",
+ "type": Attribute.ENUM,
+ "flags": Attribute.ExecReadOnly | Attribute.ExecImmutable,
+ "allowed": [
+ "ns3::MapScheduler",
+ "ns3::HeapScheduler",
+ "ns3::ListScheduler",
+ "ns3::CalendarScheduler",
+ ],
+ "validation_function": validation.is_enum
}),
"checksum": dict({
"name": "ChecksumEnabled",
"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,
+ "flags": Attribute.NoDefaultValue,
+ "type": Attribute.BOOL,
+ "help": "Symmetry between in the propagation loss model between nodes."
+ }),
"IntervalT3": dict({
"name": "IntervalT3",
"validation_function": validation.is_time,
"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"
}),
"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"
}),
"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"
}),
"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"
}),
"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"
}),
"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"
}),
"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"
}),
"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"
}),
"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"
}),
"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"
}),
"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"
}),
"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",
}),
"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,
+ }),
})