def start_trex():
if request.method == 'POST':
if request.is_json:
req_data = request.get_json(cache=False)
if req_data is not None:
try:
traffic_config = {
"pps": int(req_data['input']['pps'].encode("ascii")),
"src_n": int(req_data['input']['src_n'].encode("ascii")),
"pkts_n": int(req_data['input']['pkts_n'].encode("ascii")),
"mac_dest": req_data['input']['mac_dest'].encode("ascii"),
"packet_size": int(req_data['input']['packet_size'].encode("ascii")),
"mult": int(req_data['input']['mult'].encode("ascii")),
}
if traffic_config["pps"] > 0 and traffic_config["mac_dest"]:
"""If # of PPS or MAC addresses is positive"""
if not Trex.is_running():
try:
start_traffic(traffic_config)
except:
import traceback
print "exception", traceback.format_exc()
return responsify('error', get_error_message('trex_not_start'))
return responsify('ok', 'start')
else:
return responsify('error', get_error_message('trex_already_running'))
else:
"""Stop TRex if 0 PPS or MAC addresses received"""
stop_trex(True)
return responsify('error', get_error_message('pps_must_be_positive'))
except (AttributeError, KeyError):
return responsify('error', get_error_message('not_json'))
except ValueError:
return responsify('error', get_error_message('ascii_error'))
else:
return responsify('error', get_error_message('not_json'))
else:
return responsify('error', get_error_message('not_json'))
else:
return responsify("ok", "ok")
# Stop sending traffic
评论列表
文章目录