CNC switch quickstart
CNC Daemon (cncd)
Execution & Network Discovery
After completing the installation, the cncd executable is available globally and can be started from any terminal.
Once running, the application automatically connects to all configured TSN nodes (see Installation).
Upon connection, the daemon performs an initial network discovery. It connects to the tsnctrld on each target node (tsnctrld docs) and fetches the baseline system state, including:
Available network interfaces
PTP (Precision Time Protocol) synchronization data
LLDP (Link Layer Discovery Protocol) topology data
gRPC API & Interfaces
To allow external applications to control the network, the cncd exposes a gRPC server. It listens on two endpoints simultaneously:
Unix Domain Socket:
/tmp/cnc_socket(Recommended for local, high-performance communication)TCP Socket:
0.0.0.0:50051(Ideal for external API testing, e.g., using Postman)
Endpoints
Via these gRPC endpoints, the daemon provides the following network management capabilities:
Retrieve the current network topology
Fetch operational LLDP and PTP data
Read active schedule data (Gate Control Lists)
Provision and set new network schedules
Note: For a detailed technical description of the gRPC interfaces and protocol buffers, please refer to the Developer Documentation.
Command Line Arguments (cnc_cli)
The cnc_cli is a command-line utility engineered for direct interaction with the cncd background daemon. Designed for speed and automation, it allows administrators to seamlessly query network states, retrieve topologies, or push configurations straight from the terminal.
Basic Usage
The utility operates on a strict, argument-driven execution model. By passing specific action arguments, the CLI processes the request, returns the formatted output to standard out (stdout), and immediately terminates. This stateless architecture makes the cnc_cli exceptionally well-suited for both manual administration and integration into automated shell scripts.
cnc_cli <argument>
For a comprehensive list of all available commands, expected parameters, and output structures, please refer to the Command Line Arguments.