Skip to content

Commit e084da5

Browse files
committed
added multicli
1 parent aba387b commit e084da5

File tree

2 files changed

+22
-25
lines changed

2 files changed

+22
-25
lines changed
Lines changed: 21 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -2,32 +2,25 @@
22

33
<script type="text/javascript" src="https://viewer.diagrams.net/js/viewer-static.min.js" async></script>
44

5-
SR Linux is the industry's most modern Network Operating System (NOS) enabling unmatched automation and programmability features. One of its capabilities is the ability to customize the CLI on SR Linux.
5+
SR Linux is the industry's most modern Network Operating System (NOS) enabling unmatched automation and programmability features. One of its capabilities is the ability to [customize the CLI](index.md) on SR Linux.
66

7-
All SR Linux CLI `show` commands shipped with the software are written in executable python scripts leveraging the state yang models.
7+
All `show` commands shipped with the SR Linux software are written in executable python scripts leveraging the model-driven infrastructure to query the state.
88

9-
Users are allowed to take those python scripts, modify them to fit their use case or build a brand new CLI command leveraging the same state models.
9+
Users are allowed to take those python scripts, modify them to fit their use case or build a brand new CLI command leveraging the same workflow as our R&D team.
10+
These user-provided CLI scripts are called **Custom CLI plugins** in SR Linux.
1011

11-
These customized CLI scripts are called **Custom CLI plugins** in SR Linux.
12-
13-
Since everything is modeled in yang from the ground up, this allows the user to use CLI to access any state object or attribute in the system and display it in the format they are familiar with.
14-
15-
So a valid question arises:
16-
17-
/// admonition | Question
18-
type: question
19-
20-
Can we make SR Linux CLI look and feel like another NOS for show commands?
21-
///
12+
Since everything in SR Linux is modeled in YANG from the ground up, this allows the user to accesses any state object or attribute in the system and display it in the format they are familiar with.
2213

14+
So a valid question arises - can we make SR Linux CLI look and feel like another NOS for show commands?
2315
The simple answer is a big **YES WE CAN**.
2416

2517
Let's take an example for the BGP neighbor show command on 4 different Operating Systems.
2618

2719
/// tab | SR Linux
2820

29-
```srl
30-
# show network-instance default protocols bgp neighbor
21+
```
22+
$ show network-instance default protocols bgp neighbor
23+
3124
-------------------------------------------------------------------------------------------------------------------------------------------------------
3225
BGP neighbor summary for network-instance "default"
3326
Flags: S static, D dynamic, L discovered by LLDP, B BFD enabled, - disabled, * slow
@@ -54,8 +47,9 @@ Summary:
5447

5548
/// tab | Arista
5649

57-
```srl
58-
# show ip bgp summary
50+
```
51+
$ show ip bgp summary
52+
5953
BGP summary information for VRF default
6054
Router identifier 1.1.1.1, local AS number 64501
6155
Neighbor Status Codes: m – Under maintenance
@@ -70,8 +64,9 @@ Neighbor Status Codes: m – Under maintenance
7064

7165
/// tab | Cisco NX-OS
7266

73-
```srl
74-
# show ip bgp summary
67+
```
68+
$ show ip bgp summary
69+
7570
BGP summary information for VRF default, address family IPv4 Unicast
7671
BGP router identifier 1.1.1.1, local AS number 64501
7772
@@ -87,8 +82,9 @@ Neighbor V AS MsgRcvd MsgSent InQ OutQ Up/Down State/PfxRcd
8782

8883
/// tab | Nokia SR OS
8984

90-
```srl
91-
# show router bgp summary
85+
```
86+
$ show router bgp summary
87+
9288
===============================================================================
9389
BGP Router ID:1.1.1.1 AS:64501 Local AS:64501
9490
===============================================================================
@@ -139,13 +135,13 @@ What if someone can run all those 4 commands on a single NOS?
139135

140136
This is the power of custom CLI plugins in SR Linux. All the 4 outputs seen above are from the same SR Linux node.
141137

142-
## Introducing MultiCLI project for SR Linux plugins
138+
## Introducing MultiCLI project for SR Linux
143139

144140
MultiCLI project is an open source initiative to build SR Linux plugins for 3rd party NOS show commands.
145141

146142
The objective of the project is to help with user onboarding, training and re-use of existing tools in a network while adopting SR Linux.
147143

148-
The first phase of this project includes commands from 4 different NOS - Arista EOS, Cisco NX-OS, Juniper JUNOS and Nokia SR OS.
144+
The first phase of this project includes commands from 4 different NOS - Arista EOS, Cisco NX-OS, Juniper JunOS and Nokia SR OS.
149145

150146
Visit the [MultiCLI](https://github.com/srl-labs/MultiCLI/) git repo to see these plugins and try them using the built-in lab in the repo.
151147

@@ -155,7 +151,7 @@ As you test these plugins, you will notice some cool CLI features that comes nat
155151

156152
1. The native command auto-completion feature also applies to plugins.
157153

158-
2. Using the `tab` key will display the next options that can be naviagated using the arrow keys on your keyboard.
154+
2. Using the `tab` key will display the next options that can be navigated using the arrow keys on your keyboard.
159155

160156
3. As you type in a keyword, you will see a lighter shade of the full keyword.
161157

mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ nav:
9696
- CLI Plugins:
9797
- cli/plugins/index.md
9898
- Getting started: cli/plugins/getting-started.md
99+
- MultiCLI Project: cli/plugins/multicli.md
99100
- Tutorials:
100101
# - SR Linux tutorials: tutorials/about.md
101102
- tutorials/index.md

0 commit comments

Comments
 (0)