python-netgear-switch-library 0.0.post356__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.post356 → python_netgear_switch_library-0.0.post357}/PKG-INFO +1 -1
  2. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/superpowers/specs/2026-08-02-snmp-surface-findings.md +31 -0
  3. {python_netgear_switch_library-0.0.post356 → 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.post356 → python_netgear_switch_library-0.0.post357}/.github/workflows/ci.yml +0 -0
  6. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/.github/workflows/deb.yml +0 -0
  7. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/.github/workflows/publish-pypi.yml +0 -0
  8. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/.gitignore +0 -0
  9. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/.readthedocs.yaml +0 -0
  10. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/CLAUDE.md +0 -0
  11. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/LICENSE +0 -0
  12. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/README.md +0 -0
  13. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/RELEASING.md +0 -0
  14. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/debian/changelog +0 -0
  15. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/debian/control +0 -0
  16. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/debian/copyright +0 -0
  17. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/debian/rules +0 -0
  18. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/debian/source/format +0 -0
  19. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/Makefile +0 -0
  20. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/_ext/filelinks.py +0 -0
  21. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/_ext/support_tables.py +0 -0
  22. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/_static/models/gs105pe.png +0 -0
  23. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/_static/models/gs110emx.png +0 -0
  24. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/_static/models/gs305ep.png +0 -0
  25. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/_static/models/gs728tpp.png +0 -0
  26. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/_static/models/gsm7228ps.jpg +0 -0
  27. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/_static/models/gsm7252ps.jpg +0 -0
  28. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/_static/models/m4300-16x.png +0 -0
  29. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/_static/models/m4300-24x.png +0 -0
  30. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/_static/ngsw.css +0 -0
  31. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/api/cli.rst +0 -0
  32. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/api/core.rst +0 -0
  33. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/api/facades.rst +0 -0
  34. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/api/index.rst +0 -0
  35. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/api/mcp.rst +0 -0
  36. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/api/operations.rst +0 -0
  37. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/api/protocols.rst +0 -0
  38. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/api/transport.rst +0 -0
  39. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/api/virtual.rst +0 -0
  40. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/cli.rst +0 -0
  41. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/conf.py +0 -0
  42. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/development.rst +0 -0
  43. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/fake/index.rst +0 -0
  44. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/fake/internals.rst +0 -0
  45. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/fake/serving.rst +0 -0
  46. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/fake/testing.rst +0 -0
  47. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/guide/concepts.rst +0 -0
  48. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/guide/configuration.rst +0 -0
  49. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/guide/installation.rst +0 -0
  50. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/guide/principles.rst +0 -0
  51. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/guide/quickstart.rst +0 -0
  52. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/guide/reading.rst +0 -0
  53. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/guide/writing.rst +0 -0
  54. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/index.rst +0 -0
  55. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/mcp.rst +0 -0
  56. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/models/gs105pe.rst +0 -0
  57. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/models/gs110emx.rst +0 -0
  58. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/models/gs305ep.rst +0 -0
  59. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/models/gs728tpp.rst +0 -0
  60. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/models/gsm7228ps.rst +0 -0
  61. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/models/gsm7252ps.rst +0 -0
  62. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/models/index.rst +0 -0
  63. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/models/m4300-16x.rst +0 -0
  64. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/models/m4300-24x.rst +0 -0
  65. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/models/support.rst +0 -0
  66. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/protocols/cli.rst +0 -0
  67. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/protocols/http/cheetah-form.rst +0 -0
  68. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/protocols/http/cheetah-v1.rst +0 -0
  69. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/protocols/http/gambit.rst +0 -0
  70. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/protocols/http/merge-hash-cgi.rst +0 -0
  71. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/protocols/http/xml-api.rst +0 -0
  72. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/protocols/http.rst +0 -0
  73. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/protocols/index.rst +0 -0
  74. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/protocols/nsdp.rst +0 -0
  75. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/protocols/snmp.rst +0 -0
  76. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/docs/superpowers/plans/2026-07-15-foundation.md +0 -0
  77. {python_netgear_switch_library-0.0.post356 → 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.post356 → 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.post356 → 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.post356 → 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.post356 → 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.post356 → 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.post356 → 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.post356 → 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.post356 → 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.post356 → 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.post356 → python_netgear_switch_library-0.0.post357}/packaging/apt-index.html +0 -0
  88. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/packaging/ci-build.sh +0 -0
  89. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/packaging/deb-version.py +0 -0
  90. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/pyproject.toml +0 -0
  91. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/__init__.py +0 -0
  92. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/_dispatch.py +0 -0
  93. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/aio_api.py +0 -0
  94. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/capabilities.py +0 -0
  95. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/cli/__init__.py +0 -0
  96. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/cli/capture.py +0 -0
  97. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/cli/context.py +0 -0
  98. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/cli/format.py +0 -0
  99. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/cli/main.py +0 -0
  100. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/cli/resolve.py +0 -0
  101. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/cli/safety.py +0 -0
  102. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/cli_read.py +0 -0
  103. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/cli_write.py +0 -0
  104. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/config.py +0 -0
  105. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/errors.py +0 -0
  106. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/http_read.py +0 -0
  107. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/http_write.py +0 -0
  108. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/mcp/__init__.py +0 -0
  109. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/mcp/server.py +0 -0
  110. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/models.py +0 -0
  111. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/nsdp_read.py +0 -0
  112. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/nsdp_write.py +0 -0
  113. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/__init__.py +0 -0
  114. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/cli/__init__.py +0 -0
  115. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/cli/commands.py +0 -0
  116. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/cli/parse.py +0 -0
  117. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/http/__init__.py +0 -0
  118. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/http/crypt.py +0 -0
  119. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/http/endpoints.py +0 -0
  120. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/http/forms.py +0 -0
  121. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/http/parse.py +0 -0
  122. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/http/session.py +0 -0
  123. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/http/types.py +0 -0
  124. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/nsdp/__init__.py +0 -0
  125. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/nsdp/auth.py +0 -0
  126. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/nsdp/client.py +0 -0
  127. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/nsdp/parsers.py +0 -0
  128. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/nsdp/protocol.py +0 -0
  129. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/nsdp/types.py +0 -0
  130. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/nsdp/write.py +0 -0
  131. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/snmp/__init__.py +0 -0
  132. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/snmp/client.py +0 -0
  133. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/snmp/oids.py +0 -0
  134. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/snmp/parse.py +0 -0
  135. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/protocols/snmp/write.py +0 -0
  136. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/py.typed +0 -0
  137. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/registry.py +0 -0
  138. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/snmp_read.py +0 -0
  139. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/snmp_write.py +0 -0
  140. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/sync_api.py +0 -0
  141. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/transport/__init__.py +0 -0
  142. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/transport/aio/__init__.py +0 -0
  143. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/transport/aio/nsdp_udp.py +0 -0
  144. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/transport/aio/snmp_pysnmp.py +0 -0
  145. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/transport/cli/__init__.py +0 -0
  146. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/transport/cli/console.py +0 -0
  147. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/transport/cli/session.py +0 -0
  148. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/transport/cli/ssh.py +0 -0
  149. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/transport/cli/telnet.py +0 -0
  150. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/transport/http/__init__.py +0 -0
  151. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/transport/http/client.py +0 -0
  152. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/transport/sync/__init__.py +0 -0
  153. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/transport/sync/nsdp_udp.py +0 -0
  154. {python_netgear_switch_library-0.0.post356 → 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.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/__init__.py +0 -0
  156. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/cli_fastpath.py +0 -0
  157. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/faces/__init__.py +0 -0
  158. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/faces/cli.py +0 -0
  159. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/faces/http.py +0 -0
  160. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/faces/mibview.py +0 -0
  161. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/faces/nsdp.py +0 -0
  162. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/faces/snmp.py +0 -0
  163. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/seed.py +0 -0
  164. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/server.py +0 -0
  165. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/state.py +0 -0
  166. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/web.py +0 -0
  167. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/web_fastpath_vlan.py +0 -0
  168. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/web_fastpath_xui.py +0 -0
  169. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/web_gs105pe.py +0 -0
  170. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/web_gs110emx.py +0 -0
  171. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/web_gs110emx_templates.py +0 -0
  172. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/web_gs728tpp.py +0 -0
  173. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/web_gsm7228ps.py +0 -0
  174. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/web_gsm7252ps.py +0 -0
  175. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/src/netgear_switch/virtual/web_m4300.py +0 -0
  176. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/capture_parity.py +0 -0
  177. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/cli/test_capture.py +0 -0
  178. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/cli/test_cli_integration.py +0 -0
  179. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/cli/test_control_poe_port.py +0 -0
  180. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/cli/test_control_vlan_ip.py +0 -0
  181. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/cli/test_format.py +0 -0
  182. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/cli/test_main_framework.py +0 -0
  183. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/cli/test_new_commands.py +0 -0
  184. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/cli/test_op_coverage.py +0 -0
  185. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/cli/test_prompt_wiring.py +0 -0
  186. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/cli/test_read_commands.py +0 -0
  187. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/cli/test_resolve.py +0 -0
  188. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/cli/test_safety.py +0 -0
  189. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/cli/test_serve.py +0 -0
  190. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/conftest.py +0 -0
  191. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/equivalence.py +0 -0
  192. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/captures/gsm7228ps.json +0 -0
  193. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/captures/gsm7252ps.json +0 -0
  194. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/captures/m4300-16x.json +0 -0
  195. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/captures/m4300-24x.json +0 -0
  196. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7228ps_environment.txt +0 -0
  197. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7228ps_lldp.txt +0 -0
  198. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7228ps_mac_table.txt +0 -0
  199. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7228ps_network.txt +0 -0
  200. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7228ps_poe.txt +0 -0
  201. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7228ps_port_all.txt +0 -0
  202. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7228ps_show_version.txt +0 -0
  203. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7228ps_vlan.txt +0 -0
  204. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7228ps_vlan_brief.txt +0 -0
  205. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7228ps_vlan_port_all.txt +0 -0
  206. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7252ps_show_environment.txt +0 -0
  207. {python_netgear_switch_library-0.0.post356 → 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.post356 → 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.post356 → 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.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7252ps_show_network.txt +0 -0
  211. {python_netgear_switch_library-0.0.post356 → 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.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7252ps_show_port_all.txt +0 -0
  213. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7252ps_show_version.txt +0 -0
  214. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7252ps_show_vlan_90.txt +0 -0
  215. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/gsm7252ps_show_vlan_brief.txt +0 -0
  216. {python_netgear_switch_library-0.0.post356 → 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.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/m4300_16x_show_environment.txt +0 -0
  218. {python_netgear_switch_library-0.0.post356 → 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.post356 → 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.post356 → 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.post356 → 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.post356 → 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.post356 → 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.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/m4300_16x_show_version.txt +0 -0
  225. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/m4300_16x_show_vlan.txt +0 -0
  226. {python_netgear_switch_library-0.0.post356 → 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.post356 → 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.post356 → 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.post356 → 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.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/m4300_24x_show_environment.txt +0 -0
  231. {python_netgear_switch_library-0.0.post356 → 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.post356 → 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.post356 → 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.post356 → 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.post356 → 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.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/m4300_24x_show_version.txt +0 -0
  237. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/cli/m4300_24x_show_vlan.txt +0 -0
  238. {python_netgear_switch_library-0.0.post356 → 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.post356 → 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.post356 → 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.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs105pe_membership.html +0 -0
  242. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs105pe_portstats.html +0 -0
  243. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs105pe_pvid.html +0 -0
  244. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs105pe_status.html +0 -0
  245. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs105pe_switch_info.html +0 -0
  246. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs105pe_vlancfg.html +0 -0
  247. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs110emx_cf8021q.html +0 -0
  248. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs110emx_interface_stats.html +0 -0
  249. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs110emx_login.html +0 -0
  250. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs110emx_port_settings.html +0 -0
  251. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs110emx_pvid.html +0 -0
  252. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs110emx_redirect.html +0 -0
  253. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs110emx_sysinfo.html +0 -0
  254. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs110emx_vlanmembership.html +0 -0
  255. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs305ep_dashboard.html +0 -0
  256. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs305ep_login.html +0 -0
  257. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs305ep_membership.html +0 -0
  258. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs305ep_poestatus.html +0 -0
  259. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs305ep_portstats.html +0 -0
  260. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs305ep_pvid.html +0 -0
  261. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs305ep_vlancfg.html +0 -0
  262. {python_netgear_switch_library-0.0.post356 → 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.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs728tpp_lldp.xml +0 -0
  264. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs728tpp_macs.xml +0 -0
  265. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs728tpp_mgmt_ip.xml +0 -0
  266. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs728tpp_poe.xml +0 -0
  267. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs728tpp_ports.xml +0 -0
  268. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs728tpp_pvids_membership.xml +0 -0
  269. {python_netgear_switch_library-0.0.post356 → 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.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gs728tpp_vlans.xml +0 -0
  271. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7228ps_basicAddressTable.html +0 -0
  272. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7228ps_ipConfiguration.html +0 -0
  273. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7228ps_lldpRemoteInventory.html +0 -0
  274. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7228ps_poeInterfaceConfiguration.html +0 -0
  275. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7228ps_portPvidConfiguration.html +0 -0
  276. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7228ps_portStatistics.html +0 -0
  277. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7228ps_portsConfiguration.html +0 -0
  278. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7228ps_sysInfo.html +0 -0
  279. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7228ps_vlanPortCfg_vlan5.html +0 -0
  280. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7228ps_vlanStatus.html +0 -0
  281. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_basicAddressTable.html +0 -0
  282. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_http_configuration.html +0 -0
  283. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_ipConfiguration.html +0 -0
  284. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_lldpRemoteInventory.html +0 -0
  285. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_login.html +0 -0
  286. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_poeInterfaceConfiguration.html +0 -0
  287. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_portPvidConfiguration.html +0 -0
  288. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_portStatistics.html +0 -0
  289. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_portsConfiguration.html +0 -0
  290. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_sysInfo.html +0 -0
  291. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_syslog_configuration.html +0 -0
  292. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_user_configuration.html +0 -0
  293. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_vlanPortCfg_vlan1.html +0 -0
  294. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_vlanPortCfg_vlan141.html +0 -0
  295. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_vlanStatus.html +0 -0
  296. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/gsm7252ps_vlan_status_live.html +0 -0
  297. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/m4300_16x_lldpRemoteInventory.html +0 -0
  298. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/m4300_16x_mgmtVlanIpv4Configuration.html +0 -0
  299. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/m4300_16x_poeInterfaceConfiguration.html +0 -0
  300. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/m4300_16x_portsConfiguration.html +0 -0
  301. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/m4300_16x_vlanportcfg_vlan4.html +0 -0
  302. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/m4300_24x_poeInterfaceConfiguration.html +0 -0
  303. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/m4300_addresstable.html +0 -0
  304. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/m4300_lldpRemoteInventory.html +0 -0
  305. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/m4300_mgmtVlanIpv4Configuration.html +0 -0
  306. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/m4300_ports.html +0 -0
  307. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/m4300_portstats.html +0 -0
  308. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/m4300_pvid.html +0 -0
  309. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/m4300_sysinfo.html +0 -0
  310. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/m4300_vlanportcfg_vlan1.html +0 -0
  311. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/http/m4300_vlanstatus.html +0 -0
  312. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/snmp/gsm7252ps_fans.txt +0 -0
  313. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/snmp/gsm7252ps_ifhighspeed.txt +0 -0
  314. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/snmp/gsm7252ps_ifoperstatus.txt +0 -0
  315. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/fixtures/snmp/gsm7252ps_psu.txt +0 -0
  316. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/http_specs.py +0 -0
  317. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/protocols/cli/test_cli_parse.py +0 -0
  318. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/protocols/http/test_crypt.py +0 -0
  319. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/protocols/http/test_endpoints.py +0 -0
  320. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/protocols/http/test_forms.py +0 -0
  321. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/protocols/http/test_parse.py +0 -0
  322. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/protocols/nsdp/test_auth.py +0 -0
  323. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/protocols/nsdp/test_parsers.py +0 -0
  324. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/protocols/nsdp/test_protocol.py +0 -0
  325. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/protocols/nsdp/test_write_frame.py +0 -0
  326. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/protocols/snmp/test_client.py +0 -0
  327. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/protocols/snmp/test_oids.py +0 -0
  328. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/protocols/snmp/test_parse_lldp_macs.py +0 -0
  329. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/protocols/snmp/test_parse_mgmt_ip.py +0 -0
  330. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/protocols/snmp/test_parse_poe_sensors.py +0 -0
  331. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/protocols/snmp/test_parse_ports.py +0 -0
  332. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/protocols/snmp/test_parse_system_info.py +0 -0
  333. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/protocols/snmp/test_parse_vlans.py +0 -0
  334. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/protocols/snmp/test_write_encode.py +0 -0
  335. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_aio_api.py +0 -0
  336. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_capabilities.py +0 -0
  337. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_cli_read.py +0 -0
  338. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_cli_vlan_write.py +0 -0
  339. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_cli_write.py +0 -0
  340. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_config.py +0 -0
  341. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_cross_backend_equivalence.py +0 -0
  342. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_deb_version.py +0 -0
  343. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_dispatch.py +0 -0
  344. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_docs_coverage.py +0 -0
  345. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_errors.py +0 -0
  346. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_facade_equivalence.py +0 -0
  347. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_http_dispatch.py +0 -0
  348. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_http_equivalence.py +0 -0
  349. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_http_read.py +0 -0
  350. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_http_vlan_membership.py +0 -0
  351. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_http_write.py +0 -0
  352. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_http_xui_writes.py +0 -0
  353. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_import.py +0 -0
  354. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_mcp_server.py +0 -0
  355. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_models.py +0 -0
  356. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_models_snmp_read.py +0 -0
  357. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_nsdp_integration.py +0 -0
  358. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_nsdp_read.py +0 -0
  359. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_nsdp_write.py +0 -0
  360. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_public_api.py +0 -0
  361. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_quality_gates.py +0 -0
  362. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_registry.py +0 -0
  363. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_snmp_integration.py +0 -0
  364. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_snmp_read.py +0 -0
  365. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_snmp_write.py +0 -0
  366. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_sync_api.py +0 -0
  367. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_version.py +0 -0
  368. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/test_write_equivalence.py +0 -0
  369. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/transport/_fastpath_fake.py +0 -0
  370. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/transport/test_cli_console.py +0 -0
  371. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/transport/test_cli_scp_cert.py +0 -0
  372. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/transport/test_cli_telnet.py +0 -0
  373. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/transport/test_http_client.py +0 -0
  374. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/transport/test_nsdp_udp_sync.py +0 -0
  375. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/transport/test_set_transport.py +0 -0
  376. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/transport/test_snmp_netsnmp_cli.py +0 -0
  377. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/transport/test_snmp_pysnmp.py +0 -0
  378. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/transport/test_value_parity.py +0 -0
  379. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_cli_cross_backend.py +0 -0
  380. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_cli_gsm7228ps_parity.py +0 -0
  381. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_gsm7228ps_seed.py +0 -0
  382. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_hostname.py +0 -0
  383. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_m4300_seeds.py +0 -0
  384. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_mibview.py +0 -0
  385. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_mutable_state.py +0 -0
  386. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_nsdp_state.py +0 -0
  387. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_serve_daemon.py +0 -0
  388. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_snmp_write_face.py +0 -0
  389. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_state_seed.py +0 -0
  390. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_switchport_vlan_write.py +0 -0
  391. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_syslog_fidelity.py +0 -0
  392. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_virtual_http_face.py +0 -0
  393. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_virtual_nsdp_face.py +0 -0
  394. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_virtual_snmp_face.py +0 -0
  395. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_web_projection.py +0 -0
  396. {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post357}/tests/virtual/test_write_outcomes.py +0 -0
  397. {python_netgear_switch_library-0.0.post356 → 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.post356
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
@@ -376,3 +376,34 @@ alongside `_xui_poe_admin`, modelled on the same two-`FORM` `submit_flag` post,
376
376
  then remove the `_CSRF_HTTP_WRITES` entry entirely so the table can say
377
377
  "supported" truthfully. Until that lands, the xfail in
378
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.post356'
22
- __version_tuple__ = version_tuple = (0, 0, 'post356')
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
+