summaryrefslogtreecommitdiff
path: root/validation/test/P2P_throughput/config.py
diff options
context:
space:
mode:
authorJean-Philippe NOEL2012-09-26 17:27:39 +0200
committerJean-Philippe NOEL2012-10-05 09:46:07 +0200
commit9ae2acfb608504ef99f3b6d51a0f05e2bdfd95e2 (patch)
tree06715ba1824d953b4810f75ea2e26f8b6dd5ff8c /validation/test/P2P_throughput/config.py
parentd722b5ecb56f3a4e28b0db91a640eaa858c1a3cc (diff)
validation: shorten the names of the P2P throughput files, refs #3363
Diffstat (limited to 'validation/test/P2P_throughput/config.py')
-rw-r--r--validation/test/P2P_throughput/config.py187
1 files changed, 187 insertions, 0 deletions
diff --git a/validation/test/P2P_throughput/config.py b/validation/test/P2P_throughput/config.py
new file mode 100644
index 0000000000..fbe65c7757
--- /dev/null
+++ b/validation/test/P2P_throughput/config.py
@@ -0,0 +1,187 @@
+{
+ #True|False
+ #If True, each image is displayed on the screen when it is generated
+ #If False, the PDF report is directly generated without showing the image
+ "show":False,
+ #True|False
+ #If True, the plugs are restarted before each serie of measurements
+ #If False, the plugs are not restarted before a serie of measurements
+ "restart_plugs":False,
+ #If True and if the 2 plugs are MSTAR, the 'vs_get_ce_stats' MME is sent
+ #before and after each serie of measurements
+ #If False or if one of the 2 plugs is not MSTAR, no MME is sent
+ "get_CE_stats":True,
+ #CE stats which difference, before and after each serie of measurements,
+ #is displayed in the report
+ "displayed_CE_stats": ["BLE",
+ "Restart BER",
+ "Restart PB error rate",
+ "Restart peer request",
+ "Restart tone map update",
+ "Restart ber margin update"],
+ #True|False
+ #If True, the measurements are reset, made and then the report is generated
+ #If False, the report is generated from the previous measurements
+ "make_measurements":True,
+ "attenuation":{
+ "values":numpy.arange(30, 100, 5).tolist(),
+ "duration_s":20,
+ #["a_b_uni"|"b_a_uni"|"bi"]
+ #see iperf.measurement_specs() for the meaning of the values
+ "curves":["a_b_uni", "b_a_uni", "bi"]},
+ "SNR": {
+ "values":numpy.arange(40, -10, -5).tolist(),
+ "duration_s":20,
+ #["a_b_uni"|"b_a_uni"|"bi"]
+ #see iperf.measurement_specs() for the meaning of the values
+ "curves":["a_b_uni", "b_a_uni"]},
+ "SJR":{
+ "values":numpy.arange(0, -55, -5).tolist(),
+ "duration_s":20,
+ #["a_b_uni"]
+ #see iperf.measurement_specs() for the meaning of the values
+ "curves":["a_b_uni"]},
+ "frame_size":{
+ #[(frame_size, max_throughput_M)]
+ #The frame size and the max throughput includes the Ethernet,
+ #IP and TCP/UDP headers
+ "values":[
+ (68, 18),
+ (128, 34),
+ (256, 65),
+ (512, 105),
+ (768, 125),
+ (1024, 142),
+ (1280, 142),
+ (1514, 142),
+ (1515, 142),
+ (1550, 142),
+ (1600, 142),
+ (1700, 142),
+ (2000, 142)
+ ],
+ "duration_s":20,
+ #["a_b_uni"|"b_a_uni"|"bi"]
+ #see iperf.measurement_specs() for the meaning of the values
+ "curves":["a_b_uni", "b_a_uni", "bi"]
+ },
+ "dynamic_jammer":{
+ #Must be ["time"]
+ "values":["time"],
+ #Must be seconds
+ "duration_s":15,
+ #["a_b_uni"|"b_a_uni"|"bi"]
+ #see iperf.measurement_specs() for the meaning of the values
+ "curves":["a_b_uni"]},
+ #[("UDP"|"TCP",
+ # "attenuation"|"SNR"|"frame_size"|"SJR"|"dynamic_jammer",
+ # (jammer frequency(MHz), AM form ("SINusoid"|"SQUare"),
+ # AM frequency (kHz), AM depth(%)) for "SJR",
+ # (SJR (dBm), sweep start frequency (MHz), sweep stop frequency (MHz),
+ # sweep time (seconds)) for "dynamic_jammer"
+ # and None otherwise)]
+ "fixtures":[
+ ("UDP", "attenuation", None),
+ ("TCP", "attenuation", None),
+ ("UDP", "SNR", None),
+ ("TCP", "SNR", None),
+ ("UDP", "SJR", (13.5, None)),
+ ("UDP", "SJR", (18.5, None)),
+ ("UDP", "SJR", (23.5, None)),
+ ("UDP", "SJR", (4, ("SINusoid", 1, 80))),
+ ("UDP", "SJR", (15, ("SINusoid", 1, 80))),
+ ("UDP", "SJR", (26, ("SINusoid", 1, 80))),
+ ("UDP", "SJR", (27.345, ("SINusoid", 1, 80))),
+ ("UDP", "frame_size", None),
+ ("UDP", "dynamic_jammer", (10, 2, 30, 60)),
+ ("UDP", "dynamic_jammer", (0, 2, 30, 60)),
+ ("UDP", "dynamic_jammer", (-10, 2, 30, 60)),
+ ("UDP", "dynamic_jammer", (-20, 2, 30, 60)),
+ ("UDP", "dynamic_jammer", (-30, 2, 30, 60))
+ ],
+ #Duration after the channel modification during which we generate traffic
+ #to let the CE converge
+ "ce_sync_time_s":2,
+ #Directory where the report is generated
+ "reports_directory":"reports",
+ #Bandwidth of the useful signal
+ #Typical values are (2, 28) in AV and (1, 38) in EoC
+ "signal_band_mhz":(1, 38),
+ #Power Spectral Density
+ #Typical values are -50 in AV and -63 in EoC
+ "ppsd_dbm_per_hz":-63,
+ #We want to reach a very low SJR, but the output power of the
+ #waveform generator is limited. Therefore, we set the signal to
+ #a low value, actually the lowest for which the throughput
+ #would not be impacted without noise. This value should be deduced from
+ #the results obtained in the 'attenuation' test. If the curve starts going
+ #down at 55 dB and if the minimal attenuation of the bench is 38,
+ #sjr_attenuator_attenuation_db must be to a value lower than
+ #(55 - 38) dB = 17 dB and greater than 0 dB, as long as these values are in
+ #compatible with the range of attenuation of the variable attenuator.
+ "sjr_attenuator_attenuation_db": 29,
+ #Attenuation of each AMN
+ #In AV, it must normally be set to 6
+ #In EoC, no AMN should be used and it should normally be set to 0
+ "amn_attenuation_db": 0,
+ #Signal attenuation on each side of the bench, to avoid any dazzling
+ #between the plugs. A typical value is 10.
+ "signal_attenuation_db": 10,
+ #Attenuation of the T
+ #If there is a T, it must normally be set to 6.
+ #If there is no T, it must be set to 0.
+ "t_attenuation_db": 6,
+ #Waveform attenuation at the output of the generator
+ "waveform_attenuation_db": 3,
+ #(unidir, bidir) throughput targets for UDP tests
+ #Typical values are the following:
+ # - (100, 85) in AV with an SPR310 and
+ # - (142, 85) for EoC with an SPK300g
+ "udp_throughputs_mbits_per_sec": (142, 85),
+ #Configuration passed to the 'attenuator' module
+ "attenuator" : {
+ "name":"att",
+ "buttons":{1:1, 2:2, 3:4, 4:4, 5:10, 6:20, 7:40, 8:0},
+ "user":"spidcom",
+ "host":"tursan"
+ },
+ #Configuration passed to the 'waveform_generator' module
+ "waveform_generator" : {
+ "name":"gbf",
+ "user":"spidcom",
+ "host":"tursan",
+ "noise_band_mhz":(0, 50),
+ "power_range_dbm":(-40, 24)
+ },
+ #Configuration passed to the 'power_strip' module
+ "power_strip":{1: ("192.168.0.10", "admin", "anel")},
+ #Configuration passed to the 'spc300' module
+ "spc300":{
+ "eth_netmask": "192.168.5.",
+ "plc_netmask": "unused",
+ "plugs":
+ {
+ (1, 1): ("100", "unused", "unused", "spk300g_eoc_master"),
+ (1, 5): ("101", "unused", "unused", "spk300g_eoc_slave")
+ }
+ },
+ #Configuration passed to the 'non_spc300' module
+ "non_spc300":{
+ "plugs":
+ {
+ }
+ },
+ #Configuration passed to the 'iperf' module
+ "iperf" : {
+ "host_a":{"non_plc_ip_address":"tursan",
+ "user":"spidcom",
+ "plc_ip_address":"192.168.5.254",
+ "power_strip_key":(1, 1)
+ },
+ "host_b":{"non_plc_ip_address":"spidcom-lab1",
+ "user":"spidcom",
+ "plc_ip_address":"192.168.5.52",
+ "power_strip_key":(1, 5)
+ },
+ }
+ }