harmony/brocade
Ian Letourneau c0bd8007c7
All checks were successful
Run Check Script / check (pull_request) Successful in 1m5s
feat(switch/brocade): Implement client to interact with Brocade Switch
* Expose a high-level `brocade::init()` function to connect to a Brocade switch and automatically pick the best implementation based on its OS and version
* Implement a client for Brocade switches running on Network Operating System (NOS)
* Implement a client for older Brocade switches running on FastIron (partial implementation)

The architecture for the library is based on 3 layers:
1. The `BrocadeClient` trait to describe the available capabilities to
   interact with a Brocade switch. It is partly opinionated in order to
   offer higher level features to group multiple commands into a single
   function (e.g. create a port channel). Its implementations are
   basically just the commands to run on the switch and the functions to
   parse the output.
2. The `BrocadeShell` struct to make it easier to authenticate, send commands, and interact with the switch.
3. The `ssh` module to actually connect to the switch over SSH and execute the commands.

With time, we will add support for more Brocade switches and their various OS/versions. If needed, shared behavior could be extracted into a separate module to make it easier to add new implementations.
2025-10-15 15:28:24 -04:00
..
examples feat(switch/brocade): Implement client to interact with Brocade Switch 2025-10-15 15:28:24 -04:00
src feat(switch/brocade): Implement client to interact with Brocade Switch 2025-10-15 15:28:24 -04:00
Cargo.toml feat(switch/brocade): Implement client to interact with Brocade Switch 2025-10-15 15:28:24 -04:00