YueGuobin
fd4ac4460d
feat: migrate builtin EthernetSwitch from Dynamips ethsw to ubridge brctl
...
Replace the builtin EthernetSwitch stub with a Linux kernel bridge backed
by uBridge's brctl module. Each switch node creates one kernel bridge
(gns3br{N}) with VLAN filtering; each port is a persistent TAP enslaved to
the bridge, relayed by a per-port uBridge bridge (nio_tap <-> nio_udp).
- Access/dot1q/qinq port modes translated to brctl vlan primitives
- Compute router repointed from Dynamips to Builtin manager
- Tests updated: 21 router-level tests + 215 surrounding tests pass
- Real-kernel e2e verified: access 100 PVID untagged, dot1q trunk
VIDs 1-4094 + native 1, qinq 802.1ad proto + 200 PVID
Ethertype 0x9100/0x9200 handling and port-count guard relaxation are
deferred pending resolution.
2026-07-18 00:21:19 +08:00
Jeremy Grossmann
632b3daab7
Merge pull request #2635 from yueguobin/fix/iou-suspend-405
...
fix(iou): return 405 error for unsupported suspend operation
2026-03-15 22:47:42 +08:00
grossmj
6e7738a14f
Return 405 error for unsupported actions for other node types
2026-03-15 22:38:51 +08:00
Mr.GIitch
302878b391
Merge branch 'GNS3:3.0' into 3.0
2026-03-12 14:44:43 +01:00
grossmj
3abecc8492
Fix IOU tests
2026-03-12 14:18:35 +08:00
UmmmAGoodName
4a45a68703
Changed errors to new type, was causing warnings
2026-03-11 18:48:36 +01:00
grossmj
8b245c96f8
Qemu VMs: only compute MD5 checksums for existing disks
2026-03-04 18:54:52 +08:00
Mark Paronyan
c48c89d309
tests(compute): test compute works with disabled auth
2026-03-03 00:30:00 +03:00
grossmj
5e3ca29c58
Fix updating packet filters
2026-02-21 21:42:22 +08:00
grossmj
ba4e0c945d
Refactor tests and upgrade dev package requirements
2025-01-17 19:12:44 +10:00
grossmj
b7d43b29cd
Fix tests after merging
2024-12-02 13:02:08 +10:00
grossmj
cbaa563996
Merge branch '2.2' into 3.0
...
# Conflicts:
# CHANGELOG
# gns3server/crash_report.py
# gns3server/static/web-ui/index.html
# gns3server/static/web-ui/main.9297104511b6616fc55c.js
# gns3server/utils/images.py
# gns3server/version.py
# tests/api/routes/compute/test_dynamips_nodes.py
# tests/handlers/api/compute/test_qemu.py
# tests/utils/test_images.py
2024-12-02 12:16:34 +10:00
grossmj
d3860ba84b
Merge branch '2.2' into 3.0
...
# Conflicts:
# CHANGELOG
# dev-requirements.txt
# gns3server/compute/qemu/__init__.py
# gns3server/compute/vmware/__init__.py
# gns3server/controller/snapshot.py
# gns3server/crash_report.py
# gns3server/handlers/api/compute/atm_switch_handler.py
# gns3server/run.py
# gns3server/static/web-ui/26.77d4bfd104f37c42e028.js
# gns3server/static/web-ui/index.html
# gns3server/static/web-ui/runtime.415291667f70565cd8ef.js
# gns3server/utils/__init__.py
# gns3server/utils/images.py
# gns3server/utils/interfaces.py
# gns3server/version.py
# gns3server/web/web_server.py
# pytest.ini
# requirements.txt
# scripts/update-bundled-web-ui.sh
# setup.py
# tests/api/routes/compute/test_dynamips_nodes.py
# tests/compute/builtin/nodes/test_cloud.py
# tests/compute/docker/test_docker.py
# tests/compute/docker/test_docker_vm.py
# tests/compute/dynamips/test_dynamips_manager.py
# tests/compute/dynamips/test_dynamips_router.py
# tests/compute/iou/test_iou_vm.py
# tests/compute/qemu/test_qcow2.py
# tests/compute/qemu/test_qemu_manager.py
# tests/compute/qemu/test_qemu_vm.py
# tests/compute/test_base_node.py
# tests/compute/test_manager.py
# tests/compute/test_project.py
# tests/compute/traceng/test_traceng_vm.py
# tests/compute/virtualbox/test_virtualbox_manager.py
# tests/compute/virtualbox/test_virtualbox_vm.py
# tests/compute/vmware/test_vmware_manager.py
# tests/compute/vmware/test_vmware_vm.py
# tests/compute/vpcs/test_vpcs_vm.py
# tests/conftest.py
# tests/controller/gns3vm/test_remote_gns3_vm.py
# tests/controller/gns3vm/test_virtualbox_gns3_vm.py
# tests/controller/gns3vm/test_vmware_gns3_vm.py
# tests/controller/test_export_project.py
# tests/controller/test_gns3vm.py
# tests/controller/test_import_project.py
# tests/test_config.py
# tests/utils/test_asyncio.py
# tests/utils/test_images.py
# tests/web/test_response.py
2024-05-16 17:53:39 +07:00
grossmj
427bbc40b9
Fix websocket authentication after upgrade to FastAPI 0.97.0 + tests
2023-06-24 14:55:43 +09:30
grossmj
17e0b2e259
Stricter checks to create/update an Ethernet switch and add tests
2022-12-24 08:20:51 +08:00
grossmj
86c44cd6e7
Upgrade dev dependencies and fix tests to support pytest-asyncio strict mode
2022-08-24 21:03:16 +02:00
grossmj
80f5ca0c3f
Checks for valid hostname on server side for Dynamips, IOU, Qemu and Docker nodes
2022-07-17 11:51:29 +02:00
grossmj
2535e5508d
Remove Qemu binary requirement
2022-04-19 18:21:39 +07:00
grossmj
e50bed5bee
Support delete Qemu disk image from API
...
Return the real disk image name in the 'hdx_disk_image_backed' property for Qemu VMs
2022-04-14 17:01:54 +07:00
grossmj
fda2a37b98
Handle creating Qemu disk images and resizing
2022-04-07 16:21:47 +08:00
grossmj
900d4f79ee
"Local" command line parameter is only for stopping
...
a server that has been started by the desktop GUI
2022-03-30 18:38:34 +08:00
grossmj
74c675d5b0
Drop Windows support
2022-01-19 22:28:36 +10:30
grossmj
38388f7ae5
Secure controller to compute communication using HTTP basic authentication
2021-11-18 18:37:10 +10:30
grossmj
bb15b13a9d
Return the current controller hostname/IP from any compute
2021-10-21 21:38:36 +10:30
grossmj
2bf16f1e5f
Change method to prevent forbidden directory traversal. Ref #1894
2021-05-16 14:29:56 +09:30
grossmj
f3d81fa450
Clean files and catch file path escape. Ref #1894
2021-05-15 22:35:44 +09:30
grossmj
6b8ce8219c
Fix tests.
2021-04-15 18:30:22 +09:30
grossmj
c59fc375f2
Remove traceng code.
2021-04-13 19:03:23 +09:30
grossmj
1b5a5de4bc
Generate new config for each test. Fixes tests.
2021-04-12 19:37:59 +09:30
grossmj
30ebae207f
Use Pydantic to validate the server config file.
2021-04-12 17:02:23 +09:30
grossmj
bf7cf862af
Refactor tests and start work on database integration.
2020-12-02 18:39:08 +10:30
grossmj
c043830e3f
Move endpoints to routes & preparations to use a database.
2020-11-19 15:21:03 +10:30