python-netgear-switch-library 0.0.post356__tar.gz → 0.0.post358__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.
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/PKG-INFO +1 -1
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/superpowers/specs/2026-08-02-snmp-surface-findings.md +65 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/_version.py +2 -2
- python_netgear_switch_library-0.0.post358/tests/fixtures/http/gsm7252ps_vlan_configuration_live.html +478 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/.github/workflows/ci.yml +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/.github/workflows/deb.yml +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/.github/workflows/publish-pypi.yml +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/.gitignore +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/.readthedocs.yaml +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/CLAUDE.md +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/LICENSE +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/README.md +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/RELEASING.md +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/debian/changelog +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/debian/control +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/debian/copyright +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/debian/rules +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/debian/source/format +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/Makefile +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/_ext/filelinks.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/_ext/support_tables.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/_static/models/gs105pe.png +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/_static/models/gs110emx.png +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/_static/models/gs305ep.png +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/_static/models/gs728tpp.png +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/_static/models/gsm7228ps.jpg +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/_static/models/gsm7252ps.jpg +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/_static/models/m4300-16x.png +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/_static/models/m4300-24x.png +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/_static/ngsw.css +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/api/cli.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/api/core.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/api/facades.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/api/index.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/api/mcp.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/api/operations.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/api/protocols.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/api/transport.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/api/virtual.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/cli.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/conf.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/development.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/fake/index.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/fake/internals.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/fake/serving.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/fake/testing.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/guide/concepts.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/guide/configuration.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/guide/installation.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/guide/principles.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/guide/quickstart.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/guide/reading.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/guide/writing.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/index.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/mcp.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/models/gs105pe.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/models/gs110emx.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/models/gs305ep.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/models/gs728tpp.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/models/gsm7228ps.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/models/gsm7252ps.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/models/index.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/models/m4300-16x.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/models/m4300-24x.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/models/support.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/protocols/cli.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/protocols/http/cheetah-form.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/protocols/http/cheetah-v1.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/protocols/http/gambit.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/protocols/http/merge-hash-cgi.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/protocols/http/xml-api.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/protocols/http.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/protocols/index.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/protocols/nsdp.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/protocols/snmp.rst +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/superpowers/plans/2026-07-15-foundation.md +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/superpowers/plans/2026-07-17-slice-02-snmp-read-core.md +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/superpowers/plans/2026-07-17-slice-03-read-apis.md +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/superpowers/plans/2026-07-18-slice-04-snmp-write.md +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/superpowers/plans/2026-07-18-slice-05-nsdp.md +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/superpowers/plans/2026-07-18-slice-06-http.md +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/superpowers/plans/2026-07-18-slice-07-cli.md +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/superpowers/plans/2026-07-18-slice-08-packaging-ci.md +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/superpowers/plans/2026-07-23-gsm7252ps-http-xe-dialect.md +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/superpowers/specs/2026-07-15-netgear-control-library-design.md +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/docs/superpowers/specs/2026-07-23-gsm7252ps-http-xe-dialect-design.md +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/packaging/apt-index.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/packaging/ci-build.sh +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/packaging/deb-version.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/pyproject.toml +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/_dispatch.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/aio_api.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/capabilities.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/cli/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/cli/capture.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/cli/context.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/cli/format.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/cli/main.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/cli/resolve.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/cli/safety.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/cli_read.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/cli_write.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/config.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/errors.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/http_read.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/http_write.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/mcp/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/mcp/server.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/models.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/nsdp_read.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/nsdp_write.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/protocols/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/protocols/cli/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/protocols/cli/commands.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/protocols/cli/parse.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/protocols/http/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/protocols/http/crypt.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/protocols/http/endpoints.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/protocols/http/forms.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/protocols/http/parse.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/protocols/http/session.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/protocols/http/types.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/protocols/nsdp/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/protocols/nsdp/auth.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/protocols/nsdp/client.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/protocols/nsdp/parsers.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/protocols/nsdp/protocol.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/protocols/nsdp/types.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/protocols/nsdp/write.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/protocols/snmp/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/protocols/snmp/client.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/protocols/snmp/oids.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/protocols/snmp/parse.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/protocols/snmp/write.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/py.typed +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/registry.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/snmp_read.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/snmp_write.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/sync_api.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/transport/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/transport/aio/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/transport/aio/nsdp_udp.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/transport/aio/snmp_pysnmp.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/transport/cli/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/transport/cli/console.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/transport/cli/session.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/transport/cli/ssh.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/transport/cli/telnet.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/transport/http/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/transport/http/client.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/transport/sync/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/transport/sync/nsdp_udp.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/transport/sync/snmp_netsnmp_cli.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/virtual/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/virtual/cli_fastpath.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/virtual/faces/__init__.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/virtual/faces/cli.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/virtual/faces/http.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/virtual/faces/mibview.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/virtual/faces/nsdp.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/virtual/faces/snmp.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/virtual/seed.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/virtual/server.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/virtual/state.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/virtual/web.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/virtual/web_fastpath_vlan.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/virtual/web_fastpath_xui.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/virtual/web_gs105pe.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/virtual/web_gs110emx.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/virtual/web_gs110emx_templates.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/virtual/web_gs728tpp.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/virtual/web_gsm7228ps.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/virtual/web_gsm7252ps.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/src/netgear_switch/virtual/web_m4300.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/capture_parity.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/cli/test_capture.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/cli/test_cli_integration.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/cli/test_control_poe_port.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/cli/test_control_vlan_ip.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/cli/test_format.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/cli/test_main_framework.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/cli/test_new_commands.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/cli/test_op_coverage.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/cli/test_prompt_wiring.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/cli/test_read_commands.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/cli/test_resolve.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/cli/test_safety.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/cli/test_serve.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/conftest.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/captures/gsm7228ps.json +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/captures/gsm7252ps.json +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/captures/m4300-16x.json +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/captures/m4300-24x.json +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/gsm7228ps_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/gsm7228ps_lldp.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/gsm7228ps_mac_table.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/gsm7228ps_network.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/gsm7228ps_poe.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/gsm7228ps_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/gsm7228ps_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/gsm7228ps_vlan.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/gsm7228ps_vlan_brief.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/gsm7228ps_vlan_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/gsm7252ps_show_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/gsm7252ps_show_interface_ethernet_1_0_1.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/gsm7252ps_show_lldp_remote_device_all.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/gsm7252ps_show_mac_addr_table.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/gsm7252ps_show_network.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/gsm7252ps_show_poe_port_info_all.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/gsm7252ps_show_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/gsm7252ps_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/gsm7252ps_show_vlan_90.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/gsm7252ps_show_vlan_brief.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/gsm7252ps_show_vlan_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/m4300_16x_show_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/m4300_16x_show_interface_ethernet_1_0_1.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/m4300_16x_show_ip_management.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/m4300_16x_show_lldp_remote_device_all.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/m4300_16x_show_mac_addr_table.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/m4300_16x_show_poe_port_info_all.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/m4300_16x_show_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/m4300_16x_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/m4300_16x_show_vlan.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/m4300_16x_show_vlan_1.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/m4300_16x_show_vlan_4.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/m4300_16x_show_vlan_5.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/m4300_16x_show_vlan_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/m4300_24x_show_environment.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/m4300_24x_show_interface_ethernet_1_0_1.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/m4300_24x_show_ip_management.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/m4300_24x_show_lldp_remote_device_all.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/m4300_24x_show_mac_addr_table.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/m4300_24x_show_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/m4300_24x_show_version.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/m4300_24x_show_vlan.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/m4300_24x_show_vlan_5.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/m4300_24x_show_vlan_90.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/cli/m4300_24x_show_vlan_port_all.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gs105pe_membership.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gs105pe_portstats.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gs105pe_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gs105pe_status.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gs105pe_switch_info.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gs105pe_vlancfg.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gs110emx_cf8021q.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gs110emx_interface_stats.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gs110emx_login.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gs110emx_port_settings.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gs110emx_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gs110emx_redirect.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gs110emx_sysinfo.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gs110emx_vlanmembership.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gs305ep_dashboard.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gs305ep_login.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gs305ep_membership.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gs305ep_poestatus.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gs305ep_portstats.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gs305ep_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gs305ep_vlancfg.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gs728tpp_device_info_and_sensors.xml +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gs728tpp_lldp.xml +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gs728tpp_macs.xml +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gs728tpp_mgmt_ip.xml +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gs728tpp_poe.xml +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gs728tpp_ports.xml +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gs728tpp_pvids_membership.xml +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gs728tpp_vlan_membership_per_vlan.xml +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gs728tpp_vlans.xml +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gsm7228ps_basicAddressTable.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gsm7228ps_ipConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gsm7228ps_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gsm7228ps_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gsm7228ps_portPvidConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gsm7228ps_portStatistics.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gsm7228ps_portsConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gsm7228ps_sysInfo.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gsm7228ps_vlanPortCfg_vlan5.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gsm7228ps_vlanStatus.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gsm7252ps_basicAddressTable.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gsm7252ps_http_configuration.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gsm7252ps_ipConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gsm7252ps_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gsm7252ps_login.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gsm7252ps_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gsm7252ps_portPvidConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gsm7252ps_portStatistics.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gsm7252ps_portsConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gsm7252ps_sysInfo.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gsm7252ps_syslog_configuration.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gsm7252ps_user_configuration.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gsm7252ps_vlanPortCfg_vlan1.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gsm7252ps_vlanPortCfg_vlan141.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gsm7252ps_vlanStatus.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/gsm7252ps_vlan_status_live.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/m4300_16x_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/m4300_16x_mgmtVlanIpv4Configuration.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/m4300_16x_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/m4300_16x_portsConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/m4300_16x_vlanportcfg_vlan4.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/m4300_24x_poeInterfaceConfiguration.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/m4300_addresstable.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/m4300_lldpRemoteInventory.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/m4300_mgmtVlanIpv4Configuration.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/m4300_ports.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/m4300_portstats.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/m4300_pvid.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/m4300_sysinfo.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/m4300_vlanportcfg_vlan1.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/http/m4300_vlanstatus.html +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/snmp/gsm7252ps_fans.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/snmp/gsm7252ps_ifhighspeed.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/snmp/gsm7252ps_ifoperstatus.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/fixtures/snmp/gsm7252ps_psu.txt +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/http_specs.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/protocols/cli/test_cli_parse.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/protocols/http/test_crypt.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/protocols/http/test_endpoints.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/protocols/http/test_forms.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/protocols/http/test_parse.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/protocols/nsdp/test_auth.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/protocols/nsdp/test_parsers.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/protocols/nsdp/test_protocol.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/protocols/nsdp/test_write_frame.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/protocols/snmp/test_client.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/protocols/snmp/test_oids.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/protocols/snmp/test_parse_lldp_macs.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/protocols/snmp/test_parse_mgmt_ip.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/protocols/snmp/test_parse_poe_sensors.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/protocols/snmp/test_parse_ports.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/protocols/snmp/test_parse_system_info.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/protocols/snmp/test_parse_vlans.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/protocols/snmp/test_write_encode.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_aio_api.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_capabilities.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_cli_read.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_cli_vlan_write.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_cli_write.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_config.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_cross_backend_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_deb_version.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_dispatch.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_docs_coverage.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_errors.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_facade_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_http_dispatch.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_http_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_http_read.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_http_vlan_membership.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_http_write.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_http_xui_writes.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_import.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_mcp_server.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_models.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_models_snmp_read.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_nsdp_integration.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_nsdp_read.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_nsdp_write.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_public_api.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_quality_gates.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_registry.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_snmp_integration.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_snmp_read.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_snmp_write.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_sync_api.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_version.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/test_write_equivalence.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/transport/_fastpath_fake.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/transport/test_cli_console.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/transport/test_cli_scp_cert.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/transport/test_cli_telnet.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/transport/test_http_client.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/transport/test_nsdp_udp_sync.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/transport/test_set_transport.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/transport/test_snmp_netsnmp_cli.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/transport/test_snmp_pysnmp.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/transport/test_value_parity.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/virtual/test_cli_cross_backend.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/virtual/test_cli_gsm7228ps_parity.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/virtual/test_gsm7228ps_seed.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/virtual/test_hostname.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/virtual/test_m4300_seeds.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/virtual/test_mibview.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/virtual/test_mutable_state.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/virtual/test_nsdp_state.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/virtual/test_serve_daemon.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/virtual/test_snmp_write_face.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/virtual/test_state_seed.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/virtual/test_switchport_vlan_write.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/virtual/test_syslog_fidelity.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/virtual/test_virtual_http_face.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/virtual/test_virtual_nsdp_face.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/virtual/test_virtual_snmp_face.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/virtual/test_web_projection.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/tests/virtual/test_write_outcomes.py +0 -0
- {python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/uv.lock +0 -0
{python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: python-netgear-switch-library
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.post358
|
|
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,68 @@ 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.
|
|
410
|
+
|
|
411
|
+
|
|
412
|
+
### `/vlanConfiguration.html` field semantics (read off the capture)
|
|
413
|
+
|
|
414
|
+
Correcting the previous note again: `v_2_1_1`..`v_2_1_4` are **row cell fields,
|
|
415
|
+
not action buttons**. From the capture:
|
|
416
|
+
|
|
417
|
+
| Field | Value in row 1 | Meaning |
|
|
418
|
+
|---|---|---|
|
|
419
|
+
| `1.0.14.v_2_1_1` | `1` | VLAN id |
|
|
420
|
+
| `1.0.14.v_2_1_2` | `default` | VLAN name |
|
|
421
|
+
| `1.0.14.v_2_1_3` | `Default` | VLAN type |
|
|
422
|
+
| `1.0.14.v_2_1_4` | `Add` | per-row action, in a `display:none` cell |
|
|
423
|
+
|
|
424
|
+
Two `FORM`s as expected: `/vlanConfiguration.html/a0` and `/a1`.
|
|
425
|
+
|
|
426
|
+
So this is the standard XUI editable-table shape the library already handles for
|
|
427
|
+
PoE (`parse_xui_list_page` + `forms.xui_row_apply_form`), with one difference
|
|
428
|
+
that matters: PoE **edits an existing row**, whereas creating a VLAN means
|
|
429
|
+
**submitting a NEW row** carrying the id, the name and the action cell.
|
|
430
|
+
|
|
431
|
+
`xui_row_apply_form` builds its body from a row the parser found on the page, so
|
|
432
|
+
it cannot express "a row that is not there yet". Creating a VLAN needs a sibling
|
|
433
|
+
builder — an add-row form — rather than a new argument to the existing one.
|
|
434
|
+
|
|
435
|
+
**Not yet established, and deliberately not guessed:** whether the action cell
|
|
436
|
+
takes the literal `Add` for a new row, what a delete row carries in that cell,
|
|
437
|
+
and whether the id/name cells for a new row are indexed `v_2_<n>_<col>` at the
|
|
438
|
+
next free row number or at a fixed "new row" index. Every one of those is
|
|
439
|
+
readable from the page's own JavaScript or from a browser-driven capture of a
|
|
440
|
+
real Add. Until then this stays unimplemented: posting a guessed action to a
|
|
441
|
+
switch's live VLAN table is the one write here that could disrupt production
|
|
442
|
+
VLANs, and the project's rule is that a wrong guess must never be shipped as a
|
|
443
|
+
capability.
|
|
@@ -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.
|
|
22
|
-
__version_tuple__ = version_tuple = (0, 0, '
|
|
21
|
+
__version__ = version = '0.0.post358'
|
|
22
|
+
__version_tuple__ = version_tuple = (0, 0, 'post358')
|
|
23
23
|
|
|
24
24
|
__commit_id__ = commit_id = None
|
python_netgear_switch_library-0.0.post358/tests/fixtures/http/gsm7252ps_vlan_configuration_live.html
ADDED
|
@@ -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"> </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"> </td>
|
|
76
|
+
</tr>
|
|
77
|
+
<tr><td class="xuiSubSectionBottom" colspan="3"> </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"> </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"> </td>
|
|
121
|
+
</tr>
|
|
122
|
+
<tr><td class="xuiSubSectionBottom" colspan="3"> </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"> </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"> </td>
|
|
394
|
+
</tr>
|
|
395
|
+
<tr><td class="xuiSubSectionBottom" colspan="3"> </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
|
+
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/.gitignore
RENAMED
|
File without changes
|
|
File without changes
|
{python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/CLAUDE.md
RENAMED
|
File without changes
|
{python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/LICENSE
RENAMED
|
File without changes
|
{python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/README.md
RENAMED
|
File without changes
|
{python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/RELEASING.md
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{python_netgear_switch_library-0.0.post356 → python_netgear_switch_library-0.0.post358}/debian/rules
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|