YueGuobin
|
d2e9823e6c
|
feat: implement traffic insight marker backend (ubridge mark filter)
Add compute-side marker subsystem that receives ubridge UDP MARK signals
and forwards them as project-scoped notifications to the web UI for
real-time traffic coloring. Matched packets are always saved to per-link
pcaps for future replay.
Key components:
- gns3server/compute/marker/: MarkerManager (singleton, UDP listener +
O(1) registry keyed by (node_id, filter_name)) + MarkerListener
(DatagramProtocol parsing MARK lines per ubridge integration contract)
- gns3server/compute/base_node.py: marker sink/node config at ubridge
startup; shared _ubridge_add_marker_filter / _ubridge_delete_marker_filter
- Per-node start_marker/stop_marker: VPCS (VPCS-{id}), QEMU
(QEMU-{id}-{adapter}), Docker (bridge{adapter})
- Compute REST /markers/start + /markers/stop (vpcs/qemu/docker route files)
- Controller Link._markers state + UDPLink.start_marker/stop_marker/
update_marker (mirror capture pattern: BPF validation, _choose_capture_side,
node.post forwarding, topology persistence)
- Controller REST GET/POST/DELETE/PUT /v3/projects/{p}/links/{l}/markers
- Config: marker_listen_host / marker_listen_port in ServerSettings
- Signal routing: creation-time registry O(1) lookup, no node-table scan;
project-scoped WS stream (not global); event payload always carries
project_id for frontend scoping
Tests: 14 unit tests (registry, listener parsing, UDP round-trip);
562 existing tests pass with zero regressions.
|
2026-07-16 00:39:51 +08:00 |
|
grossmj
|
6e7738a14f
|
Return 405 error for unsupported actions for other node types
|
2026-03-15 22:38:51 +08:00 |
|
grossmj
|
5e3ca29c58
|
Fix updating packet filters
|
2026-02-21 21:42:22 +08:00 |
|
grossmj
|
a00f53fbaa
|
Fix error 500 on PUT for cloud, nat, vmware and vpcs nodes. Fixes #2426
|
2024-11-19 12:21:35 +10:00 |
|
grossmj
|
44c066ac68
|
Fix compute authentication for websocket endpoints
|
2023-10-22 12:44:39 +10:00 |
|
grossmj
|
9462bca124
|
Remove explicit Response for VPCS endpoints returning HTTP 204 status code
|
2022-07-16 00:14:31 +02:00 |
|
grossmj
|
ce55ec73a4
|
Fix exception with endpoints returning HTTP status code 204. Fixes #1891
|
2021-08-10 21:53:21 +09:30 |
|
grossmj
|
9404c00411
|
Complete type annotations for API endpoints.
|
2021-04-18 15:40:38 +09:30 |
|
grossmj
|
cefab8d362
|
Rename __json__() to asdict()
|
2021-04-17 23:34:28 +09:30 |
|
grossmj
|
c021e21309
|
Use black with -l 120 param.
|
2021-04-13 18:46:50 +09:30 |
|
grossmj
|
f928738bd5
|
Use pyupgrade with --py36-plus param.
|
2021-04-13 18:37:58 +09:30 |
|
grossmj
|
a9eb035b7d
|
Move error responses to API routers.
|
2021-04-13 16:19:56 +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 |
|