def setUpClassDevices(cls): BridgeTools.delete_ns_all() BridgeTools.create_veth_pair(cls.gtp_veth, cls.gtp_veth_ns) BridgeTools.ifup_netdev(cls.gtp_veth, cls.gtp_pkt_dst + "/24") BridgeTools.create_veth_pair(cls.sgi_veth, cls.sgi_veth1) BridgeTools.create_ns_and_move_veth(cls.NS_NAME, cls.sgi_veth1, cls.inner_src_ip + "/24") BridgeTools.ifup_netdev(cls.sgi_veth, cls.inner_dst_ip + "/24") BridgeTools.ifup_netdev(cls.gtp_veth_ns, cls.gtp_pkt_src + "/24") gw_ip = IPAddress(version=IPAddress.IPV4, address=socket.inet_aton(cls.sgi_veth_ip)) cls.ebpf_man = EbpfManager(cls.sgi_veth, cls.gtp_veth, gw_ip, bpf_ul_file=UL_HANDLER, bpf_dl_file=DL_HANDLER, bpf_header_path=BPF_HEADER_PATH) cls.ebpf_man.detach_dl_ebpf() cls.ebpf_man.attach_dl_ebpf() cls.sniffer = AsyncSniffer( iface='gtpu_sys_2152', store=False, prn=cls.pkt_cap_fun, ) cls.sniffer.start()
def setUpClassDevices(cls): BridgeTools.delete_ns_all() BridgeTools.create_veth_pair(cls.gtp_veth, cls.gtp_veth_ns) BridgeTools.ifup_netdev(cls.gtp_veth, cls.gtp_pkt_dst + "/24") BridgeTools.create_veth_pair(cls.sgi_veth, cls.sgi_veth1) BridgeTools.create_ns_and_move_veth(cls.NS_NAME, cls.gtp_veth_ns, cls.gtp_pkt_src + "/24") BridgeTools.ifup_netdev(cls.sgi_veth, cls.sgi_veth_ip + "/24") BridgeTools.ifup_netdev(cls.sgi_veth1) cls.ebpf_man = ebpf_manager(cls.sgi_veth, cls.gtp_veth, cls.sgi_veth_ip, True, UL_HANDLER) cls.ebpf_man.detach_ul_ebpf() cls.ebpf_man.attach_ul_ebpf() time.sleep(2) cls.sniffer = AsyncSniffer( iface=cls.sgi_veth1, store=False, prn=cls.pkt_cap_fun, ) cls.sniffer.start()
def setUpClassDevices(cls): BridgeTools.delete_ns_all() BridgeTools.create_veth_pair(cls.gtp_veth, cls.gtp_veth_ns) BridgeTools.ifup_netdev(cls.gtp_veth, cls.gtp_pkt_dst + "/24") BridgeTools.create_veth_pair(cls.sgi_veth, cls.sgi_veth1) BridgeTools.create_ns_and_move_veth(cls.NS_NAME, cls.sgi_veth1, cls.inner_src_ip + "/24") BridgeTools.ifup_netdev(cls.sgi_veth, cls.inner_dst_ip + "/24") BridgeTools.ifup_netdev(cls.gtp_veth_ns, cls.gtp_pkt_src + "/24") cls.ebpf_man = ebpf_manager(cls.sgi_veth, cls.gtp_veth, cls.sgi_veth_ip, enabled=True, bpf_ul_file=UL_HANDLER, bpf_dl_file=DL_HANDLER) cls.ebpf_man.detach_dl_ebpf() cls.ebpf_man.attach_dl_ebpf() cls.sniffer = AsyncSniffer( iface='gtpu_sys_2152', store=False, prn=cls.pkt_cap_fun, ) cls.sniffer.start()
def tearDownClassDevices(cls): cls.ebpf_man.detach_ul_ebpf() cls.sniffer.stop() BridgeTools.delete_ns_all() BridgeTools.delete_veth(cls.gtp_veth) BridgeTools.delete_veth(cls.sgi_veth)