Framwork下个文件中包含的函数

packet.py

  1. LayersTypes =
  2. {
  3. "L2": ['ether', 'vlan', 'etag', '', 'arp', 'lldp'],
  4. # ipv4_ext_unknown, ipv6_ext_unknown
  5. "L3": ['ipv4', 'ipv4ihl', 'ipv6', 'ipv4_ext', 'ipv6_ext', 'ipv6_ext2', 'ipv6_frag'],
  6. "L4": ['tcp', 'udp', 'frag', 'sctp', 'icmp', 'nofrag'],
  7. "TUNNEL": ['ip', 'gre', 'vxlan', 'nvgre', 'geneve', 'grenat'],
  8. "INNER L2": ['inner_mac', 'inner_vlan'],
  9. # inner_ipv4_unknown, inner_ipv6_unknown
  10. "INNER L3": ['inner_ipv4', 'inner_ipv4_ext', 'inner_ipv6', 'inner_ipv6_ext'],
  11. "INNER L4": ['inner_tcp', 'inner_udp', 'inner_frag', 'inner_sctp', 'inner_icmp', 'inner_nofrag'],
  12. "PAYLOAD": ['raw']
  13. }
  14. # Saved back groud sniff process id
  15. SNIFF_PIDS = {}
  16. # Saved packet generator process id
  17. # used in pktgen or tgen
  18. PKTGEN_PIDS = {}
  19. # default filter for LLDP packet
  20. LLDP_FILTER = {'layer': 'ether', 'config': {'type': 'not lldp'}}
  21.  
  22. class scapy
  23. SCAPY_LAYERS =
  24. 'ether': Ether(dst="ff:ff:ff:ff:ff:ff"),
  25. 'vlan': Dot1Q(),
  26. 'etag': Dot1BR(),
  27. 00.__init__(self)
  28. 01.assign_pkt(self, pkt)
  29. 02.add_layers(self, layers)
  30. 03.ether(self, pkt_layer, dst="ff:ff:ff:ff:ff:ff", src="00:00:20:00:00:00", type=None)
  31. 04.vlan(self, pkt_layer, vlan, prio=0, type=None)
  32. 05.strip_vlan(self, element)
  33. 06.etag(self, pkt_layer, ECIDbase=0, prio=0, type=None)
  34. 07.strip_etag(self, element)
  35. 08.strip_layer2(self, element)
  36. 09.strip_layer3(self, element)
  37. 10.strip_layer4(self, element)
  38. 11.ipv4(self, pkt_layer, frag=0, src="127.0.0.1", proto=None, tos=0, dst="127.0.0.1", chksum=None, len=None, version=4, flags=None, ihl=None, ttl=64, id=1, options=None)
  39. 12.ipv6(self, pkt_layer, version=6, tc=0, fl=0, plen=0, nh=0, hlim=64, src="::1", dst="::1")
  40. 13.tcp(self, pkt_layer, src=53, dst=53, flags=None, len=None, chksum=None)
  41. 14.udp(self, pkt_layer, src=53, dst=53, len=None, chksum=None)
  42. 15.sctp(self, pkt_layer, src=53, dst=53, tag=None, len=None, chksum=None)
  43. 16.raw(self, pkt_layer, payload=None)
  44. 17.gre(self, pkt_layer, proto=None)
  45. 18.vxlan(self, pkt_layer, vni=0)
  46. 19.read_pcap(self, file)
  47. 20.write_pcap(self, file)
  48. 21.send_pcap_pkt(self, crb=None, file='', intf='', count=1)
  49. 22.print_summary(self)
  50. 23.send_pkt(self, intf='', count=1)
  51.  
  52. class Packet
  53. def_packet =
  54. 'TIMESYNC': {'layers': ['ether', 'raw'], 'cfgload': False},
  55. 'ARP': {'layers': ['ether', 'arp'], 'cfgload': False},
  56. 'LLDP': {'layers': ['ether', 'lldp'], 'cfgload': False},
  57. 00.__init__(self, **options)
  58. 01._load_assign_layers(self)
  59. 02.send_pkt(self, crb=None, tx_port='', auto_cfg=True, count=1)
  60. 03.check_layer_config(self, layer, config)
  61. 04.assign_layers(self, layers=None)
  62. 05._load_pkt_layers(self)
  63. 06.config_def_layers(self)
  64. 07.config_layer(self, layer, config={})
  65. 08.config_layers(self, layers=None)
  66. 09._config_layer_ether(self, pkt_layer, config):
  67. 10._config_layer_mac(self, pkt_layer, config):
  68. 11._config_layer_vlan(self, pkt_layer, config):
  69. 12._config_layer_etag(self, pkt_layer, config):
  70. 13._config_layer_ipv4(self, pkt_layer, config):
  71. 14._config_layer_ipv6(self, pkt_layer, config):
  72. 15._config_layer_udp(self, pkt_layer, config):
  73. 16._config_layer_tcp(self, pkt_layer, config):
  74. 17._config_layer_sctp(self, pkt_layer, config):
  75. 18._config_layer_gre(self, pkt_layer, config):
  76. 19._config_layer_raw(self, pkt_layer, config):
  77. 20._config_layer_vxlan(self, pkt_layer, config):
  78. 21.strip_layer_element(self, layer, element)
  79. 22.strip_element_layer2(self, element)
  80. 23.strip_element_layer3(self, element)
  81. 24.strip_element_vlan(self, element)
  82. 25.strip_element_etag(self, element)
  83. 26.strip_element_layer4(self, element)
  84.  
  85. 31.IncreaseIP(addr)
  86. 32.IncreaseIPv6(addr)
  87. 33.send_packets(intf, pkts=None, interval=0.01)
  88. 34.save_packets(pkts=None, filename=None)
  89. 35.get_ether_type(eth_type="")
  90. 36.get_filter_cmd(filters=[])
  91. 37.sniff_packets(intf, count=0, timeout=5, filters=[])
  92. 38.load_sniff_pcap(index='')
  93. 39.load_sniff_packets(index='')
  94. 40.load_pcapfile(filename="")
  95. 41.compare_pktload(pkt1=None, pkt2=None, layer="L2")
  96. 42.strip_pktload(pkt=None, layer="L2")

pmd_out.py

  1. """
  2. Module for get all statics value by port in testpmd
  3. """
  4. pmd_output
  5. 01.__init__(self,dut)
  6. 02.get_pmd_value(self, prefix, out)
  7. 03.set_default_corelist(self)
  8. 04.get_pmd_stats(self, portid)
  9. 05.get_pmd_cmd(self)
  10. 06.start_testpmd(self, cores, param='', eal_param='', socket=0)
  11. 07.execute_cmd(self, pmd_cmd, expected='testpmd> ', timeout=TIMEOUT,
  12. alt_session=False)
  13. 08.get_output(self, timeout=1)
  14. 09.get_value_from_string(self, key_str, regx_str, string)
  15. 10.get_detail_from_port_info(self, key_str, regx_str, port)
  16. 11.get_port_mac(self, port_id)
  17. 12.get_port_connect_socket(self, port_id)
  18. 13.get_port_memory_socket(self, port_id)
  19. 14.get_port_link_status(self, port_id)
  20. 15.get_port_link_speed(self, port_id)
  21. 16.get_port_link_duplex(self, port_id)
  22. 17.get_port_promiscuous_mode(self, port_id)
  23. 18.get_port_allmulticast_mode(self, port_id)
  24. 19.check_tx_bytes(self, tx_bytes, exp_bytes = 0)
  25. 20.get_port_vlan_offload(self, port_id)
  26. 21.quit(self)

ssh.py

  1. '''
  2. Module for create session to host.
  3. Implement(执行) send_expect/copy function upper SSHPexpet module.
  4. '''
  5. class SSHConnection(object):
  6. 01.init_log(self, logger):
  7. 02.set_history(self, history):
  8. 03.send_expect(self, cmds, expected, timeout=15, verify=False):
  9. 04.send_command(self, cmds, timeout=1):
  10. 05.get_session_before(self, timeout=15):
  11. 06.close(self, force=False):
  12. 07.isalive(self):
  13. 08.check_available(self):
  14. 09.copy_file_from(self, src, dst=".", password=''):
  15. 10.copy_file_to(self, src, dst="~/", password=''):

pexpect.py

  1. '''
  2. Module handle ssh sessions between tester and DUT.
  3. Implement send_expect function to send command and get output data.
  4. Aslo support transfer files to tester or DUT
  5. '''
  6. class SSHPexpect(object):
  7. @parallel_lock(num=8)
  8. 01._connect_host(self, dut_id=0):
  9. 02.init_log(self, logger, name):
  10. 03.send_expect_base(self, command, expected, timeout):
  11. 04.send_expect(self, command, expected, timeout=15, verify=False):
  12. 05.send_command(self, command, timeout=1):
  13. 06.clean_session(self):
  14. 07.get_session_before(self, timeout=15):
  15. 08.__flush(self):
  16. 09.__prompt(self, command, timeout):
  17. 10.__sendline(self, command):
  18. 11.get_output_before(self):
  19. 12.get_output_all(self):
  20. 13.close(self, force=False):
  21. 14.isalive(self):
  22. 15.copy_file_from(self, src, dst=".", password=''):
  23. 16.copy_file_to(self, src, dst="~/", password=''):
  24. 17._spawn_scp(self, scp_cmd, password):

dts--framework(二)的更多相关文章

  1. Django Rest Framework(二)

    •基于Django 先创建一个django项目,在项目中创建一些表,用来测试rest framework的各种组件 models.py class UserInfo(models.Model): &q ...

  2. Entity Framework二、 模型优先 ,ObjectContext类

    https://www.cnblogs.com/ejiyuan/archive/2009/05/27/1490786.html 1.ObjectContext 封装.NET Framework和数据库 ...

  3. C# Winform 脱离 Framework (二)

    第一个Method: //启动应用程序 VOID RunApplication(LPTSTR lpFilename, LPTSTR args) { //WinExec(lpFilename, SW_S ...

  4. Play framework(二)

    Play 2.0 的完整演示过程记录 http://www.oschina.net/translate/playframework-20-live-coding-script todolist代码

  5. Entity Framework (二) 查询

    待完善-------------------------------------- ----------- base 关键字用于从派生类中访问基类的成员: 调用基类上已被其他方法重写的方法. 指定创建 ...

  6. 框架应用:Spring framework (二) - AOP技术

    基础概念 线程中的方法栈 java程序虚拟机启动时会载入程序码,虚拟机会为每一条正在运行的线程生成一个方法调用栈,线程以方法运行为执行单位. AOP概念以及目标 AOP是面向切面编程,其实就是在不修改 ...

  7. Entity Framework 二

    本篇主要介绍:创建了实体数据模型,生成了那些文件以及其代表意义 创建实体数据模型 上一篇的最后,我们创建了数据库,现在我们利用数据库来生成我们的实体数据模型,这种形式我们称为数据库优先,后面会介绍代码 ...

  8. entity framework 新手入门篇(1)-建立模型

    entity framework是微软官方免费提供给大家的一套ORM(Object Relational Mapping对象关系映射)解决方案.它不仅可以帮助我们解决数据缓存的问题,还能在最小的开销下 ...

  9. 使用iOS-QR-Code-Encoder 生成二维码

    一:所需类库 iOS-QR-Code-Encoder 官网主页:https://github.com/moqod/iOS-QR-Code-Encoder 导入:QuartzCore.framework ...

  10. 制作通用framework的几点注意

    一.创建framework,调成静态的framework . 二.匹配bitcode 三.增加-ObjC 在BuildSettting ->Linking->Other Linker Fl ...

随机推荐

  1. node Error: Could not locate the bindings file. Tried:解决

    问题描述: Error: Could not locate the bindings file. Tried: → C:\code\xxx\node_modules\deasync\build\dea ...

  2. js获取省市

    前台代码 @{ IList<Provinces> allProvinces = ViewBag.AllProvinces; IList<Districts> allDistri ...

  3. Hibernate课程 初探多对多映射1-1 多对多应用场景

    1 用途: 员工和项目之间的多对多关系 2 实现: 员工表和项目表之外,建立员工和项目关联表来实现: 3 hibernate应用: set元素和many-to-many来实现

  4. 登录mysql数据库出现 : ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: NO) ER或者忘记密码

    1.     在安装mysql的文件目录中找到配置文件my.ini  ,然后右击用记事本打开 2.     打开后,搜索mysqld关键字 找到后,在mysqld下面添加skip-grant-tabl ...

  5. JS在与lua的交互心得

    最近在写一个项目,前端技术使用的是Vue,在与lua的交互过程,是通过一个公共JS,前端调用公共js的方法给lua发送命令,lua接到命令,去执行一些方法,然后又通过回调返回到了前端,由于是第一次写这 ...

  6. XCode 如何真机运行别人的demo项目

    iOS应用安装到真机需要证书和mobileprovision 文件,拿到别人的项目 是没有这些的 ,也就运行不起来. 要想运行起来, 需要选中项目,  target - > 修改 bundlei ...

  7. 笨办法学Python(四)

    习题 4: 变量(variable)和命名 你已经学会了 print 和算术运算.下一步你要学的是“变量”.在编程中,变量只不过是用来指代某个东西的名字.程序员通过使用变量名可以让他们的程序读起来更像 ...

  8. 使用ABAP代码创建S/4HANA里的Sales Order

    下图是使用ABAP代码创建的S/4HANA的Sales Order的截图: 其中红色区域的值是我代码里硬编码的,而蓝色是函数SD_SALESDOCUMENT_CREATE自己创建的. 来看下代码: D ...

  9. cocos2d-x 3.0 创建项目

    cocos2d-x 3.0 创建项目  点击打开链接

  10. 【BZOJ4555】[TJOI2016&HEOI2016] 求和(NTT)

    点此看题面 大致题意: 计算\(\sum_{i=0}^n\sum_{j=0}^iS(i,j)*2^j*(j!)\),其中\(S\)为第二类斯特林数. 推式子 首先让我们来推一波式子: 因为当\(i&l ...