tdl-xoa-driver 1.6.0__tar.gz → 1.6.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/LICENSE +1 -1
  2. {tdl_xoa_driver-1.6.0/tdl_xoa_driver.egg-info → tdl_xoa_driver-1.6.2}/PKG-INFO +1 -1
  3. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2/tdl_xoa_driver.egg-info}/PKG-INFO +1 -1
  4. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/tdl_xoa_driver.egg-info/SOURCES.txt +8 -6
  5. tdl_xoa_driver-1.6.2/xoa_driver/__init__.py +2 -0
  6. tdl_xoa_driver-1.6.2/xoa_driver/internals/hli/ports/port_l23/bases/port_l23.py +267 -0
  7. {tdl_xoa_driver-1.6.0/xoa_driver/internals/hli/ports/port_l23/trafficgen → tdl_xoa_driver-1.6.2/xoa_driver/internals/hli/ports/port_l23/bases}/port_l23_genuine.py +8 -17
  8. {tdl_xoa_driver-1.6.0/xoa_driver/internals/hli/ports/port_l23 → tdl_xoa_driver-1.6.2/xoa_driver/internals/hli/ports/port_l23/bases}/port_l23ve.py +3 -3
  9. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/family_edun.py +1 -1
  10. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/family_freya.py +1 -1
  11. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/family_loki.py +1 -1
  12. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/family_odin.py +1 -1
  13. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/family_thor.py +1 -1
  14. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/layer1_edun.py +2 -2
  15. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/layer1_freya.py +2 -2
  16. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/layer1_loki.py +1 -1
  17. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/layer1_thor.py +1 -1
  18. tdl_xoa_driver-1.6.0/xoa_driver/internals/hli/ports/port_l23/trafficgen/port_l23.py → tdl_xoa_driver-1.6.2/xoa_driver/internals/hli/ports/port_l23/trafficgen/tgen.py +31 -213
  19. tdl_xoa_driver-1.6.2/xoa_driver/internals/utils/managers/__init__.py +0 -0
  20. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/ports.py +2 -2
  21. tdl_xoa_driver-1.6.0/xoa_driver/__init__.py +0 -2
  22. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/README.md +0 -0
  23. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/pyproject.toml +0 -0
  24. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/setup.cfg +0 -0
  25. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/setup.py +0 -0
  26. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/tdl_xoa_driver.egg-info/dependency_links.txt +0 -0
  27. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/tdl_xoa_driver.egg-info/top_level.txt +0 -0
  28. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/enums.py +0 -0
  29. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/exceptions.py +0 -0
  30. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/functions/__init__.py +0 -0
  31. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/functions/anlt.py +0 -0
  32. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/functions/anlt_ll_debug.py +0 -0
  33. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/functions/cli/__init__.py +0 -0
  34. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/functions/cli/_cli_manager.py +0 -0
  35. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/functions/cli/_config_block.py +0 -0
  36. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/functions/cli/_socket_driver.py +0 -0
  37. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/functions/cli/port_config.py +0 -0
  38. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/functions/cli/testbed_config.py +0 -0
  39. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/functions/cmis/__init__.py +0 -0
  40. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/functions/cmis/_constants.py +0 -0
  41. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/functions/cmis/_replies.py +0 -0
  42. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/functions/cmis/_utils.py +0 -0
  43. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/functions/cmis/cdb.py +0 -0
  44. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/functions/exceptions.py +0 -0
  45. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/functions/headers.py +0 -0
  46. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/functions/mgmt.py +0 -0
  47. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/functions/tools.py +0 -0
  48. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/hlfuncs.py +0 -0
  49. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/__init__.py +0 -0
  50. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/commands/__init__.py +0 -0
  51. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/commands/c_commands.py +0 -0
  52. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/commands/enums.py +0 -0
  53. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/commands/m4_commands.py +0 -0
  54. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/commands/m4e_commands.py +0 -0
  55. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/commands/m_commands.py +0 -0
  56. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/commands/p4_commands.py +0 -0
  57. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/commands/p4e_commands.py +0 -0
  58. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/commands/p4g_commands.py +0 -0
  59. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/commands/p_commands.py +0 -0
  60. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/commands/pc_commands.py +0 -0
  61. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/commands/pd_commands.py +0 -0
  62. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/commands/pe_commands.py +0 -0
  63. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/commands/pec_commands.py +0 -0
  64. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/commands/ped_commands.py +0 -0
  65. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/commands/pef_commands.py +0 -0
  66. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/commands/pf_commands.py +0 -0
  67. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/commands/pl1_commands.py +0 -0
  68. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/commands/pl_commands.py +0 -0
  69. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/commands/pm_commands.py +0 -0
  70. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/commands/pp_commands.py +0 -0
  71. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/commands/pr_commands.py +0 -0
  72. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/commands/ps_commands.py +0 -0
  73. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/commands/pt_commands.py +0 -0
  74. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/commands/px_commands.py +0 -0
  75. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/commands/subtypes.py +0 -0
  76. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/__init__.py +0 -0
  77. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/builders.py +0 -0
  78. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/exceptions.py +0 -0
  79. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/funcs.py +0 -0
  80. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/funcs.pyi +0 -0
  81. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/interfaces.py +0 -0
  82. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/token.py +0 -0
  83. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/transporter/__init__.py +0 -0
  84. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/transporter/_processor.py +0 -0
  85. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/transporter/_publisher.py +0 -0
  86. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/transporter/_request_id_counter.py +0 -0
  87. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/transporter/_stream.py +0 -0
  88. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/transporter/_typings.py +0 -0
  89. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/transporter/exceptions.py +0 -0
  90. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/transporter/handler.py +0 -0
  91. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/transporter/logger/__init__.py +0 -0
  92. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/transporter/logger/__logger.py +0 -0
  93. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/transporter/logger/__state_off.py +0 -0
  94. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/transporter/logger/__state_on_default.py +0 -0
  95. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/transporter/logger/__state_on_loguru.py +0 -0
  96. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/transporter/logger/__state_on_user.py +0 -0
  97. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/transporter/protocol/__init__.py +0 -0
  98. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/transporter/protocol/_constants.py +0 -0
  99. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/transporter/protocol/_utils.py +0 -0
  100. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/transporter/protocol/exceptions.py +0 -0
  101. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/transporter/protocol/payload/__init__.py +0 -0
  102. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/transporter/protocol/payload/base_struct.py +0 -0
  103. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/transporter/protocol/payload/descriptor.py +0 -0
  104. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/transporter/protocol/payload/exceptions.py +0 -0
  105. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/transporter/protocol/payload/field.py +0 -0
  106. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/transporter/protocol/payload/types.py +0 -0
  107. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/transporter/protocol/payload/utils.py +0 -0
  108. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/transporter/protocol/struct_header.py +0 -0
  109. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/transporter/protocol/struct_request.py +0 -0
  110. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/transporter/protocol/struct_response.py +0 -0
  111. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/core/transporter/registry.py +0 -0
  112. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/exceptions/__init__.py +0 -0
  113. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/exceptions/modules.py +0 -0
  114. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/exceptions/testers.py +0 -0
  115. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/__init__.py +0 -0
  116. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/indices/__init__.py +0 -0
  117. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/indices/base_index.py +0 -0
  118. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/indices/connection_group/__init__.py +0 -0
  119. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/indices/connection_group/cg.py +0 -0
  120. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/indices/connection_group/histogram.py +0 -0
  121. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/indices/connection_group/l2.py +0 -0
  122. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/indices/connection_group/l3.py +0 -0
  123. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/indices/connection_group/raw.py +0 -0
  124. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/indices/connection_group/replay.py +0 -0
  125. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/indices/connection_group/tcp.py +0 -0
  126. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/indices/connection_group/tls.py +0 -0
  127. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/indices/connection_group/udp.py +0 -0
  128. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/indices/connection_group/user_state.py +0 -0
  129. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/indices/filter/__init__.py +0 -0
  130. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/indices/filter/base_filter.py +0 -0
  131. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/indices/filter/genuine_filter.py +0 -0
  132. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/indices/length_term.py +0 -0
  133. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/indices/macsecscs/__init__.py +0 -0
  134. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/indices/macsecscs/base_macsecsc.py +0 -0
  135. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/indices/macsecscs/genuine_macsecsc.py +0 -0
  136. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/indices/match_term.py +0 -0
  137. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/indices/port_dataset.py +0 -0
  138. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/indices/streams/__init__.py +0 -0
  139. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/indices/streams/base_stream.py +0 -0
  140. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/indices/streams/genuine_stream.py +0 -0
  141. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/modules/__init__.py +0 -0
  142. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/modules/__interfaces.py +0 -0
  143. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/modules/base_module.py +0 -0
  144. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/modules/module_chimera.py +0 -0
  145. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/modules/module_l23ve.py +0 -0
  146. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/modules/module_l47.py +0 -0
  147. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/modules/module_l47ve.py +0 -0
  148. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/modules/modules_l23/__init__.py +0 -0
  149. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/modules/modules_l23/family_combi.py +0 -0
  150. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/modules/modules_l23/family_edun.py +0 -0
  151. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/modules/modules_l23/family_freya.py +0 -0
  152. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/modules/modules_l23/family_loki.py +0 -0
  153. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/modules/modules_l23/family_odin.py +0 -0
  154. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/modules/modules_l23/family_thor.py +0 -0
  155. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/modules/modules_l23/module_l23_base.py +0 -0
  156. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/__init__.py +0 -0
  157. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/base_port.py +0 -0
  158. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/__init__.py +0 -0
  159. {tdl_xoa_driver-1.6.0/xoa_driver/internals/hli/ports/port_l23/chimera → tdl_xoa_driver-1.6.2/xoa_driver/internals/hli/ports/port_l23/bases}/__init__.py +0 -0
  160. {tdl_xoa_driver-1.6.0/xoa_driver/internals/hli/ports/port_l23/chimera/filter_definition → tdl_xoa_driver-1.6.2/xoa_driver/internals/hli/ports/port_l23/chimera}/__init__.py +0 -0
  161. {tdl_xoa_driver-1.6.0/xoa_driver/internals/hli/ports/port_l23/layer1 → tdl_xoa_driver-1.6.2/xoa_driver/internals/hli/ports/port_l23/chimera/filter_definition}/__init__.py +0 -0
  162. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/chimera/filter_definition/_utils.py +0 -0
  163. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/chimera/filter_definition/general.py +0 -0
  164. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/chimera/filter_definition/shadow.py +0 -0
  165. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/chimera/filter_definition/working.py +0 -0
  166. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/chimera/pe_custom_distribution.py +0 -0
  167. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/chimera/pe_distribution.py +0 -0
  168. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/chimera/port_chimera.py +0 -0
  169. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/chimera/port_emulation.py +0 -0
  170. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/chimera/reception_statistics.py +0 -0
  171. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/chimera/transmission_statistics.py +0 -0
  172. {tdl_xoa_driver-1.6.0/xoa_driver/internals/hli/ports/port_l23/sec → tdl_xoa_driver-1.6.2/xoa_driver/internals/hli/ports/port_l23/layer1}/__init__.py +0 -0
  173. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/layer1/anlt.py +0 -0
  174. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/layer1/brr.py +0 -0
  175. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/layer1/eye_diagram.py +0 -0
  176. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/layer1/impair.py +0 -0
  177. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/layer1/laser_power.py +0 -0
  178. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/layer1/lower_power.py +0 -0
  179. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/layer1/medium.py +0 -0
  180. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/layer1/pcs_fec.py +0 -0
  181. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/layer1/pma.py +0 -0
  182. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/layer1/prbs.py +0 -0
  183. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/layer1/preamble.py +0 -0
  184. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/layer1/rs_fault.py +0 -0
  185. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/layer1/siv.py +0 -0
  186. {tdl_xoa_driver-1.6.0/xoa_driver/internals/hli/ports/port_l23/tcvr → tdl_xoa_driver-1.6.2/xoa_driver/internals/hli/ports/port_l23/sec}/__init__.py +0 -0
  187. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/sec/macsec.py +0 -0
  188. {tdl_xoa_driver-1.6.0/xoa_driver/internals/hli/ports/port_l23/trafficgen → tdl_xoa_driver-1.6.2/xoa_driver/internals/hli/ports/port_l23/tcvr}/__init__.py +0 -0
  189. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/tcvr/cmis.py +0 -0
  190. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/tcvr/transceiver.py +0 -0
  191. {tdl_xoa_driver-1.6.0/xoa_driver/internals/hli/ports/port_l47 → tdl_xoa_driver-1.6.2/xoa_driver/internals/hli/ports/port_l23/trafficgen}/__init__.py +0 -0
  192. /tdl_xoa_driver-1.6.0/xoa_driver/internals/hli/ports/port_l23/trafficgen/port_capture.py → /tdl_xoa_driver-1.6.2/xoa_driver/internals/hli/ports/port_l23/trafficgen/capture.py +0 -0
  193. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l23/trafficgen/runt.py +0 -0
  194. /tdl_xoa_driver-1.6.0/xoa_driver/internals/hli/ports/port_l23/trafficgen/port_rx_stats.py → /tdl_xoa_driver-1.6.2/xoa_driver/internals/hli/ports/port_l23/trafficgen/rx_stats.py +0 -0
  195. /tdl_xoa_driver-1.6.0/xoa_driver/internals/hli/ports/port_l23/trafficgen/port_tx_stats.py → /tdl_xoa_driver-1.6.2/xoa_driver/internals/hli/ports/port_l23/trafficgen/tx_stats.py +0 -0
  196. {tdl_xoa_driver-1.6.0/xoa_driver/internals/hli/testers → tdl_xoa_driver-1.6.2/xoa_driver/internals/hli/ports/port_l47}/__init__.py +0 -0
  197. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l47/counters.py +0 -0
  198. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l47/main.py +0 -0
  199. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/ports/port_l47/packet_engine.py +0 -0
  200. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/revisions.py +0 -0
  201. {tdl_xoa_driver-1.6.0/xoa_driver/internals/hli/testers/genuine → tdl_xoa_driver-1.6.2/xoa_driver/internals/hli/testers}/__init__.py +0 -0
  202. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/testers/_base_tester.py +0 -0
  203. {tdl_xoa_driver-1.6.0/xoa_driver/internals/hli/testers/genuine/l_23 → tdl_xoa_driver-1.6.2/xoa_driver/internals/hli/testers/genuine}/__init__.py +0 -0
  204. {tdl_xoa_driver-1.6.0/xoa_driver/internals/state_storage → tdl_xoa_driver-1.6.2/xoa_driver/internals/hli/testers/genuine/l_23}/__init__.py +0 -0
  205. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/testers/genuine/l_23/health.py +0 -0
  206. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/testers/genuine/l_23/rest_api.py +0 -0
  207. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/testers/genuine/l_23/time_keeper.py +0 -0
  208. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/testers/genuine/l_23/upload_file.py +0 -0
  209. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/testers/genuine/management_interface.py +0 -0
  210. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/testers/l23_tester.py +0 -0
  211. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/testers/l23ve_tester.py +0 -0
  212. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/testers/l47_tester.py +0 -0
  213. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/hli/testers/l47ve_tester.py +0 -0
  214. {tdl_xoa_driver-1.6.0/xoa_driver/internals/utils → tdl_xoa_driver-1.6.2/xoa_driver/internals/state_storage}/__init__.py +0 -0
  215. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/state_storage/_speed_detector.py +0 -0
  216. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/state_storage/modules_state.py +0 -0
  217. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/state_storage/ports_state.py +0 -0
  218. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/state_storage/testers_state.py +0 -0
  219. {tdl_xoa_driver-1.6.0/xoa_driver/internals/utils/indices → tdl_xoa_driver-1.6.2/xoa_driver/internals/utils}/__init__.py +0 -0
  220. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/utils/attributes.py +0 -0
  221. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/utils/cap_id.py +0 -0
  222. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/utils/con_traffic_light.py +0 -0
  223. {tdl_xoa_driver-1.6.0/xoa_driver/internals/utils/managers → tdl_xoa_driver-1.6.2/xoa_driver/internals/utils/indices}/__init__.py +0 -0
  224. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/utils/indices/_interfaces.py +0 -0
  225. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/utils/indices/header_modifier_manager.py +0 -0
  226. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/utils/indices/index_manager.py +0 -0
  227. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/utils/indices/observer.py +0 -0
  228. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/utils/kind.py +0 -0
  229. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/utils/managers/abc.py +0 -0
  230. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/utils/managers/exceptions.py +0 -0
  231. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/utils/managers/modules_manager.py +0 -0
  232. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/utils/managers/ports_manager.py +0 -0
  233. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/utils/rev_tool.py +0 -0
  234. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/utils/session.py +0 -0
  235. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/internals/warn.py +0 -0
  236. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/lli.py +0 -0
  237. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/misc.py +0 -0
  238. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/modules.py +0 -0
  239. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/testers.py +0 -0
  240. {tdl_xoa_driver-1.6.0 → tdl_xoa_driver-1.6.2}/xoa_driver/utils.py +0 -0
@@ -187,7 +187,7 @@
187
187
  same "printed page" as the copyright notice for easier
188
188
  identification within third-party archives.
189
189
 
190
- Copyright 2025 Teledyne LeCroy Xena
190
+ Copyright 2026 Teledyne LeCroy Xena
191
191
 
192
192
  Licensed under the Apache License, Version 2.0 (the "License");
193
193
  you may not use this file except in compliance with the License.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tdl-xoa-driver
3
- Version: 1.6.0
3
+ Version: 1.6.2
4
4
  Summary: TDL XOA Python API is a Python library providing user-friendly communication interfaces to Teledyne LeCroy Xena Ethernet traffic generation test equipment. It provides a rich collection of APIs that can be used to either write test scripts or develop applications.
5
5
  Home-page: https://github.com/xenanetworks/tdl-xoa-driver
6
6
  Author: Leonard Yu, Zoltan Hanisch
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tdl-xoa-driver
3
- Version: 1.6.0
3
+ Version: 1.6.2
4
4
  Summary: TDL XOA Python API is a Python library providing user-friendly communication interfaces to Teledyne LeCroy Xena Ethernet traffic generation test equipment. It provides a rich collection of APIs that can be used to either write test scripts or develop applications.
5
5
  Home-page: https://github.com/xenanetworks/tdl-xoa-driver
6
6
  Author: Leonard Yu, Zoltan Hanisch
@@ -156,7 +156,10 @@ xoa_driver/internals/hli/ports/port_l23/layer1_edun.py
156
156
  xoa_driver/internals/hli/ports/port_l23/layer1_freya.py
157
157
  xoa_driver/internals/hli/ports/port_l23/layer1_loki.py
158
158
  xoa_driver/internals/hli/ports/port_l23/layer1_thor.py
159
- xoa_driver/internals/hli/ports/port_l23/port_l23ve.py
159
+ xoa_driver/internals/hli/ports/port_l23/bases/__init__.py
160
+ xoa_driver/internals/hli/ports/port_l23/bases/port_l23.py
161
+ xoa_driver/internals/hli/ports/port_l23/bases/port_l23_genuine.py
162
+ xoa_driver/internals/hli/ports/port_l23/bases/port_l23ve.py
160
163
  xoa_driver/internals/hli/ports/port_l23/chimera/__init__.py
161
164
  xoa_driver/internals/hli/ports/port_l23/chimera/pe_custom_distribution.py
162
165
  xoa_driver/internals/hli/ports/port_l23/chimera/pe_distribution.py
@@ -189,12 +192,11 @@ xoa_driver/internals/hli/ports/port_l23/tcvr/__init__.py
189
192
  xoa_driver/internals/hli/ports/port_l23/tcvr/cmis.py
190
193
  xoa_driver/internals/hli/ports/port_l23/tcvr/transceiver.py
191
194
  xoa_driver/internals/hli/ports/port_l23/trafficgen/__init__.py
192
- xoa_driver/internals/hli/ports/port_l23/trafficgen/port_capture.py
193
- xoa_driver/internals/hli/ports/port_l23/trafficgen/port_l23.py
194
- xoa_driver/internals/hli/ports/port_l23/trafficgen/port_l23_genuine.py
195
- xoa_driver/internals/hli/ports/port_l23/trafficgen/port_rx_stats.py
196
- xoa_driver/internals/hli/ports/port_l23/trafficgen/port_tx_stats.py
195
+ xoa_driver/internals/hli/ports/port_l23/trafficgen/capture.py
197
196
  xoa_driver/internals/hli/ports/port_l23/trafficgen/runt.py
197
+ xoa_driver/internals/hli/ports/port_l23/trafficgen/rx_stats.py
198
+ xoa_driver/internals/hli/ports/port_l23/trafficgen/tgen.py
199
+ xoa_driver/internals/hli/ports/port_l23/trafficgen/tx_stats.py
198
200
  xoa_driver/internals/hli/ports/port_l47/__init__.py
199
201
  xoa_driver/internals/hli/ports/port_l47/counters.py
200
202
  xoa_driver/internals/hli/ports/port_l47/main.py
@@ -0,0 +1,2 @@
1
+ __version__ = "1.6.2"
2
+ __short_version__ = "1.6"
@@ -0,0 +1,267 @@
1
+ import functools
2
+ import typing
3
+ from xoa_driver.internals.commands import (
4
+ P_CAPABILITIES,
5
+ P_SPEED,
6
+ P_SPEEDREDUCTION,
7
+ P_INTERFRAMEGAP,
8
+ P_MACADDRESS,
9
+ P_IPADDRESS,
10
+ P_ARPREPLY,
11
+ P_PINGREPLY,
12
+ P_PAUSE,
13
+ P_RANDOMSEED,
14
+ P_LOOPBACK,
15
+ P_TRAFFIC,
16
+ # P_CAPTURE,
17
+ P_XMITONE,
18
+ P_LATENCYOFFSET,
19
+ P_LATENCYMODE,
20
+ P_AUTOTRAIN,
21
+ P_MIXWEIGHTS,
22
+ P_TRAFFICERR,
23
+ P_GAPMONITOR,
24
+ P_CHECKSUM,
25
+ P_MIXLENGTH,
26
+ P_ARPRXTABLE,
27
+ P_NDPRXTABLE,
28
+ P_MULTICAST,
29
+ P_MULTICASTEXT,
30
+ P_MCSRCLIST,
31
+ P_MULTICASTHDR,
32
+ P_TXMODE,
33
+ P_RATEFRACTION,
34
+ P_RATEPPS,
35
+ P_RATEL2BPS,
36
+ P_PAYLOADMODE,
37
+ P_TXENABLE,
38
+ P_MAXHEADERLENGTH,
39
+ P_TXTIMELIMIT,
40
+ P_TXTIME,
41
+ P_XMITONETIME,
42
+ P_IPV6ADDRESS,
43
+ P_ARPV6REPLY,
44
+ P_PINGV6REPLY,
45
+ P_ERRORS,
46
+ P_TXPREPARE,
47
+ P_TXDELAY,
48
+ P_TPLDMODE,
49
+ P_TXPACKETLIMIT,
50
+ P_PFCENABLE,
51
+ P_TXBURSTPERIOD,
52
+ P_CAPABILITIES_EXT,
53
+ P_IGMPV3_GROUP_RECORD_BUNDLE,
54
+ P_USED_TPLDID,
55
+ )
56
+ if typing.TYPE_CHECKING:
57
+ from xoa_driver.internals.core import interfaces as itf
58
+ from xoa_driver.internals.hli.ports import base_port
59
+ from xoa_driver.internals.utils import attributes as utils
60
+ from xoa_driver.internals.utils.indices import index_manager as idx_mgr
61
+ from xoa_driver.internals.state_storage import ports_state
62
+ from xoa_driver.internals.hli.indices.length_term import LengthTermIdx
63
+ from xoa_driver.internals.hli.indices.match_term import MatchTermIdx
64
+
65
+ from ..trafficgen.capture import PortCapture
66
+ from ..trafficgen.tgen import *
67
+
68
+ LengthTermIndices = idx_mgr.IndexManager[LengthTermIdx]
69
+ MatchTermIndices = idx_mgr.IndexManager[MatchTermIdx]
70
+
71
+
72
+ class BasePortL23(base_port.BasePort[ports_state.PortL23LocalState]):
73
+ """L23 port layout which is relevant to all L23 ports."""
74
+
75
+ def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
76
+ super().__init__(conn, module_id, port_id)
77
+ self.capabilities = P_CAPABILITIES(conn, module_id, port_id)
78
+ """L23 Port capabilities
79
+
80
+ :type: P_CAPABILITIES
81
+ """
82
+
83
+ self.capabilities_ext = P_CAPABILITIES_EXT(conn, module_id, port_id)
84
+ """L23 port capabilities ext.
85
+
86
+ :type: P_CAPABILITIES_EXT
87
+ """
88
+
89
+ self.pause = P_PAUSE(conn, module_id, port_id)
90
+ """L23 port response to Ethernet PAUSE frames.
91
+
92
+ :type: P_PAUSE
93
+ """
94
+
95
+ self.loopback = P_LOOPBACK(conn, module_id, port_id)
96
+ """L23 port loopback mode.
97
+
98
+ :type: P_LOOPBACK
99
+ """
100
+
101
+ self.errors_count = P_ERRORS(conn, module_id, port_id)
102
+ """L23 port errors.
103
+
104
+ :type: P_ERRORS
105
+ """
106
+
107
+ self.interframe_gap = P_INTERFRAMEGAP(conn, module_id, port_id)
108
+ """L23 port interframe gap.
109
+
110
+ :type: P_INTERFRAMEGAP
111
+ """
112
+
113
+ self.max_header_length = P_MAXHEADERLENGTH(conn, module_id, port_id)
114
+ """L23 port maximum header length.
115
+
116
+ :type: P_MAXHEADERLENGTH
117
+ """
118
+
119
+ self.tpld_mode = P_TPLDMODE(conn, module_id, port_id)
120
+ """L23 port test payload mode.
121
+
122
+ :type: P_TPLDMODE
123
+ """
124
+
125
+ self.pfc_enable = P_PFCENABLE(conn, module_id, port_id)
126
+ """L23 port Ethernet Priority Flow Control (PFC).
127
+
128
+ :type: P_PFCENABLE
129
+ """
130
+
131
+ self.random_seed = P_RANDOMSEED(conn, module_id, port_id)
132
+ """L23 port seed value.
133
+
134
+ :type: P_RANDOMSEED
135
+ """
136
+
137
+ self.payload_mode = P_PAYLOADMODE(conn, module_id, port_id)
138
+ """L23 port payload mode.
139
+
140
+ :type: P_PAYLOADMODE
141
+ """
142
+
143
+ self.gap_monitor = P_GAPMONITOR(conn, module_id, port_id)
144
+ """L23 port gap monitor.
145
+
146
+ :type: P_GAPMONITOR
147
+ """
148
+
149
+ self.checksum = P_CHECKSUM(conn, module_id, port_id)
150
+ """L23 port extra payload integrity checksum.
151
+
152
+ :type: P_CHECKSUM
153
+ """
154
+
155
+ self.arp_rx_table = P_ARPRXTABLE(conn, module_id, port_id)
156
+ """L23 port ARP table.
157
+
158
+ :type: P_ARPRXTABLE
159
+ """
160
+
161
+ self.ndp_rx_table = P_NDPRXTABLE(conn, module_id, port_id)
162
+ """L23 port NDP table.
163
+
164
+ :type: P_NDPRXTABLE
165
+ """
166
+
167
+ self.capturer = PortCapture(conn, module_id, port_id)
168
+ """L23 port capturer configuration.
169
+
170
+ :type: PortCapture
171
+ """
172
+
173
+ self.speed = Speed(conn, module_id, port_id)
174
+ """L23 port speed configuration.
175
+
176
+ :type: Speed
177
+ """
178
+
179
+ self.traffic = Traffic(conn, module_id, port_id)
180
+ """L23 port traffic configuration.
181
+
182
+ :type: Traffic
183
+ """
184
+
185
+ self.mix = Mix(conn, module_id, port_id)
186
+ """L23 port IMIX configuration.
187
+
188
+ :type: Mix
189
+ """
190
+
191
+ self.latency_config = LatencyConfiguration(conn, module_id, port_id)
192
+ """L23 port latency configuration.
193
+
194
+ self.latency_config = LatencyConfiguration(conn, module_id, port_id)
195
+ :type:
196
+ """
197
+
198
+ self.rate = TxRate(conn, module_id, port_id)
199
+ """L23 port rate.
200
+
201
+ :type: Rate
202
+ """
203
+
204
+ self.tx_config = TxConfiguration(conn, module_id, port_id)
205
+ """L23 port TX configuration.
206
+
207
+ :type: TxConfiguration
208
+ """
209
+
210
+ self.tx_single_pkt = TxSinglePacket(conn, module_id, port_id)
211
+ """L23 port single-packet TX configuration.
212
+
213
+ :type: TxSinglePacket
214
+ """
215
+
216
+ self.multicast = Multicast(conn, module_id, port_id)
217
+ """L23 port multicast configuration.
218
+
219
+ :type: Multicast
220
+ """
221
+
222
+ self.net_config = NetConfig(conn, module_id, port_id)
223
+ """L23 port network configuration, including MAC and IP addresses.
224
+
225
+ :type: NetConfig
226
+ """
227
+
228
+
229
+ self.local_states = ports_state.PortL23LocalState()
230
+ """L23 port local states.
231
+
232
+ :type: PortL23LocalState
233
+ """
234
+
235
+ self.length_terms: LengthTermIndices = idx_mgr.IndexManager(
236
+ conn,
237
+ LengthTermIdx,
238
+ module_id,
239
+ port_id
240
+ )
241
+ """L23 port's length term index manager.
242
+
243
+ :type: LengthTermIndices
244
+ """
245
+
246
+ self.match_terms: MatchTermIndices = idx_mgr.IndexManager(
247
+ conn,
248
+ MatchTermIdx,
249
+ module_id,
250
+ port_id
251
+ )
252
+ """L23 port's match term index manager.
253
+
254
+ :type: MatchTermIndices
255
+ """
256
+
257
+ self.used_tpld_ids = P_USED_TPLDID(conn, module_id, port_id)
258
+ """TG port's used TPLD IDs.
259
+
260
+ :type: P_USED_TPLDID
261
+ """
262
+
263
+ on_speed_change = functools.partialmethod(utils.on_event, P_SPEED)
264
+ """Register a callback to the event that the port's speed changes."""
265
+
266
+ on_traffic_change = functools.partialmethod(utils.on_event, P_TRAFFIC)
267
+ """Register a callback to the event that the port's traffic status changes."""
@@ -20,24 +20,22 @@ from xoa_driver.internals.hli.indices.filter.genuine_filter import GenuineFilter
20
20
  from xoa_driver.internals.hli.indices.port_dataset import PortDatasetIdx
21
21
  from xoa_driver.internals.state_storage import ports_state
22
22
 
23
- from .port_l23 import (
24
- BasePortL23,
25
- Speed,
26
- # TxConfiguration,
27
- )
23
+ from .port_l23 import BasePortL23
28
24
 
29
25
  from ..tcvr.transceiver import Transceiver
30
- from .port_rx_stats import GenuinePortReceptionStatistics
31
- from .port_tx_stats import GenuinePortTransmissionStatistics
26
+ from ..trafficgen.rx_stats import GenuinePortReceptionStatistics
27
+ from ..trafficgen.tx_stats import GenuinePortTransmissionStatistics
28
+ from ..trafficgen.tgen import *
32
29
 
33
30
  StreamIndices = idx_mgr.IndexManager[GenuineStreamIdx]
34
31
  FilterIndices = idx_mgr.IndexManager[GenuineFilterIdx]
35
32
  PortDatasetIndices = idx_mgr.IndexManager[PortDatasetIdx]
36
33
 
37
- class SpeedMode:
38
- """L23 port's speed mode"""
39
34
 
35
+ class GenuineSpeed(Speed):
40
36
  def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
37
+ super().__init__(conn, module_id, port_id)
38
+
41
39
  self.selection = P_SPEEDSELECTION(conn, module_id, port_id)
42
40
  """L23 port speed mode selection.
43
41
 
@@ -51,13 +49,6 @@ class SpeedMode:
51
49
  """
52
50
 
53
51
 
54
- class GenuineSpeed(Speed):
55
- def __init__(self, conn: "itf.IConnection", module_id: int, port_id: int) -> None:
56
- super().__init__(conn, module_id, port_id)
57
- self.mode = SpeedMode(conn, module_id, port_id)
58
- """L23 port's speed mode."""
59
-
60
-
61
52
  class UnAvailableTime:
62
53
  """UnAvailable Time"""
63
54
 
@@ -68,7 +59,7 @@ class UnAvailableTime:
68
59
  :type: P_UAT_MODE
69
60
  """
70
61
 
71
- self.frame_loss_ratio = P_UAT_FLR(conn, module_id, port_id)
62
+ self.flr = P_UAT_FLR(conn, module_id, port_id)
72
63
  """L23 port's Frame Loss Ratio for UAT.
73
64
 
74
65
  :type: P_UAT_FLR
@@ -1,7 +1,7 @@
1
1
  from typing import TYPE_CHECKING
2
- from .trafficgen.port_l23 import BasePortL23
3
- from .trafficgen.port_rx_stats import PortReceptionStatistics
4
- from .trafficgen.port_tx_stats import PortTxStats
2
+ from .port_l23 import BasePortL23
3
+ from ..trafficgen.rx_stats import PortReceptionStatistics
4
+ from ..trafficgen.tx_stats import PortTxStats
5
5
 
6
6
  from xoa_driver.internals.commands import (
7
7
  P_MDIXMODE,
@@ -12,7 +12,7 @@ from xoa_driver.internals.utils import attributes as utils
12
12
  if TYPE_CHECKING:
13
13
  from xoa_driver.internals.core import interfaces as itf
14
14
 
15
- from .trafficgen.port_l23_genuine import BasePortL23Genuine
15
+ from .bases.port_l23_genuine import BasePortL23Genuine
16
16
  from .layer1_edun import Layer1
17
17
 
18
18
 
@@ -12,7 +12,7 @@ from xoa_driver.internals.utils import attributes as utils
12
12
  if TYPE_CHECKING:
13
13
  from xoa_driver.internals.core import interfaces as itf
14
14
 
15
- from .trafficgen.port_l23_genuine import BasePortL23Genuine
15
+ from .bases.port_l23_genuine import BasePortL23Genuine
16
16
  from .layer1_freya import Layer1
17
17
 
18
18
 
@@ -11,7 +11,7 @@ from xoa_driver.internals.utils import attributes as utils
11
11
  if TYPE_CHECKING:
12
12
  from xoa_driver.internals.core import interfaces as itf
13
13
 
14
- from .trafficgen.port_l23_genuine import BasePortL23Genuine
14
+ from .bases.port_l23_genuine import BasePortL23Genuine
15
15
  from .layer1_loki import Layer1
16
16
  from .sec.macsec import MacSec
17
17
 
@@ -10,7 +10,7 @@ from xoa_driver.internals.commands import (
10
10
  from xoa_driver.internals.utils import attributes as utils
11
11
  if TYPE_CHECKING:
12
12
  from xoa_driver.internals.core import interfaces as itf
13
- from .trafficgen.port_l23_genuine import BasePortL23Genuine
13
+ from .bases.port_l23_genuine import BasePortL23Genuine
14
14
  from .layer1.lower_power import LowPowerMode
15
15
  from .trafficgen.runt import Runt
16
16
  from .layer1.preamble import Preamble
@@ -11,7 +11,7 @@ from xoa_driver.internals.utils import attributes as utils
11
11
  if TYPE_CHECKING:
12
12
  from xoa_driver.internals.core import interfaces as itf
13
13
 
14
- from .trafficgen.port_l23_genuine import BasePortL23Genuine
14
+ from .bases.port_l23_genuine import BasePortL23Genuine
15
15
  from .layer1_thor import Layer1
16
16
 
17
17
 
@@ -61,7 +61,7 @@ class EdunPcsLayer(PcsLayer):
61
61
  module_id, port_id = port.kind
62
62
  PcsLayer.__init__(self, conn, port)
63
63
 
64
- self.pcs_variant = PL1_PCS_VARIANT(conn, module_id, port_id)
64
+ self.variant = PL1_PCS_VARIANT(conn, module_id, port_id)
65
65
  """PCS variant configuration
66
66
  """
67
67
 
@@ -84,7 +84,7 @@ class Layer1:
84
84
  """RS Fault configuration and status
85
85
  """
86
86
 
87
- self.pcs_fec = EdunPcsLayer(conn, port)
87
+ self.pcs = EdunPcsLayer(conn, port)
88
88
  """Edun PCS and FEC configuration and status
89
89
  """
90
90
 
@@ -61,7 +61,7 @@ class FreyaPcsLayer(PcsLayer):
61
61
  module_id, port_id = port.kind
62
62
  PcsLayer.__init__(self, conn, port)
63
63
 
64
- self.pcs_variant = PL1_PCS_VARIANT(conn, module_id, port_id)
64
+ self.variant = PL1_PCS_VARIANT(conn, module_id, port_id)
65
65
  """PCS variant configuration
66
66
  """
67
67
 
@@ -85,7 +85,7 @@ class Layer1:
85
85
  """RS Fault configuration and status
86
86
  """
87
87
 
88
- self.pcs_fec = FreyaPcsLayer(conn, port)
88
+ self.pcs = FreyaPcsLayer(conn, port)
89
89
  """Freya PCS and FEC configuration and status
90
90
  """
91
91
 
@@ -62,7 +62,7 @@ class Layer1:
62
62
  self.rs_fault = RsFault(conn, module_id, port_id)
63
63
  """RS Fault Management"""
64
64
 
65
- self.pcs_fec = PcsLayer(conn, port)
65
+ self.pcs = PcsLayer(conn, port)
66
66
  """PCS/FEC layer"""
67
67
 
68
68
  self.prbs_config = PP_PRBSTYPE(conn, module_id, port_id)
@@ -54,7 +54,7 @@ class Layer1:
54
54
  self.rs_fault = RsFault(conn, module_id, port_id)
55
55
  """RS Fault Management"""
56
56
 
57
- self.pcs_fec = PcsLayer(conn, port)
57
+ self.pcs = PcsLayer(conn, port)
58
58
  """PCS/FEC layer"""
59
59
 
60
60
  self.prbs_config = PP_PRBSTYPE(conn, module_id, port_id)