From bab173ee52bd15b793ff147baac41fe7650f2305 Mon Sep 17 00:00:00 2001 From: Mark Paronyan Date: Sun, 23 Mar 2025 14:28:27 +0000 Subject: [PATCH] feat(get_iface): add type information in response --- gns3server/api/routes/controller/links.py | 4 +++- gns3server/schemas/controller/links.py | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/gns3server/api/routes/controller/links.py b/gns3server/api/routes/controller/links.py index be6865fdb..8c438de28 100644 --- a/gns3server/api/routes/controller/links.py +++ b/gns3server/api/routes/controller/links.py @@ -324,17 +324,19 @@ async def get_iface(link: Link = Depends(dep_link)) -> dict[str, schemas.UdpPort port_type = port.get("type", "") if "udp" in port_type.lower(): ifaces_info[node.id] = { + "type": f"{port_type}", "rhost": port["rhost"], "lport": port["lport"], "rport": port["rport"], } else: ifaces_info[node.id] = { + "type": f"{port_type}", "interface": port["interface"], } if not ifaces_info: raise ControllerError( - "Link not connected to Cloud/NAT with UDP tunnel" + "Link not connected to Cloud/NAT" ) return ifaces_info diff --git a/gns3server/schemas/controller/links.py b/gns3server/schemas/controller/links.py index 15fa2650e..ac82c0d76 100644 --- a/gns3server/schemas/controller/links.py +++ b/gns3server/schemas/controller/links.py @@ -102,6 +102,7 @@ class UdpPort(BaseModel): lport: int rhost: str rport: int + type: str class EthernetPort(BaseModel): @@ -110,3 +111,4 @@ class EthernetPort(BaseModel): """ interface: str + type: str