python-netgear-switch-library 0.0.post355__tar.gz → 0.0.post357__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 (397) hide show
  1. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/PKG-INFO +1 -1
  2. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/superpowers/specs/2026-08-02-snmp-surface-findings.md +68 -0
  3. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/_version.py +2 -2
  4. python_netgear_switch_library-0.0.post357/tests/fixtures/http/gsm7252ps_vlan_configuration_live.html +478 -0
  5. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/.github/workflows/ci.yml +0 -0
  6. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/.github/workflows/deb.yml +0 -0
  7. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/.github/workflows/publish-pypi.yml +0 -0
  8. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/.gitignore +0 -0
  9. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/.readthedocs.yaml +0 -0
  10. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/CLAUDE.md +0 -0
  11. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/LICENSE +0 -0
  12. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/README.md +0 -0
  13. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/RELEASING.md +0 -0
  14. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/debian/changelog +0 -0
  15. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/debian/control +0 -0
  16. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/debian/copyright +0 -0
  17. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/debian/rules +0 -0
  18. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/debian/source/format +0 -0
  19. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/Makefile +0 -0
  20. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/_ext/filelinks.py +0 -0
  21. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/_ext/support_tables.py +0 -0
  22. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/_static/models/gs105pe.png +0 -0
  23. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/_static/models/gs110emx.png +0 -0
  24. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/_static/models/gs305ep.png +0 -0
  25. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/_static/models/gs728tpp.png +0 -0
  26. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/_static/models/gsm7228ps.jpg +0 -0
  27. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/_static/models/gsm7252ps.jpg +0 -0
  28. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/_static/models/m4300-16x.png +0 -0
  29. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/_static/models/m4300-24x.png +0 -0
  30. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/_static/ngsw.css +0 -0
  31. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/api/cli.rst +0 -0
  32. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/api/core.rst +0 -0
  33. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/api/facades.rst +0 -0
  34. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/api/index.rst +0 -0
  35. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/api/mcp.rst +0 -0
  36. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/api/operations.rst +0 -0
  37. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/api/protocols.rst +0 -0
  38. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/api/transport.rst +0 -0
  39. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/api/virtual.rst +0 -0
  40. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/cli.rst +0 -0
  41. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/conf.py +0 -0
  42. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/development.rst +0 -0
  43. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/fake/index.rst +0 -0
  44. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/fake/internals.rst +0 -0
  45. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/fake/serving.rst +0 -0
  46. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/fake/testing.rst +0 -0
  47. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/guide/concepts.rst +0 -0
  48. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/guide/configuration.rst +0 -0
  49. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/guide/installation.rst +0 -0
  50. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/guide/principles.rst +0 -0
  51. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/guide/quickstart.rst +0 -0
  52. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/guide/reading.rst +0 -0
  53. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/guide/writing.rst +0 -0
  54. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/index.rst +0 -0
  55. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/mcp.rst +0 -0
  56. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/models/gs105pe.rst +0 -0
  57. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/models/gs110emx.rst +0 -0
  58. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/models/gs305ep.rst +0 -0
  59. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/models/gs728tpp.rst +0 -0
  60. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/models/gsm7228ps.rst +0 -0
  61. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/models/gsm7252ps.rst +0 -0
  62. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/models/index.rst +0 -0
  63. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/models/m4300-16x.rst +0 -0
  64. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/models/m4300-24x.rst +0 -0
  65. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/models/support.rst +0 -0
  66. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/protocols/cli.rst +0 -0
  67. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/protocols/http/cheetah-form.rst +0 -0
  68. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/protocols/http/cheetah-v1.rst +0 -0
  69. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/protocols/http/gambit.rst +0 -0
  70. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/protocols/http/merge-hash-cgi.rst +0 -0
  71. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/protocols/http/xml-api.rst +0 -0
  72. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/protocols/http.rst +0 -0
  73. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/protocols/index.rst +0 -0
  74. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/protocols/nsdp.rst +0 -0
  75. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/protocols/snmp.rst +0 -0
  76. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/superpowers/plans/2026-07-15-foundation.md +0 -0
  77. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/superpowers/plans/2026-07-17-slice-02-snmp-read-core.md +0 -0
  78. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/superpowers/plans/2026-07-17-slice-03-read-apis.md +0 -0
  79. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/superpowers/plans/2026-07-18-slice-04-snmp-write.md +0 -0
  80. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/superpowers/plans/2026-07-18-slice-05-nsdp.md +0 -0
  81. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/superpowers/plans/2026-07-18-slice-06-http.md +0 -0
  82. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/superpowers/plans/2026-07-18-slice-07-cli.md +0 -0
  83. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/superpowers/plans/2026-07-18-slice-08-packaging-ci.md +0 -0
  84. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/superpowers/plans/2026-07-23-gsm7252ps-http-xe-dialect.md +0 -0
  85. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/superpowers/specs/2026-07-15-netgear-control-library-design.md +0 -0
  86. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/docs/superpowers/specs/2026-07-23-gsm7252ps-http-xe-dialect-design.md +0 -0
  87. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/packaging/apt-index.html +0 -0
  88. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/packaging/ci-build.sh +0 -0
  89. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/packaging/deb-version.py +0 -0
  90. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/pyproject.toml +0 -0
  91. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/__init__.py +0 -0
  92. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/_dispatch.py +0 -0
  93. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/aio_api.py +0 -0
  94. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/capabilities.py +0 -0
  95. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/cli/__init__.py +0 -0
  96. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/cli/capture.py +0 -0
  97. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/cli/context.py +0 -0
  98. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/cli/format.py +0 -0
  99. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/cli/main.py +0 -0
  100. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/cli/resolve.py +0 -0
  101. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/cli/safety.py +0 -0
  102. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/cli_read.py +0 -0
  103. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/cli_write.py +0 -0
  104. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/config.py +0 -0
  105. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/errors.py +0 -0
  106. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/http_read.py +0 -0
  107. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/http_write.py +0 -0
  108. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/mcp/__init__.py +0 -0
  109. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/mcp/server.py +0 -0
  110. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/models.py +0 -0
  111. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/nsdp_read.py +0 -0
  112. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/nsdp_write.py +0 -0
  113. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/__init__.py +0 -0
  114. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/cli/__init__.py +0 -0
  115. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/cli/commands.py +0 -0
  116. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/cli/parse.py +0 -0
  117. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/http/__init__.py +0 -0
  118. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/http/crypt.py +0 -0
  119. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/http/endpoints.py +0 -0
  120. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/http/forms.py +0 -0
  121. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/http/parse.py +0 -0
  122. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/http/session.py +0 -0
  123. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/http/types.py +0 -0
  124. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/nsdp/__init__.py +0 -0
  125. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/nsdp/auth.py +0 -0
  126. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/nsdp/client.py +0 -0
  127. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/nsdp/parsers.py +0 -0
  128. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/nsdp/protocol.py +0 -0
  129. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/nsdp/types.py +0 -0
  130. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/nsdp/write.py +0 -0
  131. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/snmp/__init__.py +0 -0
  132. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/snmp/client.py +0 -0
  133. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/snmp/oids.py +0 -0
  134. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/snmp/parse.py +0 -0
  135. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/snmp/write.py +0 -0
  136. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/py.typed +0 -0
  137. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/registry.py +0 -0
  138. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/snmp_read.py +0 -0
  139. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/snmp_write.py +0 -0
  140. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/sync_api.py +0 -0
  141. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/transport/__init__.py +0 -0
  142. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/transport/aio/__init__.py +0 -0
  143. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/transport/aio/nsdp_udp.py +0 -0
  144. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/transport/aio/snmp_pysnmp.py +0 -0
  145. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/transport/cli/__init__.py +0 -0
  146. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/transport/cli/console.py +0 -0
  147. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/transport/cli/session.py +0 -0
  148. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/transport/cli/ssh.py +0 -0
  149. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/transport/cli/telnet.py +0 -0
  150. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/transport/http/__init__.py +0 -0
  151. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/transport/http/client.py +0 -0
  152. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/transport/sync/__init__.py +0 -0
  153. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/transport/sync/nsdp_udp.py +0 -0
  154. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/transport/sync/snmp_netsnmp_cli.py +0 -0
  155. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/__init__.py +0 -0
  156. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/cli_fastpath.py +0 -0
  157. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/faces/__init__.py +0 -0
  158. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/faces/cli.py +0 -0
  159. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/faces/http.py +0 -0
  160. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/faces/mibview.py +0 -0
  161. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/faces/nsdp.py +0 -0
  162. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/faces/snmp.py +0 -0
  163. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/seed.py +0 -0
  164. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/server.py +0 -0
  165. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/state.py +0 -0
  166. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/web.py +0 -0
  167. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/web_fastpath_vlan.py +0 -0
  168. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/web_fastpath_xui.py +0 -0
  169. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/web_gs105pe.py +0 -0
  170. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/web_gs110emx.py +0 -0
  171. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/web_gs110emx_templates.py +0 -0
  172. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/web_gs728tpp.py +0 -0
  173. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/web_gsm7228ps.py +0 -0
  174. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/web_gsm7252ps.py +0 -0
  175. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/web_m4300.py +0 -0
  176. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/capture_parity.py +0 -0
  177. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/cli/test_capture.py +0 -0
  178. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/cli/test_cli_integration.py +0 -0
  179. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/cli/test_control_poe_port.py +0 -0
  180. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/cli/test_control_vlan_ip.py +0 -0
  181. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/cli/test_format.py +0 -0
  182. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/cli/test_main_framework.py +0 -0
  183. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/cli/test_new_commands.py +0 -0
  184. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/cli/test_op_coverage.py +0 -0
  185. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/cli/test_prompt_wiring.py +0 -0
  186. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/cli/test_read_commands.py +0 -0
  187. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/cli/test_resolve.py +0 -0
  188. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/cli/test_safety.py +0 -0
  189. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/cli/test_serve.py +0 -0
  190. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/conftest.py +0 -0
  191. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/equivalence.py +0 -0
  192. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/captures/gsm7228ps.json +0 -0
  193. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/captures/gsm7252ps.json +0 -0
  194. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/captures/m4300-16x.json +0 -0
  195. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/captures/m4300-24x.json +0 -0
  196. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7228ps_environment.txt +0 -0
  197. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7228ps_lldp.txt +0 -0
  198. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7228ps_mac_table.txt +0 -0
  199. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7228ps_network.txt +0 -0
  200. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7228ps_poe.txt +0 -0
  201. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7228ps_port_all.txt +0 -0
  202. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7228ps_show_version.txt +0 -0
  203. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7228ps_vlan.txt +0 -0
  204. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7228ps_vlan_brief.txt +0 -0
  205. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7228ps_vlan_port_all.txt +0 -0
  206. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7252ps_show_environment.txt +0 -0
  207. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7252ps_show_interface_ethernet_1_0_1.txt +0 -0
  208. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7252ps_show_lldp_remote_device_all.txt +0 -0
  209. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7252ps_show_mac_addr_table.txt +0 -0
  210. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7252ps_show_network.txt +0 -0
  211. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7252ps_show_poe_port_info_all.txt +0 -0
  212. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7252ps_show_port_all.txt +0 -0
  213. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7252ps_show_version.txt +0 -0
  214. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7252ps_show_vlan_90.txt +0 -0
  215. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7252ps_show_vlan_brief.txt +0 -0
  216. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7252ps_show_vlan_port_all.txt +0 -0
  217. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/m4300_16x_show_environment.txt +0 -0
  218. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/m4300_16x_show_interface_ethernet_1_0_1.txt +0 -0
  219. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/m4300_16x_show_ip_management.txt +0 -0
  220. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/m4300_16x_show_lldp_remote_device_all.txt +0 -0
  221. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/m4300_16x_show_mac_addr_table.txt +0 -0
  222. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/m4300_16x_show_poe_port_info_all.txt +0 -0
  223. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/m4300_16x_show_port_all.txt +0 -0
  224. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/m4300_16x_show_version.txt +0 -0
  225. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/m4300_16x_show_vlan.txt +0 -0
  226. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/m4300_16x_show_vlan_1.txt +0 -0
  227. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/m4300_16x_show_vlan_4.txt +0 -0
  228. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/m4300_16x_show_vlan_5.txt +0 -0
  229. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/m4300_16x_show_vlan_port_all.txt +0 -0
  230. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/m4300_24x_show_environment.txt +0 -0
  231. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/m4300_24x_show_interface_ethernet_1_0_1.txt +0 -0
  232. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/m4300_24x_show_ip_management.txt +0 -0
  233. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/m4300_24x_show_lldp_remote_device_all.txt +0 -0
  234. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/m4300_24x_show_mac_addr_table.txt +0 -0
  235. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/m4300_24x_show_port_all.txt +0 -0
  236. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/m4300_24x_show_version.txt +0 -0
  237. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/m4300_24x_show_vlan.txt +0 -0
  238. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/m4300_24x_show_vlan_5.txt +0 -0
  239. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/m4300_24x_show_vlan_90.txt +0 -0
  240. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/m4300_24x_show_vlan_port_all.txt +0 -0
  241. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs105pe_membership.html +0 -0
  242. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs105pe_portstats.html +0 -0
  243. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs105pe_pvid.html +0 -0
  244. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs105pe_status.html +0 -0
  245. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs105pe_switch_info.html +0 -0
  246. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs105pe_vlancfg.html +0 -0
  247. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs110emx_cf8021q.html +0 -0
  248. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs110emx_interface_stats.html +0 -0
  249. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs110emx_login.html +0 -0
  250. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs110emx_port_settings.html +0 -0
  251. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs110emx_pvid.html +0 -0
  252. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs110emx_redirect.html +0 -0
  253. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs110emx_sysinfo.html +0 -0
  254. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs110emx_vlanmembership.html +0 -0
  255. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs305ep_dashboard.html +0 -0
  256. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs305ep_login.html +0 -0
  257. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs305ep_membership.html +0 -0
  258. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs305ep_poestatus.html +0 -0
  259. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs305ep_portstats.html +0 -0
  260. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs305ep_pvid.html +0 -0
  261. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs305ep_vlancfg.html +0 -0
  262. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs728tpp_device_info_and_sensors.xml +0 -0
  263. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs728tpp_lldp.xml +0 -0
  264. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs728tpp_macs.xml +0 -0
  265. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs728tpp_mgmt_ip.xml +0 -0
  266. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs728tpp_poe.xml +0 -0
  267. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs728tpp_ports.xml +0 -0
  268. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs728tpp_pvids_membership.xml +0 -0
  269. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs728tpp_vlan_membership_per_vlan.xml +0 -0
  270. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs728tpp_vlans.xml +0 -0
  271. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7228ps_basicAddressTable.html +0 -0
  272. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7228ps_ipConfiguration.html +0 -0
  273. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7228ps_lldpRemoteInventory.html +0 -0
  274. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7228ps_poeInterfaceConfiguration.html +0 -0
  275. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7228ps_portPvidConfiguration.html +0 -0
  276. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7228ps_portStatistics.html +0 -0
  277. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7228ps_portsConfiguration.html +0 -0
  278. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7228ps_sysInfo.html +0 -0
  279. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7228ps_vlanPortCfg_vlan5.html +0 -0
  280. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7228ps_vlanStatus.html +0 -0
  281. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_basicAddressTable.html +0 -0
  282. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_http_configuration.html +0 -0
  283. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_ipConfiguration.html +0 -0
  284. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_lldpRemoteInventory.html +0 -0
  285. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_login.html +0 -0
  286. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_poeInterfaceConfiguration.html +0 -0
  287. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_portPvidConfiguration.html +0 -0
  288. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_portStatistics.html +0 -0
  289. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_portsConfiguration.html +0 -0
  290. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_sysInfo.html +0 -0
  291. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_syslog_configuration.html +0 -0
  292. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_user_configuration.html +0 -0
  293. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_vlanPortCfg_vlan1.html +0 -0
  294. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_vlanPortCfg_vlan141.html +0 -0
  295. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_vlanStatus.html +0 -0
  296. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_vlan_status_live.html +0 -0
  297. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/m4300_16x_lldpRemoteInventory.html +0 -0
  298. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/m4300_16x_mgmtVlanIpv4Configuration.html +0 -0
  299. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/m4300_16x_poeInterfaceConfiguration.html +0 -0
  300. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/m4300_16x_portsConfiguration.html +0 -0
  301. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/m4300_16x_vlanportcfg_vlan4.html +0 -0
  302. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/m4300_24x_poeInterfaceConfiguration.html +0 -0
  303. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/m4300_addresstable.html +0 -0
  304. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/m4300_lldpRemoteInventory.html +0 -0
  305. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/m4300_mgmtVlanIpv4Configuration.html +0 -0
  306. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/m4300_ports.html +0 -0
  307. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/m4300_portstats.html +0 -0
  308. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/m4300_pvid.html +0 -0
  309. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/m4300_sysinfo.html +0 -0
  310. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/m4300_vlanportcfg_vlan1.html +0 -0
  311. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/m4300_vlanstatus.html +0 -0
  312. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/snmp/gsm7252ps_fans.txt +0 -0
  313. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/snmp/gsm7252ps_ifhighspeed.txt +0 -0
  314. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/snmp/gsm7252ps_ifoperstatus.txt +0 -0
  315. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/fixtures/snmp/gsm7252ps_psu.txt +0 -0
  316. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/http_specs.py +0 -0
  317. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/protocols/cli/test_cli_parse.py +0 -0
  318. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/protocols/http/test_crypt.py +0 -0
  319. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/protocols/http/test_endpoints.py +0 -0
  320. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/protocols/http/test_forms.py +0 -0
  321. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/protocols/http/test_parse.py +0 -0
  322. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/protocols/nsdp/test_auth.py +0 -0
  323. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/protocols/nsdp/test_parsers.py +0 -0
  324. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/protocols/nsdp/test_protocol.py +0 -0
  325. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/protocols/nsdp/test_write_frame.py +0 -0
  326. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/protocols/snmp/test_client.py +0 -0
  327. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/protocols/snmp/test_oids.py +0 -0
  328. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/protocols/snmp/test_parse_lldp_macs.py +0 -0
  329. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/protocols/snmp/test_parse_mgmt_ip.py +0 -0
  330. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/protocols/snmp/test_parse_poe_sensors.py +0 -0
  331. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/protocols/snmp/test_parse_ports.py +0 -0
  332. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/protocols/snmp/test_parse_system_info.py +0 -0
  333. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/protocols/snmp/test_parse_vlans.py +0 -0
  334. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/protocols/snmp/test_write_encode.py +0 -0
  335. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_aio_api.py +0 -0
  336. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_capabilities.py +0 -0
  337. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_cli_read.py +0 -0
  338. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_cli_vlan_write.py +0 -0
  339. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_cli_write.py +0 -0
  340. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_config.py +0 -0
  341. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_cross_backend_equivalence.py +0 -0
  342. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_deb_version.py +0 -0
  343. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_dispatch.py +0 -0
  344. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_docs_coverage.py +0 -0
  345. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_errors.py +0 -0
  346. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_facade_equivalence.py +0 -0
  347. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_http_dispatch.py +0 -0
  348. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_http_equivalence.py +0 -0
  349. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_http_read.py +0 -0
  350. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_http_vlan_membership.py +0 -0
  351. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_http_write.py +0 -0
  352. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_http_xui_writes.py +0 -0
  353. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_import.py +0 -0
  354. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_mcp_server.py +0 -0
  355. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_models.py +0 -0
  356. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_models_snmp_read.py +0 -0
  357. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_nsdp_integration.py +0 -0
  358. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_nsdp_read.py +0 -0
  359. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_nsdp_write.py +0 -0
  360. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_public_api.py +0 -0
  361. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_quality_gates.py +0 -0
  362. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_registry.py +0 -0
  363. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_snmp_integration.py +0 -0
  364. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_snmp_read.py +0 -0
  365. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_snmp_write.py +0 -0
  366. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_sync_api.py +0 -0
  367. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_version.py +0 -0
  368. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/test_write_equivalence.py +0 -0
  369. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/transport/_fastpath_fake.py +0 -0
  370. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/transport/test_cli_console.py +0 -0
  371. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/transport/test_cli_scp_cert.py +0 -0
  372. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/transport/test_cli_telnet.py +0 -0
  373. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/transport/test_http_client.py +0 -0
  374. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/transport/test_nsdp_udp_sync.py +0 -0
  375. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/transport/test_set_transport.py +0 -0
  376. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/transport/test_snmp_netsnmp_cli.py +0 -0
  377. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/transport/test_snmp_pysnmp.py +0 -0
  378. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/transport/test_value_parity.py +0 -0
  379. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_cli_cross_backend.py +0 -0
  380. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_cli_gsm7228ps_parity.py +0 -0
  381. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_gsm7228ps_seed.py +0 -0
  382. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_hostname.py +0 -0
  383. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_m4300_seeds.py +0 -0
  384. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_mibview.py +0 -0
  385. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_mutable_state.py +0 -0
  386. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_nsdp_state.py +0 -0
  387. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_serve_daemon.py +0 -0
  388. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_snmp_write_face.py +0 -0
  389. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_state_seed.py +0 -0
  390. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_switchport_vlan_write.py +0 -0
  391. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_syslog_fidelity.py +0 -0
  392. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_virtual_http_face.py +0 -0
  393. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_virtual_nsdp_face.py +0 -0
  394. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_virtual_snmp_face.py +0 -0
  395. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_web_projection.py +0 -0
  396. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_write_outcomes.py +0 -0
  397. {python_netgear_switch_library-0.0.post355 → python_netgear_switch_library-0.0.post357}/uv.lock +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-netgear-switch-library
3
- Version: 0.0.post355
3
+ Version: 0.0.post357
4
4
  Summary: Python library and CLI to query and control Netgear switches over SNMP, NSDP and HTTP.
5
5
  Author-email: Tim Ansell <me@mith.ro>
6
6
  License-Expression: Apache-2.0
@@ -339,3 +339,71 @@ That is a gap in the safety net, not a bug in the test. Catching this class
339
339
  needs a different check: drive each write against the mock and assert the state
340
340
  actually changed. Recorded here so the next person does not assume a green
341
341
  capability suite means the writes work.
342
+
343
+
344
+ ### CORRECTION: the dialect is drivable; `create_vlan` just lacks the branch
345
+
346
+ An earlier paragraph above implied the missing CSRF token makes the whole XE
347
+ FASTPATH dialect undrivable for writes. **That is wrong, and this corrects it.**
348
+
349
+ `HttpWriter.set_poe` branches on `_is_fastpath_dialect` into `_xui_poe_admin`,
350
+ which posts the two-`FORM` `submit_flag` shape and needs no `hash` at all. Its
351
+ docstring records it as LIVE-PROVEN on gsm7228ps (10.1.5.11, port `1/g12`),
352
+ m4300-16x (10.1.5.20:49152, port 1/0/15) and gsm7252ps (10.1.5.22). Driving
353
+ `set_poe` over HTTP against the now-faithful mock succeeds on all three
354
+ FASTPATH models.
355
+
356
+ So XUI writes work. `create_vlan`/`delete_vlan` simply have no XUI branch —
357
+ they go straight to the Plus form and its token. That makes HTTP VLAN creation
358
+ on FASTPATH a **missing implementation**, which principle 2 is explicit about:
359
+ *"A backend missing an operation is a missing implementation, to be built. It is
360
+ not a device limitation until proven otherwise."*
361
+
362
+ ### Consequence: the capability marking committed above is itself wrong
363
+
364
+ `_CSRF_HTTP_WRITES` now makes the oracle report `Support.UNSUPPORTED` for HTTP
365
+ `create_vlan`/`delete_vlan` on those models. But `Support.UNSUPPORTED`'s own
366
+ docstring says it is *"Never a stand-in for 'not implemented yet'"* — and that
367
+ is exactly what it is being used for here.
368
+
369
+ The published support table therefore now tells a different lie from the one it
370
+ told before: it previously claimed a broken write worked; it now implies the
371
+ hardware cannot do something it can. The first lie was worse, so this is not a
372
+ regression — but it is not the end state.
373
+
374
+ **The correct fix is to implement `_xui_vlan_create`/`_xui_vlan_delete`**
375
+ alongside `_xui_poe_admin`, modelled on the same two-`FORM` `submit_flag` post,
376
+ then remove the `_CSRF_HTTP_WRITES` entry entirely so the table can say
377
+ "supported" truthfully. Until that lands, the xfail in
378
+ `tests/virtual/test_write_outcomes.py` and this note are the honest record.
379
+
380
+
381
+ ### Root cause: `vlan_config_path` points at a STATUS page, not a config page
382
+
383
+ The reason HTTP `create_vlan` cannot work on FASTPATH is narrower and more
384
+ fixable than "no CSRF token".
385
+
386
+ `HTTP_SPECS['gsm7252ps'].vlan_config_path` is `/vlanStatus.html`. A live capture
387
+ (`tests/fixtures/http/gsm7252ps_vlan_status_live.html`) shows it *does* have the
388
+ XUI two-`FORM` shape — `ACTION="/vlanStatus.html/a0"` and `/a1`, plus
389
+ `submit_flag` — but it carries **no `v_2_*` action buttons at all**. It is a
390
+ read-only status page. `_xui_poe_admin` works because
391
+ `poeInterfaceConfiguration.html` is a *configuration* page and does have them.
392
+
393
+ The real page is **`/vlanConfiguration.html`** — 23104 bytes, titled "NetGear -
394
+ VLAN Configuration", carrying `v_2_1_1` through `v_2_1_4`. Captured as
395
+ `tests/fixtures/http/gsm7252ps_vlan_configuration_live.html`.
396
+
397
+ So the fix is two parts, and neither is a device limitation:
398
+
399
+ 1. The spec needs a separate write path for VLAN creation — the read path
400
+ (`vlanStatus.html`) is correct for `get_vlans` and simply cannot serve a
401
+ write. This mirrors `vlan_membership_path` vs `vlan_membership_post_path`,
402
+ which already makes exactly this distinction for membership.
403
+ 2. `create_vlan`/`delete_vlan` then need an XUI branch posting to that page's
404
+ action with the appropriate `v_2_1_*` button, modelled on
405
+ `_xui_poe_admin`/`forms.xui_row_apply_form`.
406
+
407
+ Which of the four buttons is Add and which is Delete has NOT been established —
408
+ that needs the page's own markup read carefully, and the write driven against a
409
+ switch with a throwaway VLAN id before anything is claimed.
@@ -18,7 +18,7 @@ version_tuple: tuple[int | str, ...]
18
18
  commit_id: str | None
19
19
  __commit_id__: str | None
20
20
 
21
- __version__ = version = '0.0.post355'
22
- __version_tuple__ = version_tuple = (0, 0, 'post355')
21
+ __version__ = version = '0.0.post357'
22
+ __version_tuple__ = version_tuple = (0, 0, 'post357')
23
23
 
24
24
  __commit_id__ = commit_id = None
@@ -0,0 +1,478 @@
1
+
2
+
3
+ <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
4
+ <!-- This file is auto-generated by XE - DON'T EDIT -->
5
+ <HTML>
6
+ <HEAD>
7
+ <!-- USR_FTL_DBG: head_start -->
8
+ <LINK REL=stylesheet HREF="/base/style.css" TYPE="text/css">
9
+ <script src="/base/js/rollover.js" type="text/javascript"></script>
10
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
11
+ <TITLE>NetGear - VLAN Configuration</TITLE>
12
+ <!--[if IE 6]>
13
+ <link href="/css/ie6.css" rel="stylesheet" type="text/css" id="fastpath">
14
+ <![endif]-->
15
+ <![if !(IE 6)]>
16
+ <link href="/css/non-ie6.css" rel="stylesheet" type="text/css" id="fastpath">
17
+ <![endif]>
18
+ <link href="/css/ng8xui.css" rel="stylesheet" type="text/css" id="fastpath">
19
+ <script type="text/javascript" src="/scripts/xui_common.js"></script>
20
+ <script type="text/javascript" >xuiIncludeCommonJSFiles("/scripts/");</script>
21
+ <script type="text/javascript" src="/scripts/_xe_vlanConfiguration.js"></script>
22
+ <!-- USR_FTL_DBG: head_end -->
23
+ </HEAD>
24
+ <BODY CLASS=page>
25
+
26
+ <FORM method=post ACTION="/vlanConfiguration.html/a0">
27
+ <INPUT TYPE="hidden" NAME="applet_port" XC=hidden VALUE="">
28
+ <INPUT TYPE="hidden" NAME="applet_unit" XC=hidden VALUE="">
29
+ <INPUT TYPE="hidden" NAME="dbgopt" XC=hidden VALUE="0">
30
+
31
+
32
+
33
+
34
+ </FORM>
35
+ <FORM method=post ACTION="/vlanConfiguration.html/a1">
36
+ <DIV ID="xui_preload">
37
+ <DIV ID="preload"><IMG SRC="/images/preload.gif" ALIGN="middle">Loading page, please wait....</DIV>
38
+ </DIV>
39
+ <DIV ID="topdiv" style="display:none;">
40
+ <!-- USR_FTL_DBG: form_start -->
41
+ <div id="xuiMainDiv" class="xuiMainBody mainContainer"><table class="xuiDetailsContainer"><tbody>
42
+ <tr><td class="xuiFont15Bold">VLAN Configuration</td></tr>
43
+ <tr><td class="xuiSpacerHeight9"/></tr>
44
+
45
+ <!-- USR_FTL_DBG: group_common_start 1 1 -->
46
+ <tr id="1">
47
+ <td><table class="xuiTableStyle" cellspacing="0" cellpadding="0" >
48
+ <tbody>
49
+ <tr>
50
+ <td colspan="3">
51
+ <table class="xuiTableStyle" cellpadding="0" cellspacing="0" id="1" ><tbody>
52
+ <tr>
53
+ <td class="xuiSubSectionTabTopLeft xuiSpacer80Percent font12BoldBlue" colspan="2">Reset</td>
54
+ <td class="xuiSubSectionTabTopRight xuiSpacer20Percent">
55
+ <a onclick="newWindow('/base/help/help.html#resetVlan','resetVlan','550','500')" href="javascript: void(0);">
56
+ <img height="12" width="12" title="Click for help" src="/base/images/help_icon.gif"/></a>
57
+ </td>
58
+ </tr>
59
+ <tr>
60
+ <td class="xuiSubSectionTabTopShadow" colspan="3"></td>
61
+ </tr>
62
+ </tbody></table>
63
+ </td>
64
+ </tr>
65
+ <tr>
66
+ <td class="xuiSubSectionBodyDot">&nbsp;</td>
67
+ <td class="xuiSpacer100Percent"><table class="xuiTableStyle" id="1" cellspacing="0" cellpadding="0"><tbody>
68
+ <!-- USR_FTL_DBG: node_start -->
69
+ <TR id=1_1 class=deftestme>
70
+ <TD class=defleft id=1_1_1>Reset Configuration</TD>
71
+ <TD class=defright id=1_1_1><INPUT xid=1_1_1 TYPE=hidden NAME=v_1_1_1 VALUE="Disable"></TD>
72
+ </TR>
73
+ <!-- USR_FTL_DBG: node_end -->
74
+ </tbody></table></td>
75
+ <td class="xuiSubSectionBodyDotRight">&nbsp;</td>
76
+ </tr>
77
+ <tr><td class="xuiSubSectionBottom" colspan="3">&nbsp;</td></tr>
78
+ <tr><td class="xuiSpacerHeight15"/></tr>
79
+ </tbody></table></td>
80
+ </tr>
81
+ <!-- USR_FTL_DBG: group_common_end 1 1 -->
82
+
83
+
84
+ <!-- USR_FTL_DBG: group_common_start 1 1 -->
85
+ <tr id="4">
86
+ <td><table class="xuiTableStyle" cellspacing="0" cellpadding="0" >
87
+ <tbody>
88
+ <tr>
89
+ <td colspan="3">
90
+ <table class="xuiTableStyle" cellpadding="0" cellspacing="0" id="4" ><tbody>
91
+ <tr>
92
+ <td class="xuiSubSectionTabTopLeft xuiSpacer80Percent font12BoldBlue" colspan="2">Internal VLAN Configuration</td>
93
+ <td class="xuiSubSectionTabTopRight xuiSpacer20Percent">
94
+ <a onclick="newWindow('/base/help/help.html#internalVlan','internalVlan','550','500')" href="javascript: void(0);">
95
+ <img height="12" width="12" title="Click for help" src="/base/images/help_icon.gif"/></a>
96
+ </td>
97
+ </tr>
98
+ <tr>
99
+ <td class="xuiSubSectionTabTopShadow" colspan="3"></td>
100
+ </tr>
101
+ </tbody></table>
102
+ </td>
103
+ </tr>
104
+ <tr>
105
+ <td class="xuiSubSectionBodyDot">&nbsp;</td>
106
+ <td class="xuiSpacer100Percent"><table class="xuiTableStyle" id="4" cellspacing="0" cellpadding="0"><tbody>
107
+ <!-- USR_FTL_DBG: node_start -->
108
+ <TR id=4_1 class=deftestme>
109
+ <TD class=defleft id=4_1_1>Internal VLAN Allocation Base</TD>
110
+ <TD class=defright id=4_1_1><INPUT xid=4_1_1 TYPE=hidden NAME=v_4_1_1 VALUE="4093"></TD>
111
+ </TR>
112
+ <!-- USR_FTL_DBG: node_end -->
113
+ <!-- USR_FTL_DBG: node_start -->
114
+ <TR id=4_2 class=deftestme>
115
+ <TD class=defleft id=4_2_1>Internal VLAN Allocation Policy</TD>
116
+ <TD class=defright id=4_2_1><INPUT xid=4_2_1 TYPE=hidden NAME=v_4_2_1 VALUE="Descending"></TD>
117
+ </TR>
118
+ <!-- USR_FTL_DBG: node_end -->
119
+ </tbody></table></td>
120
+ <td class="xuiSubSectionBodyDotRight">&nbsp;</td>
121
+ </tr>
122
+ <tr><td class="xuiSubSectionBottom" colspan="3">&nbsp;</td></tr>
123
+ <tr><td class="xuiSpacerHeight15"/></tr>
124
+ </tbody></table></td>
125
+ </tr>
126
+ <!-- USR_FTL_DBG: group_common_end 1 1 -->
127
+
128
+
129
+
130
+ <!-- USR_FTL_DBG: group_common_start 1 1 -->
131
+ <tr id="2">
132
+ <td><table class="xuiTableStyle" cellspacing="0" cellpadding="0" >
133
+ <tbody>
134
+ <tr>
135
+ <td colspan="3">
136
+ <table class="xuiTableStyle" cellpadding="0" cellspacing="0" id="2" ><tbody>
137
+ <tr>
138
+ <td class="xuiSubSectionTabTopLeft xuiSpacer80Percent font12BoldBlue" colspan="2">VLAN Configuration</td>
139
+ <td class="xuiSubSectionTabTopRight xuiSpacer20Percent">
140
+ <a onclick="newWindow('/base/help/help.html#basicVlanConfiguration','basicVlanConfiguration','550','500')" href="javascript: void(0);">
141
+ <img height="12" width="12" title="Click for help" src="/base/images/help_icon.gif"/></a>
142
+ </td>
143
+ </tr>
144
+ <tr>
145
+ <td class="xuiSubSectionTabTopShadow" colspan="3"></td>
146
+ </tr>
147
+ </tbody></table>
148
+ </td>
149
+ </tr>
150
+ <tr>
151
+ <td class="xuiSubSectionBodyDot">&nbsp;</td>
152
+ <td class="xuiSpacer100Percent"><table class="xuiTableStyle" id="2" cellspacing="0" cellpadding="0"><tbody>
153
+ <!-- USR_FTL_DBG: repeat_start -->
154
+ <tr id='repeat_2_1'><td class="xuiPaddingSubSectionBodyWide" colspan=200>
155
+ <table id="tbl1" class="xuiTableStyle" cellspacing="0" cellpadding="0" ><tbody>
156
+ <TR id=2_1>
157
+ <!-- gecb.VTableHdrTd start -->
158
+ <td class="def_TH geRight"></td>
159
+ <!-- gecb.VTableHdrTd end -->
160
+ <TD class="def_TH alt0 firstCol" id=2_1_1>VLAN ID</TD>
161
+ <TD class="def_TH alt0" id=2_1_2>VLAN Name</TD>
162
+ <TD class="def_TH alt0" id=2_1_3>VLAN Type</TD>
163
+ <TD class="def_TH alt0" id=2_1_6>Make Static</TD>
164
+ </TR>
165
+ <!-- USR_FTL_DBG: repeat.VTableHdrThAll is not used -->
166
+ <TR id=g_2_1 >
167
+ <!-- gecb.VTableGlobalRow start -->
168
+ <td class="def_getd geRight"><INPUT id="2_1_null" type="checkbox" name="gecb301" xgc ></td>
169
+ <!-- gecb.VTableGlobalRow end -->
170
+ <TD class="def_getd alt0 firstCol" id=g_2_1_1><INPUT xid=g_2_1_1 TYPE=hidden NAME=v_g_2_1_1 VALUE=""></TD>
171
+ <TD class="def_getd alt0" id=g_2_1_2><INPUT xid=g_2_1_2 TYPE=hidden NAME=v_g_2_1_2 VALUE=""></TD>
172
+ <TD class="def_getd alt0" id=g_2_1_3><INPUT xid=g_2_1_3 TYPE=hidden NAME=v_g_2_1_3 VALUE=""></TD>
173
+ <TD class="def_getd alt0" id=g_2_1_6><INPUT xid=g_2_1_6 TYPE=hidden NAME=v_g_2_1_6 DISABLED VALUE="Disable"></TD>
174
+ <TD style="display:none" class="def_getd alt0" id=g_2_1_5 ><INPUT xid=g_2_1_5 TYPE=hidden NAME=v_g_2_1_5 DISABLED VALUE=""></TD>
175
+ <TD style="display:none" class="def_getd alt0" id=g_2_1_4 ><INPUT xid=g_2_1_4 TYPE=hidden NAME=v_g_2_1_4 VALUE="Add"></TD>
176
+ </TR>
177
+
178
+
179
+
180
+ <TR p="1.0.140" id=2_1>
181
+ <!-- gecb.VTableRow start -->
182
+ <td id="2_1_null" p="1.0.140" class="def alt0 geRight">
183
+ <INPUT id="2_1_null" type="checkbox" name="1.0.14.gecb302" xgc ></td>
184
+ <!-- gecb.VTableRow end -->
185
+ <TD class="def alt0 firstCol" p="1.0.140" id=2_1_1><INPUT xid=2_1_1 TYPE=hidden NAME=1.0.14.v_2_1_1 VALUE="1">1</TD>
186
+ <TD class="def alt0" p="1.0.140" id=2_1_2><INPUT xid=2_1_2 TYPE=hidden NAME=1.0.14.v_2_1_2 VALUE="default">default</TD>
187
+ <TD class="def alt0" p="1.0.140" id=2_1_3><INPUT xid=2_1_3 TYPE=hidden NAME=1.0.14.v_2_1_3 VALUE="Default">Default</TD>
188
+ <TD class="def alt0" p="1.0.140" id=2_1_6><INPUT xid=2_1_6 TYPE=hidden NAME=1.0.14.v_2_1_6 DISABLED VALUE="Disable">Disable</TD>
189
+ <TD style="display:none" class="def alt0" p="1.0.140" id=2_1_5><INPUT xid=2_1_5 TYPE=hidden NAME=1.0.14.v_2_1_5 DISABLED VALUE="Default"></TD>
190
+ <TD style="display:none" class="def alt0" p="1.0.140" id=2_1_4><INPUT xid=2_1_4 TYPE=hidden NAME=1.0.14.v_2_1_4 VALUE="Add"></TD>
191
+ </TR>
192
+
193
+
194
+
195
+ <TR p="1.1.140" id=2_1>
196
+ <!-- gecb.VTableRow start -->
197
+ <td id="2_1_null" p="1.1.140" class="def alt1 geRight">
198
+ <INPUT id="2_1_null" type="checkbox" name="1.1.14.gecb302" xgc ></td>
199
+ <!-- gecb.VTableRow end -->
200
+ <TD class="def alt1 firstCol" p="1.1.140" id=2_1_1><INPUT xid=2_1_1 TYPE=hidden NAME=1.1.14.v_2_1_1 VALUE="4">4</TD>
201
+ <TD class="def alt1" p="1.1.140" id=2_1_2><INPUT xid=2_1_2 TYPE=hidden NAME=1.1.14.v_2_1_2 VALUE="wifi">wifi</TD>
202
+ <TD class="def alt1" p="1.1.140" id=2_1_3><INPUT xid=2_1_3 TYPE=hidden NAME=1.1.14.v_2_1_3 VALUE="Static">Static</TD>
203
+ <TD class="def alt1" p="1.1.140" id=2_1_6><INPUT xid=2_1_6 TYPE=hidden NAME=1.1.14.v_2_1_6 DISABLED VALUE="Disable">Disable</TD>
204
+ <TD style="display:none" class="def alt1" p="1.1.140" id=2_1_5><INPUT xid=2_1_5 TYPE=hidden NAME=1.1.14.v_2_1_5 DISABLED VALUE="Static"></TD>
205
+ <TD style="display:none" class="def alt1" p="1.1.140" id=2_1_4><INPUT xid=2_1_4 TYPE=hidden NAME=1.1.14.v_2_1_4 VALUE="Add"></TD>
206
+ </TR>
207
+
208
+
209
+
210
+ <TR p="1.2.140" id=2_1>
211
+ <!-- gecb.VTableRow start -->
212
+ <td id="2_1_null" p="1.2.140" class="def alt0 geRight">
213
+ <INPUT id="2_1_null" type="checkbox" name="1.2.14.gecb302" xgc ></td>
214
+ <!-- gecb.VTableRow end -->
215
+ <TD class="def alt0 firstCol" p="1.2.140" id=2_1_1><INPUT xid=2_1_1 TYPE=hidden NAME=1.2.14.v_2_1_1 VALUE="5">5</TD>
216
+ <TD class="def alt0" p="1.2.140" id=2_1_2><INPUT xid=2_1_2 TYPE=hidden NAME=1.2.14.v_2_1_2 VALUE="net">net</TD>
217
+ <TD class="def alt0" p="1.2.140" id=2_1_3><INPUT xid=2_1_3 TYPE=hidden NAME=1.2.14.v_2_1_3 VALUE="Static">Static</TD>
218
+ <TD class="def alt0" p="1.2.140" id=2_1_6><INPUT xid=2_1_6 TYPE=hidden NAME=1.2.14.v_2_1_6 DISABLED VALUE="Disable">Disable</TD>
219
+ <TD style="display:none" class="def alt0" p="1.2.140" id=2_1_5><INPUT xid=2_1_5 TYPE=hidden NAME=1.2.14.v_2_1_5 DISABLED VALUE="Static"></TD>
220
+ <TD style="display:none" class="def alt0" p="1.2.140" id=2_1_4><INPUT xid=2_1_4 TYPE=hidden NAME=1.2.14.v_2_1_4 VALUE="Add"></TD>
221
+ </TR>
222
+
223
+
224
+
225
+ <TR p="1.3.140" id=2_1>
226
+ <!-- gecb.VTableRow start -->
227
+ <td id="2_1_null" p="1.3.140" class="def alt1 geRight">
228
+ <INPUT id="2_1_null" type="checkbox" name="1.3.14.gecb302" xgc ></td>
229
+ <!-- gecb.VTableRow end -->
230
+ <TD class="def alt1 firstCol" p="1.3.140" id=2_1_1><INPUT xid=2_1_1 TYPE=hidden NAME=1.3.14.v_2_1_1 VALUE="6">6</TD>
231
+ <TD class="def alt1" p="1.3.140" id=2_1_2><INPUT xid=2_1_2 TYPE=hidden NAME=1.3.14.v_2_1_2 VALUE="pwr">pwr</TD>
232
+ <TD class="def alt1" p="1.3.140" id=2_1_3><INPUT xid=2_1_3 TYPE=hidden NAME=1.3.14.v_2_1_3 VALUE="Static">Static</TD>
233
+ <TD class="def alt1" p="1.3.140" id=2_1_6><INPUT xid=2_1_6 TYPE=hidden NAME=1.3.14.v_2_1_6 DISABLED VALUE="Disable">Disable</TD>
234
+ <TD style="display:none" class="def alt1" p="1.3.140" id=2_1_5><INPUT xid=2_1_5 TYPE=hidden NAME=1.3.14.v_2_1_5 DISABLED VALUE="Static"></TD>
235
+ <TD style="display:none" class="def alt1" p="1.3.140" id=2_1_4><INPUT xid=2_1_4 TYPE=hidden NAME=1.3.14.v_2_1_4 VALUE="Add"></TD>
236
+ </TR>
237
+
238
+
239
+
240
+ <TR p="1.4.140" id=2_1>
241
+ <!-- gecb.VTableRow start -->
242
+ <td id="2_1_null" p="1.4.140" class="def alt0 geRight">
243
+ <INPUT id="2_1_null" type="checkbox" name="1.4.14.gecb302" xgc ></td>
244
+ <!-- gecb.VTableRow end -->
245
+ <TD class="def alt0 firstCol" p="1.4.140" id=2_1_1><INPUT xid=2_1_1 TYPE=hidden NAME=1.4.14.v_2_1_1 VALUE="7">7</TD>
246
+ <TD class="def alt0" p="1.4.140" id=2_1_2><INPUT xid=2_1_2 TYPE=hidden NAME=1.4.14.v_2_1_2 VALUE="store">store</TD>
247
+ <TD class="def alt0" p="1.4.140" id=2_1_3><INPUT xid=2_1_3 TYPE=hidden NAME=1.4.14.v_2_1_3 VALUE="Static">Static</TD>
248
+ <TD class="def alt0" p="1.4.140" id=2_1_6><INPUT xid=2_1_6 TYPE=hidden NAME=1.4.14.v_2_1_6 DISABLED VALUE="Disable">Disable</TD>
249
+ <TD style="display:none" class="def alt0" p="1.4.140" id=2_1_5><INPUT xid=2_1_5 TYPE=hidden NAME=1.4.14.v_2_1_5 DISABLED VALUE="Static"></TD>
250
+ <TD style="display:none" class="def alt0" p="1.4.140" id=2_1_4><INPUT xid=2_1_4 TYPE=hidden NAME=1.4.14.v_2_1_4 VALUE="Add"></TD>
251
+ </TR>
252
+
253
+
254
+
255
+ <TR p="1.5.140" id=2_1>
256
+ <!-- gecb.VTableRow start -->
257
+ <td id="2_1_null" p="1.5.140" class="def alt1 geRight">
258
+ <INPUT id="2_1_null" type="checkbox" name="1.5.14.gecb302" xgc ></td>
259
+ <!-- gecb.VTableRow end -->
260
+ <TD class="def alt1 firstCol" p="1.5.140" id=2_1_1><INPUT xid=2_1_1 TYPE=hidden NAME=1.5.14.v_2_1_1 VALUE="10">10</TD>
261
+ <TD class="def alt1" p="1.5.140" id=2_1_2><INPUT xid=2_1_2 TYPE=hidden NAME=1.5.14.v_2_1_2 VALUE="int">int</TD>
262
+ <TD class="def alt1" p="1.5.140" id=2_1_3><INPUT xid=2_1_3 TYPE=hidden NAME=1.5.14.v_2_1_3 VALUE="Static">Static</TD>
263
+ <TD class="def alt1" p="1.5.140" id=2_1_6><INPUT xid=2_1_6 TYPE=hidden NAME=1.5.14.v_2_1_6 DISABLED VALUE="Disable">Disable</TD>
264
+ <TD style="display:none" class="def alt1" p="1.5.140" id=2_1_5><INPUT xid=2_1_5 TYPE=hidden NAME=1.5.14.v_2_1_5 DISABLED VALUE="Static"></TD>
265
+ <TD style="display:none" class="def alt1" p="1.5.140" id=2_1_4><INPUT xid=2_1_4 TYPE=hidden NAME=1.5.14.v_2_1_4 VALUE="Add"></TD>
266
+ </TR>
267
+
268
+
269
+
270
+ <TR p="1.6.140" id=2_1>
271
+ <!-- gecb.VTableRow start -->
272
+ <td id="2_1_null" p="1.6.140" class="def alt0 geRight">
273
+ <INPUT id="2_1_null" type="checkbox" name="1.6.14.gecb302" xgc ></td>
274
+ <!-- gecb.VTableRow end -->
275
+ <TD class="def alt0 firstCol" p="1.6.140" id=2_1_1><INPUT xid=2_1_1 TYPE=hidden NAME=1.6.14.v_2_1_1 VALUE="20">20</TD>
276
+ <TD class="def alt0" p="1.6.140" id=2_1_2><INPUT xid=2_1_2 TYPE=hidden NAME=1.6.14.v_2_1_2 VALUE="roam">roam</TD>
277
+ <TD class="def alt0" p="1.6.140" id=2_1_3><INPUT xid=2_1_3 TYPE=hidden NAME=1.6.14.v_2_1_3 VALUE="Static">Static</TD>
278
+ <TD class="def alt0" p="1.6.140" id=2_1_6><INPUT xid=2_1_6 TYPE=hidden NAME=1.6.14.v_2_1_6 DISABLED VALUE="Disable">Disable</TD>
279
+ <TD style="display:none" class="def alt0" p="1.6.140" id=2_1_5><INPUT xid=2_1_5 TYPE=hidden NAME=1.6.14.v_2_1_5 DISABLED VALUE="Static"></TD>
280
+ <TD style="display:none" class="def alt0" p="1.6.140" id=2_1_4><INPUT xid=2_1_4 TYPE=hidden NAME=1.6.14.v_2_1_4 VALUE="Add"></TD>
281
+ </TR>
282
+
283
+
284
+
285
+ <TR p="1.7.140" id=2_1>
286
+ <!-- gecb.VTableRow start -->
287
+ <td id="2_1_null" p="1.7.140" class="def alt1 geRight">
288
+ <INPUT id="2_1_null" type="checkbox" name="1.7.14.gecb302" xgc ></td>
289
+ <!-- gecb.VTableRow end -->
290
+ <TD class="def alt1 firstCol" p="1.7.140" id=2_1_1><INPUT xid=2_1_1 TYPE=hidden NAME=1.7.14.v_2_1_1 VALUE="21">21</TD>
291
+ <TD class="def alt1" p="1.7.140" id=2_1_2><INPUT xid=2_1_2 TYPE=hidden NAME=1.7.14.v_2_1_2 VALUE="fpgas">fpgas</TD>
292
+ <TD class="def alt1" p="1.7.140" id=2_1_3><INPUT xid=2_1_3 TYPE=hidden NAME=1.7.14.v_2_1_3 VALUE="Static">Static</TD>
293
+ <TD class="def alt1" p="1.7.140" id=2_1_6><INPUT xid=2_1_6 TYPE=hidden NAME=1.7.14.v_2_1_6 DISABLED VALUE="Disable">Disable</TD>
294
+ <TD style="display:none" class="def alt1" p="1.7.140" id=2_1_5><INPUT xid=2_1_5 TYPE=hidden NAME=1.7.14.v_2_1_5 DISABLED VALUE="Static"></TD>
295
+ <TD style="display:none" class="def alt1" p="1.7.140" id=2_1_4><INPUT xid=2_1_4 TYPE=hidden NAME=1.7.14.v_2_1_4 VALUE="Add"></TD>
296
+ </TR>
297
+
298
+
299
+
300
+ <TR p="1.8.140" id=2_1>
301
+ <!-- gecb.VTableRow start -->
302
+ <td id="2_1_null" p="1.8.140" class="def alt0 geRight">
303
+ <INPUT id="2_1_null" type="checkbox" name="1.8.14.gecb302" xgc ></td>
304
+ <!-- gecb.VTableRow end -->
305
+ <TD class="def alt0 firstCol" p="1.8.140" id=2_1_1><INPUT xid=2_1_1 TYPE=hidden NAME=1.8.14.v_2_1_1 VALUE="41">41</TD>
306
+ <TD class="def alt0" p="1.8.140" id=2_1_2><INPUT xid=2_1_2 TYPE=hidden NAME=1.8.14.v_2_1_2 VALUE="sm">sm</TD>
307
+ <TD class="def alt0" p="1.8.140" id=2_1_3><INPUT xid=2_1_3 TYPE=hidden NAME=1.8.14.v_2_1_3 VALUE="Static">Static</TD>
308
+ <TD class="def alt0" p="1.8.140" id=2_1_6><INPUT xid=2_1_6 TYPE=hidden NAME=1.8.14.v_2_1_6 DISABLED VALUE="Disable">Disable</TD>
309
+ <TD style="display:none" class="def alt0" p="1.8.140" id=2_1_5><INPUT xid=2_1_5 TYPE=hidden NAME=1.8.14.v_2_1_5 DISABLED VALUE="Static"></TD>
310
+ <TD style="display:none" class="def alt0" p="1.8.140" id=2_1_4><INPUT xid=2_1_4 TYPE=hidden NAME=1.8.14.v_2_1_4 VALUE="Add"></TD>
311
+ </TR>
312
+
313
+
314
+
315
+ <TR p="1.9.140" id=2_1>
316
+ <!-- gecb.VTableRow start -->
317
+ <td id="2_1_null" p="1.9.140" class="def alt1 geRight">
318
+ <INPUT id="2_1_null" type="checkbox" name="1.9.14.gecb302" xgc ></td>
319
+ <!-- gecb.VTableRow end -->
320
+ <TD class="def alt1 firstCol" p="1.9.140" id=2_1_1><INPUT xid=2_1_1 TYPE=hidden NAME=1.9.14.v_2_1_1 VALUE="89">89</TD>
321
+ <TD class="def alt1" p="1.9.140" id=2_1_2><INPUT xid=2_1_2 TYPE=hidden NAME=1.9.14.v_2_1_2 VALUE="sdr">sdr</TD>
322
+ <TD class="def alt1" p="1.9.140" id=2_1_3><INPUT xid=2_1_3 TYPE=hidden NAME=1.9.14.v_2_1_3 VALUE="Static">Static</TD>
323
+ <TD class="def alt1" p="1.9.140" id=2_1_6><INPUT xid=2_1_6 TYPE=hidden NAME=1.9.14.v_2_1_6 DISABLED VALUE="Disable">Disable</TD>
324
+ <TD style="display:none" class="def alt1" p="1.9.140" id=2_1_5><INPUT xid=2_1_5 TYPE=hidden NAME=1.9.14.v_2_1_5 DISABLED VALUE="Static"></TD>
325
+ <TD style="display:none" class="def alt1" p="1.9.140" id=2_1_4><INPUT xid=2_1_4 TYPE=hidden NAME=1.9.14.v_2_1_4 VALUE="Add"></TD>
326
+ </TR>
327
+
328
+
329
+
330
+ <TR p="1.10.140" id=2_1>
331
+ <!-- gecb.VTableRow start -->
332
+ <td id="2_1_null" p="1.10.140" class="def alt0 geRight">
333
+ <INPUT id="2_1_null" type="checkbox" name="1.10.14.gecb302" xgc ></td>
334
+ <!-- gecb.VTableRow end -->
335
+ <TD class="def alt0 firstCol" p="1.10.140" id=2_1_1><INPUT xid=2_1_1 TYPE=hidden NAME=1.10.14.v_2_1_1 VALUE="90">90</TD>
336
+ <TD class="def alt0" p="1.10.140" id=2_1_2><INPUT xid=2_1_2 TYPE=hidden NAME=1.10.14.v_2_1_2 VALUE="iot">iot</TD>
337
+ <TD class="def alt0" p="1.10.140" id=2_1_3><INPUT xid=2_1_3 TYPE=hidden NAME=1.10.14.v_2_1_3 VALUE="Static">Static</TD>
338
+ <TD class="def alt0" p="1.10.140" id=2_1_6><INPUT xid=2_1_6 TYPE=hidden NAME=1.10.14.v_2_1_6 DISABLED VALUE="Disable">Disable</TD>
339
+ <TD style="display:none" class="def alt0" p="1.10.140" id=2_1_5><INPUT xid=2_1_5 TYPE=hidden NAME=1.10.14.v_2_1_5 DISABLED VALUE="Static"></TD>
340
+ <TD style="display:none" class="def alt0" p="1.10.140" id=2_1_4><INPUT xid=2_1_4 TYPE=hidden NAME=1.10.14.v_2_1_4 VALUE="Add"></TD>
341
+ </TR>
342
+
343
+
344
+
345
+ <TR p="1.11.140" id=2_1>
346
+ <!-- gecb.VTableRow start -->
347
+ <td id="2_1_null" p="1.11.140" class="def alt1 geRight">
348
+ <INPUT id="2_1_null" type="checkbox" name="1.11.14.gecb302" xgc ></td>
349
+ <!-- gecb.VTableRow end -->
350
+ <TD class="def alt1 firstCol" p="1.11.140" id=2_1_1><INPUT xid=2_1_1 TYPE=hidden NAME=1.11.14.v_2_1_1 VALUE="99">99</TD>
351
+ <TD class="def alt1" p="1.11.140" id=2_1_2><INPUT xid=2_1_2 TYPE=hidden NAME=1.11.14.v_2_1_2 VALUE="guest">guest</TD>
352
+ <TD class="def alt1" p="1.11.140" id=2_1_3><INPUT xid=2_1_3 TYPE=hidden NAME=1.11.14.v_2_1_3 VALUE="Static">Static</TD>
353
+ <TD class="def alt1" p="1.11.140" id=2_1_6><INPUT xid=2_1_6 TYPE=hidden NAME=1.11.14.v_2_1_6 DISABLED VALUE="Disable">Disable</TD>
354
+ <TD style="display:none" class="def alt1" p="1.11.140" id=2_1_5><INPUT xid=2_1_5 TYPE=hidden NAME=1.11.14.v_2_1_5 DISABLED VALUE="Static"></TD>
355
+ <TD style="display:none" class="def alt1" p="1.11.140" id=2_1_4><INPUT xid=2_1_4 TYPE=hidden NAME=1.11.14.v_2_1_4 VALUE="Add"></TD>
356
+ </TR>
357
+
358
+
359
+
360
+ <TR p="1.12.140" id=2_1>
361
+ <!-- gecb.VTableRow start -->
362
+ <td id="2_1_null" p="1.12.140" class="def alt0 geRight">
363
+ <INPUT id="2_1_null" type="checkbox" name="1.12.14.gecb302" xgc ></td>
364
+ <!-- gecb.VTableRow end -->
365
+ <TD class="def alt0 firstCol" p="1.12.140" id=2_1_1><INPUT xid=2_1_1 TYPE=hidden NAME=1.12.14.v_2_1_1 VALUE="121">121</TD>
366
+ <TD class="def alt0" p="1.12.140" id=2_1_2><INPUT xid=2_1_2 TYPE=hidden NAME=1.12.14.v_2_1_2 VALUE="t-fpgas">t-fpgas</TD>
367
+ <TD class="def alt0" p="1.12.140" id=2_1_3><INPUT xid=2_1_3 TYPE=hidden NAME=1.12.14.v_2_1_3 VALUE="Static">Static</TD>
368
+ <TD class="def alt0" p="1.12.140" id=2_1_6><INPUT xid=2_1_6 TYPE=hidden NAME=1.12.14.v_2_1_6 DISABLED VALUE="Disable">Disable</TD>
369
+ <TD style="display:none" class="def alt0" p="1.12.140" id=2_1_5><INPUT xid=2_1_5 TYPE=hidden NAME=1.12.14.v_2_1_5 DISABLED VALUE="Static"></TD>
370
+ <TD style="display:none" class="def alt0" p="1.12.140" id=2_1_4><INPUT xid=2_1_4 TYPE=hidden NAME=1.12.14.v_2_1_4 VALUE="Add"></TD>
371
+ </TR>
372
+
373
+
374
+
375
+ <TR p="1.13.140" id=2_1>
376
+ <!-- gecb.VTableRow start -->
377
+ <td id="2_1_null" p="1.13.140" class="def alt1 geRight">
378
+ <INPUT id="2_1_null" type="checkbox" name="1.13.14.gecb302" xgc ></td>
379
+ <!-- gecb.VTableRow end -->
380
+ <TD class="def alt1 firstCol" p="1.13.140" id=2_1_1><INPUT xid=2_1_1 TYPE=hidden NAME=1.13.14.v_2_1_1 VALUE="141">141</TD>
381
+ <TD class="def alt1" p="1.13.140" id=2_1_2><INPUT xid=2_1_2 TYPE=hidden NAME=1.13.14.v_2_1_2 VALUE="t-sm">t-sm</TD>
382
+ <TD class="def alt1" p="1.13.140" id=2_1_3><INPUT xid=2_1_3 TYPE=hidden NAME=1.13.14.v_2_1_3 VALUE="Static">Static</TD>
383
+ <TD class="def alt1" p="1.13.140" id=2_1_6><INPUT xid=2_1_6 TYPE=hidden NAME=1.13.14.v_2_1_6 DISABLED VALUE="Disable">Disable</TD>
384
+ <TD style="display:none" class="def alt1" p="1.13.140" id=2_1_5><INPUT xid=2_1_5 TYPE=hidden NAME=1.13.14.v_2_1_5 DISABLED VALUE="Static"></TD>
385
+ <TD style="display:none" class="def alt1" p="1.13.140" id=2_1_4><INPUT xid=2_1_4 TYPE=hidden NAME=1.13.14.v_2_1_4 VALUE="Add"></TD>
386
+ </TR>
387
+
388
+
389
+
390
+ </tbody></table></td></tr>
391
+ <!-- USR_FTL_DBG: repeat_end -->
392
+ </tbody></table></td>
393
+ <td class="xuiSubSectionBodyDotRight">&nbsp;</td>
394
+ </tr>
395
+ <tr><td class="xuiSubSectionBottom" colspan="3">&nbsp;</td></tr>
396
+ <tr><td class="xuiSpacerHeight15"/></tr>
397
+ </tbody></table></td>
398
+ </tr>
399
+ <!-- USR_FTL_DBG: group_common_end 1 1 -->
400
+
401
+
402
+
403
+
404
+ <!-- redirection elements -->
405
+ <INPUT TYPE="hidden" NAME="submit_flag" XC=hidden VALUE="0">
406
+ <INPUT TYPE="hidden" NAME="submit_target" XC=hidden VALUE="vlanConfiguration.html">
407
+ <INPUT TYPE="hidden" NAME="err_flag" XC=hidden SIZE="16" MAXLENGTH="15" VALUE="0">
408
+ <INPUT TYPE="hidden" NAME="err_msg" XC=hidden SIZE="80" MAXLENGTH="79" VALUE="">
409
+ <INPUT TYPE="hidden" NAME="clazz_information" XC=hidden VALUE="vlanConfiguration.html">
410
+ </tbody></table></div>
411
+ <!-- USR_FTL_DBG: form_end -->
412
+ <!-- USR_FTL_DBG: page_buttons_start -->
413
+ <div id="xuiButtonsDiv"><table align="right" class="xuiRightHAlign"><tr>
414
+
415
+
416
+
417
+
418
+
419
+
420
+
421
+
422
+
423
+ <TD id=6_1_1><INPUT xid=6_1_1 DISABLED TYPE=hidden NAME=v_6_1_1 VALUE="ADD"></TD>
424
+
425
+
426
+ <TD id=6_1_2><INPUT xid=6_1_2 DISABLED TYPE=hidden NAME=v_6_1_2 VALUE="DELETE"></TD>
427
+
428
+
429
+
430
+ <TD id=6_1_3><INPUT xid=6_1_3 DISABLED TYPE=hidden NAME=v_6_1_3 VALUE="CANCEL"></TD>
431
+
432
+
433
+ <TD id=6_1_5><INPUT xid=6_1_5 DISABLED TYPE=hidden NAME=v_6_1_5 VALUE="APPLY"></TD>
434
+
435
+
436
+ <TD id=6_1_4><INPUT xid=6_1_4 DISABLED TYPE=hidden NAME=v_6_1_4 VALUE="APPLY"></TD>
437
+
438
+ </tr></table></div>
439
+ <!-- USR_FTL_DBG: page_buttons_end -->
440
+ <script type="text/javascript" >
441
+
442
+
443
+
444
+
445
+
446
+
447
+
448
+
449
+
450
+
451
+
452
+
453
+
454
+ xeValData.xv_4_1_1_842 = "Error: Value ($$objValue$$) is out of range for '$$objName$$'. The valid range is 1 to 4093.";
455
+ xeValData.xv_4_1_1_842 = "Error: Value ($$objValue$$) is out of range for '$$objName$$'. The valid range is 1 to 4093.";
456
+ xeValData.xv_4_1_1_630 = "Error: Unable to set '$$objName$$' with '$$objValue$$'. The format is invalid.";
457
+ xeData.min_4_1_1 = "1";
458
+ xeData.max_4_1_1 = "4093";
459
+ xeData.minnls_4_1_1 = 842;
460
+ xeData.maxnls_4_1_1 = 842;
461
+
462
+
463
+
464
+ xeValData.xv_g_2_1_1_732 = "Error! Value $$objValue$$ is out of range for $$objName$$. The valid range is 1 to 4093.";
465
+ xeValData.xv_g_2_1_2_631 = "Error! Invalid String:Unable to set '$$objName$$' with '$$objValue$$'.";
466
+ xeValData.xv_g_2_1_2_722 = "Error! $$objName$$: Invalid Name string. Name string may include alphabetic, numeric, dash, blank-space or underscore characters only. Size of the name string must be less than or equal to 32 characters.";
467
+
468
+
469
+
470
+
471
+ var global_repeats = new Array();
472
+ </script>
473
+ </DIV>
474
+ </FORM>
475
+
476
+ </BODY>
477
+ </HTML>
478
+