app.py 文件源码

python
阅读 50 收藏 0 点赞 0 评论 0

项目:trex-http-proxy 作者: alwye 项目源码 文件源码
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
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号