34 Commits

Author SHA1 Message Date
YueGuobin
7c90fa9e64
fix(marker): ride markers on NIO so they survive node restart and project reload
Mirror the packet-filter lifecycle: marker specs now live on the NIO
(next to filters), ride in link_data from controller to compute on
every NIO create/update, and are reapplied by _ubridge_apply_markers
in add_ubridge_udp_connection (bridge creation / node restart) and
update_ubridge_udp_connection (NIO update — following the preceding
reset_packet_filters so markers survive filter changes).

Changes:
- NIO / NIOUDP: _markers property + asdict
- schemas/compute/nios.py: UDPNIO.markers field
- base_manager.create_nio: nio.markers from settings
- PUT /nio routes (vpcs/qemu/docker): nio.markers update
- base_node: _ubridge_apply_markers(bridge_name, nio) iterates
  nio.markers, computes pcap path, calls _ubridge_add_marker_filter
  + MarkerManager.register; called after _ubridge_apply_filters
- controller udp_link: _get_node_markers + _markers_for_node (route
  by capture_node_id); markers in create() and update() link_data
- /markers/start,stop endpoints: mirror spec onto nio.markers so
  the marker survives a subsequent node stop/start without a PUT
- tests: add markers field to NIO data expectations

This covers:
- Node restart: NIO persists, add_ubridge_udp_connection re-applies
- Filter update: reset wipes markers, _ubridge_apply_markers re-adds
- Project reload: create() carries markers in link_data → create_nio
- Immediate create: endpoint sets nio.markers immediately
2026-07-16 00:39:51 +08:00
YueGuobin
92a0fa6cd7
Fix packet filter validation tests: use correct ubridge filter type names 2026-05-31 00:38:03 +08:00
grossmj
5797de8f2d Fix tests 2021-12-02 19:14:55 +10:30
grossmj
eb3cb8a41f Migration to FastAPI 2020-10-02 16:07:50 +09:30
grossmj
d3ea67da24 Refactor tests
* Use pytest-aiohttp
* Use the async def / await syntax.
* Fix tests to run with Python 3.8
2020-06-16 13:59:03 +09:30
grossmj
2764828f38 Refactor how clients access PCAP capture files. Fixes https://github.com/GNS3/gns3-gui/issues/2438.
* The PCAP file is directly accessed if controller and client are on the same host.
* The PCAP file is streamed from the compute server to the client with the controller as a proxy when the controller is remote for the client.
2018-10-27 14:47:17 +07:00
grossmj
76af98404a Drop Python 3.4 and switch to async / await syntax for asyncio. Fixes #1425 2018-10-15 17:05:49 +07:00
grossmj
279b4d7b20 Fix link filters/suspend tests. 2018-03-19 18:25:56 +07:00
Julien Duponchelle
5fd842e54d
Suspend link 2017-07-19 17:30:25 +02:00
Julien Duponchelle
8a8de1e2df
BPF filter support
Fix https://github.com/GNS3/gns3-gui/issues/765
2017-07-11 17:30:29 +02:00
Julien Duponchelle
08423eff96
Support packet filtering for VPCS
https://github.com/GNS3/gns3-gui/issues/765
2017-07-04 15:12:26 +02:00
Julien Duponchelle
875051d05e
Prevent capture on non running node
Fix https://github.com/GNS3/gns3-gui/issues/1656
2016-11-22 16:05:57 +01:00
Julien Duponchelle
15d190d911
Increase timeout for link creation 2016-11-08 09:54:59 +01:00
Julien Duponchelle
4a5066c2a5
Fix Error while creating link: Port 0 is not allocated. when you have an invalid interface
Fix #744
2016-10-27 19:09:27 +02:00
Julien Duponchelle
99bdf37ec3
Prevent connect a node to himself
Fix https://github.com/GNS3/gns3-gui/issues/1553
2016-10-03 12:31:01 +02:00
Julien Duponchelle
da5e3d0e54
Dissallow serial to ethernet connection
Fix #678
2016-09-15 14:51:40 +02:00
Julien Duponchelle
3ce3f925ae
Fix creation of link when reloading a project
Fix https://github.com/GNS3/gns3-gui/issues/1457
2016-09-02 14:39:38 +02:00
Julien Duponchelle
134fed8fc5
Smart choice of host for UDP link 2016-08-25 19:14:29 +02:00
Julien Duponchelle
9b499dc51e
Export project with the GNS3VM 2016-07-21 20:17:36 +02:00
Julien Duponchelle
bda1812811
Avoid duplicate node name when reloading a project 2016-07-18 19:09:08 +02:00
Julien Duponchelle
91ec61b88d
Check topology schema when loading/saving it
Fix #583
2016-07-11 15:36:52 +02:00
Julien Duponchelle
4c3bfde97e
Fix test suite after VPCS changes for using ubridge 2016-06-23 12:10:18 +02:00
grossmj
2bde02d459 Controller side unique node name allocation. Ref #541. 2016-06-11 17:31:30 -06:00
Julien Duponchelle
54747ee618
Support for link event, fix link not correctly deleted 2016-05-18 18:37:18 +02:00
grossmj
ef7b4ef020 Fixes tests and some PEP8. 2016-05-11 15:19:00 -06:00
grossmj
5a76f81271 Refactoring to use a common node class for all VMs and other (future) objects. 2016-05-11 11:35:36 -06:00
Julien Duponchelle
264254e657
Captures written in the captures directory on the controller 2016-04-26 17:10:33 +02:00
Julien Duponchelle
1ce576c020
Stream pcap from compute to controller to client 2016-04-22 16:22:03 +02:00
Julien Duponchelle
1a22fb9250
Expose the capture status in controller link API 2016-04-21 16:11:42 +02:00
Julien Duponchelle
04a1b2df3b
Method for start / stop capture on a link
Ref https://github.com/GNS3/gns3-gui/issues/1117
2016-04-21 12:14:09 +02:00
Julien Duponchelle
58d4a529d4
Rename hypervisor to compute
Fix #487
2016-04-15 17:59:59 +02:00
Julien Duponchelle
ed291da566
Rebuild doc 2016-03-14 20:37:07 +01:00
Julien Duponchelle
9062490be3
API for deleting a list 2016-03-14 17:40:27 +01:00
Julien Duponchelle
65099b9364
Link API should work now need to implement the client 2016-03-11 20:13:52 +01:00