mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-09-04 09:05:14 +03:00
The docker_exec console resized its exec PTY to 80x24 until a client sent NAWS. CLIs that page on the PTY window size instead of the terminal length (the IOS-XR pager) therefore parked long output at --More-- for clients that never negotiate NAWS — netmiko, bare telnet — making copilot device commands time out on XRd. Default the exec to 511x10000 instead (511 matches netmiko's own 'terminal width 511' convention): no paging and no hard wrapping for non-NAWS clients, while real NAWS clients keep resizing to their actual geometry as before. Also updates the project memory record with the confirmed root cause and the fix.
2.7 KiB
2.7 KiB
GNS3 Server Project Memory
Note
: This directory stores important project-related memories and case studies, managed with the code repository.
How to record: Use the
/memoryskill to record important information to the project memory directory.
Quick Reference
- Memory directory:
.claude/memory/ - Skill file:
.claude/skills/memory/SKILL.md - Main index:
MEMORY.md(this file)
Topics
Web Wireshark Integration
- JWT Token Flow - JWT token transmission path in Web Wireshark
- Key point: UDPLink only passes through jwt_token, ultimately used by curl command inside Web Wireshark container to authenticate with GNS3 capture stream API
- Xpra HTML5 Client - Xpra HTML5 client menu control parameters for customizing the web interface
RBAC & User Isolation
- RBAC User Isolation Design — Three-step permission check design: ACE batch check → created_by filtering → resource pools
Appliance Management
- GNS3 Appliance Loading - How GNS3 loads appliance files from builtin and custom directories with priority rules
uBridge Permission
- uBridge Permission Issue - Docker containers fail to start due to missing CAP_NET_ADMIN/CAP_NET_RAW capabilities on uBridge
- Docker iptables FORWARD blocks bridge - Docker sets FORWARD chain to DROP, blocking kernel bridge forwarding;
sudo iptables -P FORWARD ACCEPTto fix
Docker Container Stop Delay
- Docker Container Stop Delay - Some containers take ~5s to stop because they don't handle SIGTERM (AlpiNet, OstinatoWireshark)
Device Console / Copilot Known Bugs
- XRd Console --More-- Pager Bug - FIXED: root cause was our own 80x24 initial PTY geometry for the docker_exec console (the XR pager reads PTY rows, not
terminal length); initial geometry is now 511x10000. Copilot reconnect-before-retry + session_log still open;--More--auto-answer kept as fallback design
MCP Service
- MCP Service Design - MCP (Model Context Protocol) service architecture using FastMCP with SSE transport, JWT auth, 29 tools across 5 domains
- MCP Tool Description Location - Where to define MCP tool descriptions: in
@mcp.tool()functions in__init__.py, not in*_TOOLSarrays
Python Code Verification
- Import Validation - Use actual module imports (
python -c "from ... import ...") instead ofpy_compileto catch missing imports