feat(controller): expose kernel_datapath on the link payload

Runtime fact recomputed from the NIO wiring on every load (not
persisted). Without it clients cannot tell a relay link from a kernel
link whose compute lacks a filter capability — both show up as
kernel-only types missing from available_filters.
This commit is contained in:
YueGuobin 2026-09-30 10:00:38 +08:00
parent b4e4739d52
commit cecaf298bb
No known key found for this signature in database
2 changed files with 6 additions and 0 deletions

View File

@ -847,6 +847,11 @@ class Link:
"capture_file_path": self.capture_file_path,
"capture_compute_id": self.capture_compute_id,
"link_type": self._link_type,
# runtime fact, not persisted: recomputed from the NIO wiring on
# every load (tells clients which datapath impairs this link —
# kernel-only filter types absent from available_filters are
# then distinguishable from capability gaps)
"kernel_datapath": self.kernel_datapath,
"filters": self._filters,
"markers": self._markers,
"suspend": self._suspended,

View File

@ -228,6 +228,7 @@ async def test_json(project, compute):
"suspend": False,
"wireshark": False,
"link_type": "ethernet",
"kernel_datapath": False,
"capturing": False,
"capture_file_name": None,
"capture_file_path": None,