From 40a9889b1646c8c8be16e3653ac88b6fef991958 Mon Sep 17 00:00:00 2001 From: Tamas Plugor Date: Mon, 14 Oct 2024 15:48:35 +0000 Subject: [PATCH] moving lab files to aclabs --- docs/_media/aclabs-telemetryA-grafana-ex1.png | Bin 0 -> 250384 bytes docs/_media/aclabs-telemetryA-grafana-ex2.png | Bin 0 -> 149467 bytes docs/_media/aclabs-telemetryA-grafana-ex3.png | Bin 0 -> 204400 bytes docs/_media/aclabs-telemetryA-grafana-ex4.png | Bin 0 -> 137723 bytes .../gnmic/prometheus-grafana-demo/index.md | 112 +-- src/gnmic-prometheus/.topology.yaml.bak | 121 --- src/gnmic-prometheus/Makefile | 21 - src/gnmic-prometheus/ansible.cfg | 15 - src/gnmic-prometheus/ceos.cfg.tpl | 41 - .../om-pe11_post_running-config.conf | 202 ----- .../om-pe12_post_running-config.conf | 202 ----- .../om-pe21_post_running-config.conf | 202 ----- .../om-pe22_post_running-config.conf | 202 ----- .../om-spine1_post_running-config.conf | 159 ---- .../om-spine2_post_running-config.conf | 159 ---- .../om_pe11_post_running-config.conf | 202 ----- .../om_pe12_post_running-config.conf | 202 ----- .../om_pe21_post_running-config.conf | 202 ----- .../om_pe22_post_running-config.conf | 202 ----- .../om_spine1_post_running-config.conf | 159 ---- .../om_spine2_post_running-config.conf | 159 ---- .../documentation/devices/om-pe11.md | 719 ----------------- .../documentation/devices/om-pe12.md | 719 ----------------- .../documentation/devices/om-pe21.md | 719 ----------------- .../documentation/devices/om-pe22.md | 719 ----------------- .../documentation/devices/om-spine1.md | 544 ------------- .../documentation/devices/om-spine2.md | 544 ------------- .../documentation/devices/om_pe11.md | 719 ----------------- .../documentation/devices/om_pe12.md | 719 ----------------- .../documentation/devices/om_pe21.md | 719 ----------------- .../documentation/devices/om_pe22.md | 719 ----------------- .../documentation/devices/om_spine1.md | 544 ------------- .../documentation/devices/om_spine2.md | 544 ------------- .../fabric/OM_FABRIC-documentation.md | 98 --- .../fabric/OM_FABRIC-p2p-links.csv | 9 - .../fabric/OM_FABRIC-topology.csv | 25 - src/gnmic-prometheus/gnmic.yml | 163 ---- .../provisioning/dashboards/dashboards.yml | 10 - .../dashboards/device-overview.json | 662 ---------------- .../dashboards/fabric-health.json | 372 --------- .../dashboards/interface-stats.json | 748 ------------------ .../provisioning/dashboards/l3-telemetry.json | 168 ---- .../provisioning/datasources/datasource.yaml | 7 - src/gnmic-prometheus/group_vars/AVD_LAB.yaml | 64 -- .../group_vars/OM_CONNECTED_ENDPOINTS.yaml | 82 -- .../group_vars/OM_FABRIC.yaml | 92 --- .../group_vars/OM_NETWORK_SERVICES.yaml | 14 - src/gnmic-prometheus/group_vars/OM_PES.yaml | 12 - .../group_vars/OM_SPINES.yaml | 1 - .../host_l3_config/l3_build.sh | 52 -- src/gnmic-prometheus/inventory.yaml | 41 - .../playbooks/fabric-deploy-config.yaml | 25 - .../prometheus/prometheus.yml | 9 - .../resources/topology.drawio | 241 ------ src/gnmic-prometheus/sn/pe11.txt | 2 - src/gnmic-prometheus/sn/pe12.txt | 2 - src/gnmic-prometheus/sn/pe21.txt | 2 - src/gnmic-prometheus/sn/pe22.txt | 2 - src/gnmic-prometheus/sn/spine1.txt | 2 - src/gnmic-prometheus/sn/spine2.txt | 2 - src/gnmic-prometheus/topology.yaml | 121 --- 61 files changed, 19 insertions(+), 13499 deletions(-) create mode 100644 docs/_media/aclabs-telemetryA-grafana-ex1.png create mode 100644 docs/_media/aclabs-telemetryA-grafana-ex2.png create mode 100644 docs/_media/aclabs-telemetryA-grafana-ex3.png create mode 100644 docs/_media/aclabs-telemetryA-grafana-ex4.png delete mode 100644 src/gnmic-prometheus/.topology.yaml.bak delete mode 100644 src/gnmic-prometheus/Makefile delete mode 100644 src/gnmic-prometheus/ansible.cfg delete mode 100644 src/gnmic-prometheus/ceos.cfg.tpl delete mode 100644 src/gnmic-prometheus/config_backup/om-pe11_post_running-config.conf delete mode 100644 src/gnmic-prometheus/config_backup/om-pe12_post_running-config.conf delete mode 100644 src/gnmic-prometheus/config_backup/om-pe21_post_running-config.conf delete mode 100644 src/gnmic-prometheus/config_backup/om-pe22_post_running-config.conf delete mode 100644 src/gnmic-prometheus/config_backup/om-spine1_post_running-config.conf delete mode 100644 src/gnmic-prometheus/config_backup/om-spine2_post_running-config.conf delete mode 100644 src/gnmic-prometheus/config_backup/om_pe11_post_running-config.conf delete mode 100644 src/gnmic-prometheus/config_backup/om_pe12_post_running-config.conf delete mode 100644 src/gnmic-prometheus/config_backup/om_pe21_post_running-config.conf delete mode 100644 src/gnmic-prometheus/config_backup/om_pe22_post_running-config.conf delete mode 100644 src/gnmic-prometheus/config_backup/om_spine1_post_running-config.conf delete mode 100644 src/gnmic-prometheus/config_backup/om_spine2_post_running-config.conf delete mode 100644 src/gnmic-prometheus/documentation/devices/om-pe11.md delete mode 100644 src/gnmic-prometheus/documentation/devices/om-pe12.md delete mode 100644 src/gnmic-prometheus/documentation/devices/om-pe21.md delete mode 100644 src/gnmic-prometheus/documentation/devices/om-pe22.md delete mode 100644 src/gnmic-prometheus/documentation/devices/om-spine1.md delete mode 100644 src/gnmic-prometheus/documentation/devices/om-spine2.md delete mode 100644 src/gnmic-prometheus/documentation/devices/om_pe11.md delete mode 100644 src/gnmic-prometheus/documentation/devices/om_pe12.md delete mode 100644 src/gnmic-prometheus/documentation/devices/om_pe21.md delete mode 100644 src/gnmic-prometheus/documentation/devices/om_pe22.md delete mode 100644 src/gnmic-prometheus/documentation/devices/om_spine1.md delete mode 100644 src/gnmic-prometheus/documentation/devices/om_spine2.md delete mode 100644 src/gnmic-prometheus/documentation/fabric/OM_FABRIC-documentation.md delete mode 100644 src/gnmic-prometheus/documentation/fabric/OM_FABRIC-p2p-links.csv delete mode 100644 src/gnmic-prometheus/documentation/fabric/OM_FABRIC-topology.csv delete mode 100644 src/gnmic-prometheus/gnmic.yml delete mode 100644 src/gnmic-prometheus/grafana/provisioning/dashboards/dashboards.yml delete mode 100644 src/gnmic-prometheus/grafana/provisioning/dashboards/device-overview.json delete mode 100644 src/gnmic-prometheus/grafana/provisioning/dashboards/fabric-health.json delete mode 100644 src/gnmic-prometheus/grafana/provisioning/dashboards/interface-stats.json delete mode 100644 src/gnmic-prometheus/grafana/provisioning/dashboards/l3-telemetry.json delete mode 100644 src/gnmic-prometheus/grafana/provisioning/datasources/datasource.yaml delete mode 100644 src/gnmic-prometheus/group_vars/AVD_LAB.yaml delete mode 100644 src/gnmic-prometheus/group_vars/OM_CONNECTED_ENDPOINTS.yaml delete mode 100644 src/gnmic-prometheus/group_vars/OM_FABRIC.yaml delete mode 100644 src/gnmic-prometheus/group_vars/OM_NETWORK_SERVICES.yaml delete mode 100644 src/gnmic-prometheus/group_vars/OM_PES.yaml delete mode 100644 src/gnmic-prometheus/group_vars/OM_SPINES.yaml delete mode 100644 src/gnmic-prometheus/host_l3_config/l3_build.sh delete mode 100644 src/gnmic-prometheus/inventory.yaml delete mode 100644 src/gnmic-prometheus/playbooks/fabric-deploy-config.yaml delete mode 100644 src/gnmic-prometheus/prometheus/prometheus.yml delete mode 100644 src/gnmic-prometheus/resources/topology.drawio delete mode 100644 src/gnmic-prometheus/sn/pe11.txt delete mode 100644 src/gnmic-prometheus/sn/pe12.txt delete mode 100644 src/gnmic-prometheus/sn/pe21.txt delete mode 100644 src/gnmic-prometheus/sn/pe22.txt delete mode 100644 src/gnmic-prometheus/sn/spine1.txt delete mode 100644 src/gnmic-prometheus/sn/spine2.txt delete mode 100644 src/gnmic-prometheus/topology.yaml diff --git a/docs/_media/aclabs-telemetryA-grafana-ex1.png b/docs/_media/aclabs-telemetryA-grafana-ex1.png new file mode 100644 index 0000000000000000000000000000000000000000..bad7d6ba20fcc3f1af475861c1a9865883cd3d61 GIT binary patch literal 250384 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

JHP?nc3-ND}U(xg4Z&I5s-{5jxMBV89|hn+%P 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 ItmpTC00^J-KL7v# literal 0 HcmV?d00001 diff --git a/docs/_media/aclabs-telemetryA-grafana-ex3.png b/docs/_media/aclabs-telemetryA-grafana-ex3.png new file mode 100644 index 0000000000000000000000000000000000000000..027c36227a45f2654fa2287c6deae55b8c059a2e GIT binary patch literal 204400 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 fpE{FS@X+sTFE3nPck-1t8LgsmlM literal 0 HcmV?d00001 diff --git a/docs/_media/aclabs-telemetryA-grafana-ex4.png b/docs/_media/aclabs-telemetryA-grafana-ex4.png new file mode 100644 index 0000000000000000000000000000000000000000..c8250beaa63d8e4fa31e2fc4cabe6748507c1321 GIT binary patch literal 137723 zcmeFYRa70@)-?(QS-87wB%~{iG%szS_GgMJt0uc@m4h#$oQA$!&2@DJ}5)2H&6#xyovnPR` z2L=XLU@jt}C?z67qG)exVs2#&1|}Jrm;|Guyoe=u>akCn4TTbe<{rNaAqkru$Vezk zNdYb#%0dAMLBu8KLKPE(Oh6?p_KPGl6rx{%{t2N0W2C6q-{n_W_yj}m$L9U~Ixk?E zv62z*px}18TKWzwwHFPbWS|K)bw_3p(!k3>`ynU{AKdjjnErP}0KIdw4-vr;GD@n} zDKMR)5(XxyO5&U`OV-8iLQ+a1 z3MYDZ!cIMQF~HtGevyouRfz%(W|l_>4E>2l1tF*;ax{bBOokR*i(>%KAKWkD+N_&g zTboD_fJ|-`atA=kj8X`HWt9KD_PI~ybG1e&TIR8__!&{FqYy3K;pjue-5O zei0q1vdE?Ou#o{KRa0(n|QjhZ{Vn=#1ys zAuE(kkVRc+-ZsSzy_uP)w2O4YNLx><`h#q;Cil?eEN3tX`iP}IT$M1XB(lAu7;;=) z8Z-lF7ijUKDj)1y8da#Wtm{K8j17$6bzbRY@WGuvn4Xa21!OgBlbB9nxiQ6DwKA;0 z`qU>6)ESN~U(J!OF}<6Z9L9oYGqK*=M@Arlz}@l|gfaso)Cb7M9vu0g+r7)|#D?@` zMnOz^$0-S6E(lQbC#Xc-@)xcoJc2g=!&h)i%U!NY&j8X#8QXb@YmbKE<4k`!vPX!g)?={Z;t=A-OSpghOLI=^CKq>=_EBm z4Fd!Njsw007<5y7j4~5+qzXcf55*77?-l<|`J4PVFAWWiH4RJ=r4q0RQ7KQ`$g>)sCy1WRmV7>zDJCmMKw3F(G%t0EVE=k* zdx~MIAzyD8#pudtk9F9%+F061eqbfRjZ!9NHraTf+Gu_-X*e_PIG!*$cR+IpYA}D$ zIGna$F^LMpLovG{@}nalJY_+qj| zdAa-~B_^f*+L_v~wY{HUYMbk*>JV#t>Ky96)e;|~IGKHb{m|n0!Ku%Y!|9!)gCo8p z@gC}xnY)y`$5rzc)fM6u`8C&J!$CC8dwgcZYD7E)BHTDc9Yl3pHQZH>ZoJ6|rHC8c zU#vlq){*fM!;!XWom9?Lz<5t8zHsJn0<3dvRfYpL%G4=2Hd%aGn9+ohr&0USPouiu z4%7NmPMJ?xUrh`wV=cZ6{LapA&95*nH*VS1qBEqcS8bZrv8=93zIH$4Jmlh};?(~3 z%=ui8u?)66TAxv`cYJgl;2i0kd((XL2Uj}VG=D`Y4&QWCj zn^E38sUPyWXL%#(IW8t23x4StcGTa}jbyY1J(| zG^6sRdZoN9{p!})TRr0MvNI|*c69v?Y~_OkHuG)s_3#Y?vs}$RDBU?+Bi)wWE6z{O zy6*1okIwcDi`f=OKJ27aw4Huh3-_YvQ0!psD0u065q`Y^0rH|@+7Y!md-w?qMa zhCW7cC$K_krM;V{T%hcd8A=AiS0N0-?!)B=lmp6;pHX&*)G%(CSD3X4R&hzuQSm=w zv!L#yY7+3E7!%cT9=O+9uroC?Kx3n$DigA`&p7O#0t>;1J$4j-HMlhAxhl zf$l;TMb$)=NYVD2#nrf#Ymk31aS)wGh=zkkxhS?s⁢nu~zx3n-|>cZ|TUyR5}kx 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

h~bV~iG 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 literal 0 HcmV?d00001 diff --git a/docs/telemetry/adapters/gnmic/prometheus-grafana-demo/index.md b/docs/telemetry/adapters/gnmic/prometheus-grafana-demo/index.md index 13e30099..20ae7f76 100644 --- a/docs/telemetry/adapters/gnmic/prometheus-grafana-demo/index.md +++ b/docs/telemetry/adapters/gnmic/prometheus-grafana-demo/index.md @@ -7,112 +7,38 @@ categories: ## Introduction -Prometheus is an open-source monitoring and alerting toolkit designed primarily for cloud-native -environments, including Kubernetes. Developed by SoundCloud in 2012, it has gained popularity due -to its ability to collect and store metrics as time-series data, which includes timestamps and -optional key-value pairs known as labels. (1) // --> TODO add citation - -Prometheus operates on a pull-based model, where it scrapes metrics from HTTP endpoints exposed -by monitored services, storing this data in a time-series database. Users can query this data -using PromQL, a powerful query language, to generate alerts and visualize metrics through tools -like Grafana. (2) // --> TODO add citation - -Since joining the Cloud Native Computing Foundation in 2016, Prometheus has become a cornerstone - in the monitoring landscape, particularly suited for dynamic service-oriented architectures and - microservices. (3) // --> TODO add citation +This lab deploys a small cEOS-lab topology using containerlab and uses [gNMIc](https://gnmic.openconfig.net/) to subscribe and collect telemetry states and output them into [Prometheus](https://prometheus.io/docs/prometheus/latest/getting_started/) and visualize the data in [Grafana](https://grafana.com/). ## Prerequisite -- [Containerlab](https://containerlab.dev/) -- [Docker](https://www.docker.com/) -- [cEOS](https://containerlab.dev/manual/kinds/ceos/) +- github account +- laptop or server with [Docker](https://www.docker.com/) and [git](https://git-scm.com/downloads) installed +- [arista.com] account to download cEOS-lab -cEOS lab will need to be downloaded from the arista software downloads -and imported via docker with a tag of e.g. 4.32.2F +cEOS-lab is autodownloaded using the arista.com token in either codespaces or the devcontainer examples. -## Environment - -![topology](../../../../_media/topology.drawio.png) +Check for more details on the prerequisites on the [Arista Community Labs QuickStart](https://aclabs.arista.com/quickstart/). -The Containerlab file +## Lab Topology -

Reveal output -

+![topology](../../../../_media/topology.drawio.png) -```yaml ---8<-- "src/gnmic-prometheus/topology.yaml" -``` +### Running the lab -

-
+The lab can be run in multiple ways: + - codespaces + - locally using devcontainer (either on local PC/laptop or using Remote SSH to a server via vscode) -Looking at the `gnmic.yml` file +To run it codespaces please press the button below and follow: -
Reveal output -

+[Start :octicons-play-16: gNMIc-Prometheus-Grafana Lab :octicons-mark-github-24:](https://codespaces.new/aristanetworks/aclabs/tree/main?quickstart=1&devcontainer_path=.devcontainer%2Fgnmic-prometheus-grafana%2Fdevcontainer.json){ .md-button .md-button--primary target=_blank} -```bash ---8<-- "src/gnmic-prometheus/gnmic.yml" -``` +After the lab is deployed, the containerlab topology will automatically start and Codespaces will send a notification and reveal the `Open in Browser` button where Grafana can be accessed. -We can see that we're going to use `gnmic` to subscribe to several OpenConfig and EOS native paths -and write the data into Prometheus either in their raw states or modifying them -with [processors](https://gnmic.openconfig.net/user_guide/event_processors/intro/), which -are needed due to Prometheus only accepting numerical values. +![grafana1](_media/aclabs-telemetryA-grafana-ex1.png) -

-
+![grafana2](assets/img/aclabs-telemetryA-grafana-ex2.png) -### Running the lab +![grafana3](assets/img/aclabs-telemetryA-grafana-ex3.png) -```bash -cd src/gnmic-prometheus/ -containerlab -t topology.yaml deploy -``` - -or - -`containerlab -t topology.yaml deploy --reconfigure` on subsequent runs when modifications are made - -Our environment should look as the following: - -```shell -+----+--------------------+--------------+-------------------------------------------------------------+-------+---------+--------------------+------------------------+ -| # | Name | Container ID | Image | Kind | State | IPv4 Address | IPv6 Address | -+----+--------------------+--------------+-------------------------------------------------------------+-------+---------+--------------------+------------------------+ -| 1 | clab-om-avd | 2b71ef8fe868 | ghcr.io/aristanetworks/avd/universal:python3.12-avd-v4.10.2 | linux | running | 172.144.100.230/24 | 2001:172:144:100::7/80 | -| 2 | clab-om-client1 | 5d6f06a162d3 | alpine-host | linux | running | 172.144.100.8/24 | 2001:172:144:100::8/80 | -| 3 | clab-om-client2 | 95642c587a14 | alpine-host | linux | running | 172.144.100.9/24 | 2001:172:144:100::9/80 | -| 4 | clab-om-client3 | d4fd040c251b | alpine-host | linux | running | 172.144.100.10/24 | 2001:172:144:100::a/80 | -| 5 | clab-om-client4 | f98b0a992d42 | alpine-host | linux | running | 172.144.100.11/24 | 2001:172:144:100::c/80 | -| 6 | clab-om-gnmic | 7676f355ade9 | ghcr.io/openconfig/gnmic:0.38.2 | linux | running | 172.144.100.200/24 | 2001:172:144:100::2/80 | -| 7 | clab-om-grafana | 0fa1af12aac9 | grafana/grafana:11.2.0 | linux | running | 172.144.100.220/24 | 2001:172:144:100::d/80 | -| 8 | clab-om-om-pe11 | bd4888d56a1a | ceosimage:4.32.2F | ceos | running | 172.144.100.4/24 | 2001:172:144:100::4/80 | -| 9 | clab-om-om-pe12 | 51fe187893c7 | ceosimage:4.32.2F | ceos | running | 172.144.100.5/24 | 2001:172:144:100::b/80 | -| 10 | clab-om-om-pe21 | b9ed639155cb | ceosimage:4.32.2F | ceos | running | 172.144.100.6/24 | 2001:172:144:100::3/80 | -| 11 | clab-om-om-pe22 | 2b0061a2aec0 | ceosimage:4.32.2F | ceos | running | 172.144.100.7/24 | 2001:172:144:100::f/80 | -| 12 | clab-om-om-spine1 | 582e33ddbdb6 | ceosimage:4.32.2F | ceos | running | 172.144.100.2/24 | 2001:172:144:100::5/80 | -| 13 | clab-om-om-spine2 | a5f28f53582e | ceosimage:4.32.2F | ceos | running | 172.144.100.3/24 | 2001:172:144:100::6/80 | -| 14 | clab-om-prometheus | 04cdbdd65795 | prom/prometheus:v2.54.1 | linux | running | 172.144.100.210/24 | 2001:172:144:100::e/80 | -+----+--------------------+--------------+-------------------------------------------------------------+-------+---------+--------------------+------------------------+ -``` - -Now we're ready to access Grafana at http://myserver:3001 (arista/arista) - -To add configurations to the switches, such as configuring EVPN, we can use the clab-om-avd -container and run the Ansible playbook inside.: - -```shell -docker exec -it clab-om-avd zsh -cd project -ansible-playbook playbooks/fabric-deploy-config.yaml -i inventory.yaml -``` - -> NOTE You might need to create the avd user on the host if it doesn't exist, otherwise the -container won't be able to create files. - -```shell -useradd avd -usermod -aG wheel avd -chown -R avd:avd ./ -``` +For more details and to run it in devcontainer please check the [Arista Community Labs](https://aclabs.arista.com/telemetry) site. diff --git a/src/gnmic-prometheus/.topology.yaml.bak b/src/gnmic-prometheus/.topology.yaml.bak deleted file mode 100644 index 554f3ed1..00000000 --- a/src/gnmic-prometheus/.topology.yaml.bak +++ /dev/null @@ -1,121 +0,0 @@ -name: om - -topology: - kinds: - ceos: - startup-config: ./ceos.cfg.tpl - image: ceosimage:4.32.2F - exec: - - sleep 10 - - FastCli -p 15 -c 'security pki key generate rsa 4096 eAPI.key' - - FastCli -p 15 -c 'security pki certificate generate self-signed eAPI.crt key eAPI.key generate rsa 4096 validity 30000 parameters common-name eAPI' - linux: - image: alpine-host - defaults: - kind: ceos - nodes: - om-spine1: - mgmt-ipv4: 172.144.100.2 - binds: - - ./sn/spine1.txt:/mnt/flash/ceos-config:ro - om-spine2: - mgmt-ipv4: 172.144.100.3 - binds: - - ./sn/spine2.txt:/mnt/flash/ceos-config:ro - om-pe11: - mgmt-ipv4: 172.144.100.4 - binds: - - ./sn/pe11.txt:/mnt/flash/ceos-config:ro - om-pe12: - mgmt-ipv4: 172.144.100.5 - binds: - - ./sn/pe12.txt:/mnt/flash/ceos-config:ro - om-pe21: - mgmt-ipv4: 172.144.100.6 - binds: - - ./sn/pe21.txt:/mnt/flash/ceos-config:ro - om-pe22: - mgmt-ipv4: 172.144.100.7 - binds: - - ./sn/pe22.txt:/mnt/flash/ceos-config:ro - client1: - kind: linux - mgmt-ipv4: 172.144.100.8 - env: - TMODE: lacp - client2: - kind: linux - mgmt-ipv4: 172.144.100.9 - env: - TMODE: lacp - client3: - kind: linux - mgmt-ipv4: 172.144.100.10 - env: - TMODE: lacp - client4: - kind: linux - mgmt-ipv4: 172.144.100.11 - env: - TMODE: lacp - # Telemetry stack - gnmic: - kind: linux - mgmt-ipv4: 172.144.100.200 - image: ghcr.io/openconfig/gnmic:0.38.2 - binds: - - ./gnmic.yml:/gnmic.yml:ro - cmd: --config gnmic.yml --log subscribe - group: gpromg - prometheus: - kind: linux - mgmt-ipv4: 172.144.100.210 - image: prom/prometheus:v2.54.1 - binds: - - prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro - cmd: --config.file=/etc/prometheus/prometheus.yml - ports: - - 9090:9090 - group: gpromg - grafana: - kind: linux - mgmt-ipv4: 172.144.100.220 - env: - GF_SECURITY_ADMIN_USER: arista - GF_SECURITY_ADMIN_PASSWORD: arista - ports: - - '3001:3000' - image: grafana/grafana:11.2.0 - binds: - - ./grafana/provisioning/:/etc/grafana/provisioning/ - group: gpromg - avd: - kind: linux - mgmt-ipv4: 172.144.100.230 - image: ghcr.io/aristanetworks/avd/universal:python3.12-avd-v4.10.2 - binds: - - ./:/project - group: gpromg - - links: - - endpoints: ["om-pe11:eth1", "om-spine1:eth1"] - - endpoints: ["om-pe12:eth1", "om-spine1:eth2"] - - endpoints: ["om-pe21:eth1", "om-spine1:eth3"] - - endpoints: ["om-pe22:eth1", "om-spine1:eth4"] - - endpoints: ["om-pe11:eth2", "om-spine2:eth1"] - - endpoints: ["om-pe12:eth2", "om-spine2:eth2"] - - endpoints: ["om-pe21:eth2", "om-spine2:eth3"] - - endpoints: ["om-pe22:eth2", "om-spine2:eth4"] - - endpoints: ["om-pe11:eth3", "client1:eth1"] - - endpoints: ["om-pe12:eth3", "client1:eth2"] - - endpoints: ["om-pe11:eth4", "client2:eth1"] - - endpoints: ["om-pe12:eth4", "client2:eth2"] - - endpoints: ["om-pe21:eth3", "client3:eth1"] - - endpoints: ["om-pe22:eth3", "client3:eth2"] - - endpoints: ["om-pe21:eth4", "client4:eth1"] - - endpoints: ["om-pe22:eth4", "client4:eth2"] - -mgmt: - network: om_clab - ipv4-subnet: 172.144.100.0/24 - ipv6-subnet: 2001:172:144:100::/80 diff --git a/src/gnmic-prometheus/Makefile b/src/gnmic-prometheus/Makefile deleted file mode 100644 index cb2b7db0..00000000 --- a/src/gnmic-prometheus/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -.PHONY: help -help: ## Display help message - @grep -E '^[0-9a-zA-Z_-]+\.*[0-9a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}' - -.PHONY: deploy -deploy: ## Complete AVD & cEOS-Lab Deployment - @echo -e "\n############### \e[1;30;42mStarting cEOS-Lab topology\e[0m ###############\n" - @sudo containerlab deploy -t topology.yaml - @echo -e "\n############### \e[1;30;42mGenerating and deploying switch configuration\e[0m ###############\n" - @ansible-playbook playbooks/fabric-deploy-config.yaml --flush-cache - @echo -e "\n############### \e[1;30;42mConfiguring client nodes\e[0m ###############\n" - @bash host_l3_config/l3_build.sh - @echo -e "\n############### \e[1;30;42mcEOS-Lab Topology\e[0m ###############\n" - @sudo containerlab inspect -t topology.yaml - @echo -e "\n############### \e[1;30;42mcEOS-Lab Deployment Complete\e[0m ###############\n" - -.PHONY: destroy -destroy: ## Delete cEOS-Lab Deployment and AVD generated config and documentation - @echo -e "\n############### \e[1;30;42mWiping nodes and deleting AVD configuration\e[0m ###############\n" - @sudo containerlab destroy -t topology.yaml --cleanup - @rm -rf .topology.yaml.bak config_backup/ snapshots/ reports/ documentation/ intended/ diff --git a/src/gnmic-prometheus/ansible.cfg b/src/gnmic-prometheus/ansible.cfg deleted file mode 100644 index 5618d587..00000000 --- a/src/gnmic-prometheus/ansible.cfg +++ /dev/null @@ -1,15 +0,0 @@ -[defaults] -host_key_checking = False -inventory=./inventory.yaml -gathering=explicit -retry_files_enabled = False -collections_paths = ../ansible-cvp:../ansible-avd:~/.ansible/collections:/usr/share/ansible/collections -jinja2_extensions = jinja2.ext.loopcontrols,jinja2.ext.do,jinja2.ext.i18n -duplicate_dict_key=error -stdout_callback = yaml -bin_ansible_callbacks = True -deprecation_warnings=False - -[persistent_connection] -connect_timeout = 300 -command_timeout = 300 diff --git a/src/gnmic-prometheus/ceos.cfg.tpl b/src/gnmic-prometheus/ceos.cfg.tpl deleted file mode 100644 index fcbc41d1..00000000 --- a/src/gnmic-prometheus/ceos.cfg.tpl +++ /dev/null @@ -1,41 +0,0 @@ -hostname {{ .ShortName }} -username admin privilege 15 secret admin -! -service routing protocols model multi-agent -! -vrf instance MGMT -! -interface Management0 - description oob_management - vrf MGMT -{{ if .MgmtIPv4Address }} ip address {{ .MgmtIPv4Address }}/{{ .MgmtIPv4PrefixLength }}{{end}} -{{ if .MgmtIPv6Address }} ipv6 address {{ .MgmtIPv6Address }}/{{ .MgmtIPv6PrefixLength }}{{end}} -! -{{ if .MgmtIPv4Gateway }}ip route vrf MGMT 0.0.0.0/0 {{ .MgmtIPv4Gateway }}{{end}} -{{ if .MgmtIPv6Gateway }}ipv6 route vrf MGMT ::0/0 {{ .MgmtIPv6Gateway }}{{end}} - no lldp receive - no lldp transmit -! -management security - ssl profile eAPI - cipher-list HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL - certificate eAPI.crt key eAPI.key -! -management api http-commands - protocol https ssl profile eAPI - no shutdown - ! - vrf MGMT - no shutdown -! -management api gnmi - transport grpc default - notification timestamp send-time - no shutdown - transport grpc MGMT - vrf MGMT - notification timestamp send-time - no shutdown - provider eos-native -! -end diff --git a/src/gnmic-prometheus/config_backup/om-pe11_post_running-config.conf b/src/gnmic-prometheus/config_backup/om-pe11_post_running-config.conf deleted file mode 100644 index e6178537..00000000 --- a/src/gnmic-prometheus/config_backup/om-pe11_post_running-config.conf +++ /dev/null @@ -1,202 +0,0 @@ -! Command: show running-config -! device: om-pe11 (cEOSLab, EOS-4.32.2F-38195967.4322F (engineering build)) -! -no aaa root -! -username admin privilege 15 role network-admin secret sha512 $6$7GTxsrRjnwheeKfR$zhJ8qycVjAJz41rf5JRSfWIzp93IL5WL7sMS/Taz1yfShz.MAnoajCf7R2n1/EZW7PN5QA3Huayl0lVQesBYN1 -! -management api http-commands - protocol https ssl profile eAPI - no shutdown - ! - vrf MGMT - no shutdown -! -vlan internal order ascending range 1006 1199 -! -no service interface inactive port-id allocation disabled -! -transceiver qsfp default-mode 4x10G -! -service routing protocols model multi-agent -! -hostname om-pe11 -ip name-server vrf MGMT 1.1.1.1 -ip name-server vrf MGMT 8.8.8.8 -! -spanning-tree mode mstp -spanning-tree mst 0 priority 4096 -! -system l1 - unsupported speed action error - unsupported error-correction action error -! -vlan 110 - name Tenant_A_OP_Zone_1 -! -vlan 111 - name Tenant_A_OP_Zone_2 -! -vrf instance MGMT -! -management api gnmi - transport grpc MGMT - vrf MGMT - notification timestamp send-time - ! - transport grpc default - notification timestamp send-time - provider eos-native -! -management security - ssl profile eAPI - cipher-list HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL - certificate eAPI.crt key eAPI.key -! -interface Port-Channel3 - description server01_PortChannel3 - switchport trunk allowed vlan 110 - switchport mode trunk - ! - evpn ethernet-segment - identifier 0000:0000:0101:0102:0033 - route-target import 01:01:01:02:00:33 - lacp system-id 0101.0102.0033 - spanning-tree portfast -! -interface Port-Channel4 - description server02_PortChannel4 - switchport trunk allowed vlan 111 - switchport mode trunk - ! - evpn ethernet-segment - identifier 0000:0000:0101:0102:0044 - route-target import 01:01:01:02:00:44 - lacp system-id 0101.0102.0044 - spanning-tree portfast -! -interface Ethernet1 - description P2P_LINK_TO_OM-SPINE1_Ethernet1 - mtu 9214 - no switchport - ip address 172.31.255.1/31 -! -interface Ethernet2 - description P2P_LINK_TO_OM-SPINE2_Ethernet1 - mtu 9214 - no switchport - ip address 172.31.255.3/31 -! -interface Ethernet3 - description server01_Eth1 - channel-group 3 mode active -! -interface Ethernet4 - description server02_Eth1 - channel-group 4 mode active -! -interface Loopback0 - description EVPN_Overlay_Peering - ip address 192.168.255.3/32 -! -interface Loopback1 - description VTEP_VXLAN_Tunnel_Source - ip address 192.168.254.3/32 -! -interface Management0 - description oob_management - vrf MGMT - ip address 172.144.100.4/24 -! -interface Vlan110 - description Tenant_A_OP_Zone_1 - ip address virtual 10.1.10.1/24 -! -interface Vlan111 - description Tenant_A_OP_Zone_2 - ip address virtual 10.1.11.1/24 -! -interface Vxlan1 - description om-pe11_VTEP - vxlan source-interface Loopback1 - vxlan udp-port 4789 - vxlan vlan 110 vni 10110 - vxlan vlan 111 vni 10111 -! -ip virtual-router mac-address 00:00:00:00:00:01 -! -ip routing -no ip routing vrf MGMT -! -ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY - seq 10 permit 192.168.255.0/24 eq 32 - seq 20 permit 192.168.254.0/24 eq 32 -! -ip route vrf MGMT 0.0.0.0/0 172.144.100.1 -! -ntp server vrf MGMT time.google.com prefer iburst -! -route-map RM-CONN-2-BGP permit 10 - match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY -! -router bfd - multihop interval 300 min-rx 300 multiplier 3 -! -router bgp 65101 - router-id 192.168.255.3 - no bgp default ipv4-unicast - distance bgp 20 200 200 - maximum-paths 4 ecmp 4 - neighbor EVPN-OVERLAY-PEERS peer group - neighbor EVPN-OVERLAY-PEERS update-source Loopback0 - neighbor EVPN-OVERLAY-PEERS bfd - neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 - neighbor EVPN-OVERLAY-PEERS password 7 q+VNViP5i4rVjW1cxFv2wA== - neighbor EVPN-OVERLAY-PEERS send-community - neighbor EVPN-OVERLAY-PEERS maximum-routes 0 - neighbor IPv4-UNDERLAY-PEERS peer group - neighbor IPv4-UNDERLAY-PEERS password 7 AQQvKeimxJu+uGQ/yYvv9w== - neighbor IPv4-UNDERLAY-PEERS send-community - neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 - neighbor 172.31.255.0 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.0 remote-as 65001 - neighbor 172.31.255.0 description om-spine1_Ethernet1 - neighbor 172.31.255.2 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.2 remote-as 65001 - neighbor 172.31.255.2 description om-spine2_Ethernet1 - neighbor 192.168.255.1 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.1 remote-as 65001 - neighbor 192.168.255.1 description om-spine1 - neighbor 192.168.255.2 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.2 remote-as 65001 - neighbor 192.168.255.2 description om-spine2 - redistribute connected route-map RM-CONN-2-BGP - ! - vlan 110 - rd 192.168.255.3:10110 - route-target both 10110:10110 - redistribute learned - ! - vlan 111 - rd 192.168.255.3:10111 - route-target both 10111:10111 - redistribute learned - ! - address-family evpn - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family ipv4 - no neighbor EVPN-OVERLAY-PEERS activate - neighbor IPv4-UNDERLAY-PEERS activate - ! - address-family rt-membership - neighbor EVPN-OVERLAY-PEERS activate -! -router multicast - ipv4 - software-forwarding kernel - ! - ipv6 - software-forwarding kernel -! -end \ No newline at end of file diff --git a/src/gnmic-prometheus/config_backup/om-pe12_post_running-config.conf b/src/gnmic-prometheus/config_backup/om-pe12_post_running-config.conf deleted file mode 100644 index 34c48faf..00000000 --- a/src/gnmic-prometheus/config_backup/om-pe12_post_running-config.conf +++ /dev/null @@ -1,202 +0,0 @@ -! Command: show running-config -! device: om-pe12 (cEOSLab, EOS-4.32.2F-38195967.4322F (engineering build)) -! -no aaa root -! -username admin privilege 15 role network-admin secret sha512 $6$7GTxsrRjnwheeKfR$zhJ8qycVjAJz41rf5JRSfWIzp93IL5WL7sMS/Taz1yfShz.MAnoajCf7R2n1/EZW7PN5QA3Huayl0lVQesBYN1 -! -management api http-commands - protocol https ssl profile eAPI - no shutdown - ! - vrf MGMT - no shutdown -! -vlan internal order ascending range 1006 1199 -! -no service interface inactive port-id allocation disabled -! -transceiver qsfp default-mode 4x10G -! -service routing protocols model multi-agent -! -hostname om-pe12 -ip name-server vrf MGMT 1.1.1.1 -ip name-server vrf MGMT 8.8.8.8 -! -spanning-tree mode mstp -spanning-tree mst 0 priority 4096 -! -system l1 - unsupported speed action error - unsupported error-correction action error -! -vlan 110 - name Tenant_A_OP_Zone_1 -! -vlan 111 - name Tenant_A_OP_Zone_2 -! -vrf instance MGMT -! -management api gnmi - transport grpc MGMT - vrf MGMT - notification timestamp send-time - ! - transport grpc default - notification timestamp send-time - provider eos-native -! -management security - ssl profile eAPI - cipher-list HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL - certificate eAPI.crt key eAPI.key -! -interface Port-Channel3 - description server01_PortChannel3 - switchport trunk allowed vlan 110 - switchport mode trunk - ! - evpn ethernet-segment - identifier 0000:0000:0101:0102:0033 - route-target import 01:01:01:02:00:33 - lacp system-id 0101.0102.0033 - spanning-tree portfast -! -interface Port-Channel4 - description server02_PortChannel4 - switchport trunk allowed vlan 111 - switchport mode trunk - ! - evpn ethernet-segment - identifier 0000:0000:0101:0102:0044 - route-target import 01:01:01:02:00:44 - lacp system-id 0101.0102.0044 - spanning-tree portfast -! -interface Ethernet1 - description P2P_LINK_TO_OM-SPINE1_Ethernet2 - mtu 9214 - no switchport - ip address 172.31.255.5/31 -! -interface Ethernet2 - description P2P_LINK_TO_OM-SPINE2_Ethernet2 - mtu 9214 - no switchport - ip address 172.31.255.7/31 -! -interface Ethernet3 - description server01_Eth2 - channel-group 3 mode active -! -interface Ethernet4 - description server02_Eth2 - channel-group 4 mode active -! -interface Loopback0 - description EVPN_Overlay_Peering - ip address 192.168.255.4/32 -! -interface Loopback1 - description VTEP_VXLAN_Tunnel_Source - ip address 192.168.254.4/32 -! -interface Management0 - description oob_management - vrf MGMT - ip address 172.144.100.5/24 -! -interface Vlan110 - description Tenant_A_OP_Zone_1 - ip address virtual 10.1.10.1/24 -! -interface Vlan111 - description Tenant_A_OP_Zone_2 - ip address virtual 10.1.11.1/24 -! -interface Vxlan1 - description om-pe12_VTEP - vxlan source-interface Loopback1 - vxlan udp-port 4789 - vxlan vlan 110 vni 10110 - vxlan vlan 111 vni 10111 -! -ip virtual-router mac-address 00:00:00:00:00:01 -! -ip routing -no ip routing vrf MGMT -! -ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY - seq 10 permit 192.168.255.0/24 eq 32 - seq 20 permit 192.168.254.0/24 eq 32 -! -ip route vrf MGMT 0.0.0.0/0 172.144.100.1 -! -ntp server vrf MGMT time.google.com prefer iburst -! -route-map RM-CONN-2-BGP permit 10 - match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY -! -router bfd - multihop interval 300 min-rx 300 multiplier 3 -! -router bgp 65102 - router-id 192.168.255.4 - no bgp default ipv4-unicast - distance bgp 20 200 200 - maximum-paths 4 ecmp 4 - neighbor EVPN-OVERLAY-PEERS peer group - neighbor EVPN-OVERLAY-PEERS update-source Loopback0 - neighbor EVPN-OVERLAY-PEERS bfd - neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 - neighbor EVPN-OVERLAY-PEERS password 7 q+VNViP5i4rVjW1cxFv2wA== - neighbor EVPN-OVERLAY-PEERS send-community - neighbor EVPN-OVERLAY-PEERS maximum-routes 0 - neighbor IPv4-UNDERLAY-PEERS peer group - neighbor IPv4-UNDERLAY-PEERS password 7 AQQvKeimxJu+uGQ/yYvv9w== - neighbor IPv4-UNDERLAY-PEERS send-community - neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 - neighbor 172.31.255.4 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.4 remote-as 65001 - neighbor 172.31.255.4 description om-spine1_Ethernet2 - neighbor 172.31.255.6 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.6 remote-as 65001 - neighbor 172.31.255.6 description om-spine2_Ethernet2 - neighbor 192.168.255.1 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.1 remote-as 65001 - neighbor 192.168.255.1 description om-spine1 - neighbor 192.168.255.2 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.2 remote-as 65001 - neighbor 192.168.255.2 description om-spine2 - redistribute connected route-map RM-CONN-2-BGP - ! - vlan 110 - rd 192.168.255.4:10110 - route-target both 10110:10110 - redistribute learned - ! - vlan 111 - rd 192.168.255.4:10111 - route-target both 10111:10111 - redistribute learned - ! - address-family evpn - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family ipv4 - no neighbor EVPN-OVERLAY-PEERS activate - neighbor IPv4-UNDERLAY-PEERS activate - ! - address-family rt-membership - neighbor EVPN-OVERLAY-PEERS activate -! -router multicast - ipv4 - software-forwarding kernel - ! - ipv6 - software-forwarding kernel -! -end \ No newline at end of file diff --git a/src/gnmic-prometheus/config_backup/om-pe21_post_running-config.conf b/src/gnmic-prometheus/config_backup/om-pe21_post_running-config.conf deleted file mode 100644 index 79c0bfe2..00000000 --- a/src/gnmic-prometheus/config_backup/om-pe21_post_running-config.conf +++ /dev/null @@ -1,202 +0,0 @@ -! Command: show running-config -! device: om-pe21 (cEOSLab, EOS-4.32.2F-38195967.4322F (engineering build)) -! -no aaa root -! -username admin privilege 15 role network-admin secret sha512 $6$7GTxsrRjnwheeKfR$zhJ8qycVjAJz41rf5JRSfWIzp93IL5WL7sMS/Taz1yfShz.MAnoajCf7R2n1/EZW7PN5QA3Huayl0lVQesBYN1 -! -management api http-commands - protocol https ssl profile eAPI - no shutdown - ! - vrf MGMT - no shutdown -! -vlan internal order ascending range 1006 1199 -! -no service interface inactive port-id allocation disabled -! -transceiver qsfp default-mode 4x10G -! -service routing protocols model multi-agent -! -hostname om-pe21 -ip name-server vrf MGMT 1.1.1.1 -ip name-server vrf MGMT 8.8.8.8 -! -spanning-tree mode mstp -spanning-tree mst 0 priority 4096 -! -system l1 - unsupported speed action error - unsupported error-correction action error -! -vlan 110 - name Tenant_A_OP_Zone_1 -! -vlan 111 - name Tenant_A_OP_Zone_2 -! -vrf instance MGMT -! -management api gnmi - transport grpc MGMT - vrf MGMT - notification timestamp send-time - ! - transport grpc default - notification timestamp send-time - provider eos-native -! -management security - ssl profile eAPI - cipher-list HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL - certificate eAPI.crt key eAPI.key -! -interface Port-Channel3 - description server03_PortChannel3 - switchport trunk allowed vlan 110 - switchport mode trunk - ! - evpn ethernet-segment - identifier 0000:0000:0201:0202:0033 - route-target import 02:01:02:02:00:33 - lacp system-id 0201.0202.0033 - spanning-tree portfast -! -interface Port-Channel4 - description server04_PortChannel4 - switchport trunk allowed vlan 111 - switchport mode trunk - ! - evpn ethernet-segment - identifier 0000:0000:0201:0202:0044 - route-target import 02:01:02:02:00:44 - lacp system-id 0201.0202.0044 - spanning-tree portfast -! -interface Ethernet1 - description P2P_LINK_TO_OM-SPINE1_Ethernet3 - mtu 9214 - no switchport - ip address 172.31.255.9/31 -! -interface Ethernet2 - description P2P_LINK_TO_OM-SPINE2_Ethernet3 - mtu 9214 - no switchport - ip address 172.31.255.11/31 -! -interface Ethernet3 - description server03_Eth1 - channel-group 3 mode active -! -interface Ethernet4 - description server04_Eth1 - channel-group 4 mode active -! -interface Loopback0 - description EVPN_Overlay_Peering - ip address 192.168.255.5/32 -! -interface Loopback1 - description VTEP_VXLAN_Tunnel_Source - ip address 192.168.254.5/32 -! -interface Management0 - description oob_management - vrf MGMT - ip address 172.144.100.6/24 -! -interface Vlan110 - description Tenant_A_OP_Zone_1 - ip address virtual 10.1.10.1/24 -! -interface Vlan111 - description Tenant_A_OP_Zone_2 - ip address virtual 10.1.11.1/24 -! -interface Vxlan1 - description om-pe21_VTEP - vxlan source-interface Loopback1 - vxlan udp-port 4789 - vxlan vlan 110 vni 10110 - vxlan vlan 111 vni 10111 -! -ip virtual-router mac-address 00:00:00:00:00:01 -! -ip routing -no ip routing vrf MGMT -! -ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY - seq 10 permit 192.168.255.0/24 eq 32 - seq 20 permit 192.168.254.0/24 eq 32 -! -ip route vrf MGMT 0.0.0.0/0 172.144.100.1 -! -ntp server vrf MGMT time.google.com prefer iburst -! -route-map RM-CONN-2-BGP permit 10 - match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY -! -router bfd - multihop interval 300 min-rx 300 multiplier 3 -! -router bgp 65103 - router-id 192.168.255.5 - no bgp default ipv4-unicast - distance bgp 20 200 200 - maximum-paths 4 ecmp 4 - neighbor EVPN-OVERLAY-PEERS peer group - neighbor EVPN-OVERLAY-PEERS update-source Loopback0 - neighbor EVPN-OVERLAY-PEERS bfd - neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 - neighbor EVPN-OVERLAY-PEERS password 7 q+VNViP5i4rVjW1cxFv2wA== - neighbor EVPN-OVERLAY-PEERS send-community - neighbor EVPN-OVERLAY-PEERS maximum-routes 0 - neighbor IPv4-UNDERLAY-PEERS peer group - neighbor IPv4-UNDERLAY-PEERS password 7 AQQvKeimxJu+uGQ/yYvv9w== - neighbor IPv4-UNDERLAY-PEERS send-community - neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 - neighbor 172.31.255.8 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.8 remote-as 65001 - neighbor 172.31.255.8 description om-spine1_Ethernet3 - neighbor 172.31.255.10 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.10 remote-as 65001 - neighbor 172.31.255.10 description om-spine2_Ethernet3 - neighbor 192.168.255.1 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.1 remote-as 65001 - neighbor 192.168.255.1 description om-spine1 - neighbor 192.168.255.2 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.2 remote-as 65001 - neighbor 192.168.255.2 description om-spine2 - redistribute connected route-map RM-CONN-2-BGP - ! - vlan 110 - rd 192.168.255.5:10110 - route-target both 10110:10110 - redistribute learned - ! - vlan 111 - rd 192.168.255.5:10111 - route-target both 10111:10111 - redistribute learned - ! - address-family evpn - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family ipv4 - no neighbor EVPN-OVERLAY-PEERS activate - neighbor IPv4-UNDERLAY-PEERS activate - ! - address-family rt-membership - neighbor EVPN-OVERLAY-PEERS activate -! -router multicast - ipv4 - software-forwarding kernel - ! - ipv6 - software-forwarding kernel -! -end \ No newline at end of file diff --git a/src/gnmic-prometheus/config_backup/om-pe22_post_running-config.conf b/src/gnmic-prometheus/config_backup/om-pe22_post_running-config.conf deleted file mode 100644 index 12b31e5f..00000000 --- a/src/gnmic-prometheus/config_backup/om-pe22_post_running-config.conf +++ /dev/null @@ -1,202 +0,0 @@ -! Command: show running-config -! device: om-pe22 (cEOSLab, EOS-4.32.2F-38195967.4322F (engineering build)) -! -no aaa root -! -username admin privilege 15 role network-admin secret sha512 $6$7GTxsrRjnwheeKfR$zhJ8qycVjAJz41rf5JRSfWIzp93IL5WL7sMS/Taz1yfShz.MAnoajCf7R2n1/EZW7PN5QA3Huayl0lVQesBYN1 -! -management api http-commands - protocol https ssl profile eAPI - no shutdown - ! - vrf MGMT - no shutdown -! -vlan internal order ascending range 1006 1199 -! -no service interface inactive port-id allocation disabled -! -transceiver qsfp default-mode 4x10G -! -service routing protocols model multi-agent -! -hostname om-pe22 -ip name-server vrf MGMT 1.1.1.1 -ip name-server vrf MGMT 8.8.8.8 -! -spanning-tree mode mstp -spanning-tree mst 0 priority 4096 -! -system l1 - unsupported speed action error - unsupported error-correction action error -! -vlan 110 - name Tenant_A_OP_Zone_1 -! -vlan 111 - name Tenant_A_OP_Zone_2 -! -vrf instance MGMT -! -management api gnmi - transport grpc MGMT - vrf MGMT - notification timestamp send-time - ! - transport grpc default - notification timestamp send-time - provider eos-native -! -management security - ssl profile eAPI - cipher-list HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL - certificate eAPI.crt key eAPI.key -! -interface Port-Channel3 - description server03_PortChannel3 - switchport trunk allowed vlan 110 - switchport mode trunk - ! - evpn ethernet-segment - identifier 0000:0000:0201:0202:0033 - route-target import 02:01:02:02:00:33 - lacp system-id 0201.0202.0033 - spanning-tree portfast -! -interface Port-Channel4 - description server04_PortChannel4 - switchport trunk allowed vlan 111 - switchport mode trunk - ! - evpn ethernet-segment - identifier 0000:0000:0201:0202:0044 - route-target import 02:01:02:02:00:44 - lacp system-id 0201.0202.0044 - spanning-tree portfast -! -interface Ethernet1 - description P2P_LINK_TO_OM-SPINE1_Ethernet4 - mtu 9214 - no switchport - ip address 172.31.255.13/31 -! -interface Ethernet2 - description P2P_LINK_TO_OM-SPINE2_Ethernet4 - mtu 9214 - no switchport - ip address 172.31.255.15/31 -! -interface Ethernet3 - description server03_Eth2 - channel-group 3 mode active -! -interface Ethernet4 - description server04_Eth2 - channel-group 4 mode active -! -interface Loopback0 - description EVPN_Overlay_Peering - ip address 192.168.255.6/32 -! -interface Loopback1 - description VTEP_VXLAN_Tunnel_Source - ip address 192.168.254.6/32 -! -interface Management0 - description oob_management - vrf MGMT - ip address 172.144.100.7/24 -! -interface Vlan110 - description Tenant_A_OP_Zone_1 - ip address virtual 10.1.10.1/24 -! -interface Vlan111 - description Tenant_A_OP_Zone_2 - ip address virtual 10.1.11.1/24 -! -interface Vxlan1 - description om-pe22_VTEP - vxlan source-interface Loopback1 - vxlan udp-port 4789 - vxlan vlan 110 vni 10110 - vxlan vlan 111 vni 10111 -! -ip virtual-router mac-address 00:00:00:00:00:01 -! -ip routing -no ip routing vrf MGMT -! -ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY - seq 10 permit 192.168.255.0/24 eq 32 - seq 20 permit 192.168.254.0/24 eq 32 -! -ip route vrf MGMT 0.0.0.0/0 172.144.100.1 -! -ntp server vrf MGMT time.google.com prefer iburst -! -route-map RM-CONN-2-BGP permit 10 - match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY -! -router bfd - multihop interval 300 min-rx 300 multiplier 3 -! -router bgp 65104 - router-id 192.168.255.6 - no bgp default ipv4-unicast - distance bgp 20 200 200 - maximum-paths 4 ecmp 4 - neighbor EVPN-OVERLAY-PEERS peer group - neighbor EVPN-OVERLAY-PEERS update-source Loopback0 - neighbor EVPN-OVERLAY-PEERS bfd - neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 - neighbor EVPN-OVERLAY-PEERS password 7 q+VNViP5i4rVjW1cxFv2wA== - neighbor EVPN-OVERLAY-PEERS send-community - neighbor EVPN-OVERLAY-PEERS maximum-routes 0 - neighbor IPv4-UNDERLAY-PEERS peer group - neighbor IPv4-UNDERLAY-PEERS password 7 AQQvKeimxJu+uGQ/yYvv9w== - neighbor IPv4-UNDERLAY-PEERS send-community - neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 - neighbor 172.31.255.12 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.12 remote-as 65001 - neighbor 172.31.255.12 description om-spine1_Ethernet4 - neighbor 172.31.255.14 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.14 remote-as 65001 - neighbor 172.31.255.14 description om-spine2_Ethernet4 - neighbor 192.168.255.1 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.1 remote-as 65001 - neighbor 192.168.255.1 description om-spine1 - neighbor 192.168.255.2 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.2 remote-as 65001 - neighbor 192.168.255.2 description om-spine2 - redistribute connected route-map RM-CONN-2-BGP - ! - vlan 110 - rd 192.168.255.6:10110 - route-target both 10110:10110 - redistribute learned - ! - vlan 111 - rd 192.168.255.6:10111 - route-target both 10111:10111 - redistribute learned - ! - address-family evpn - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family ipv4 - no neighbor EVPN-OVERLAY-PEERS activate - neighbor IPv4-UNDERLAY-PEERS activate - ! - address-family rt-membership - neighbor EVPN-OVERLAY-PEERS activate -! -router multicast - ipv4 - software-forwarding kernel - ! - ipv6 - software-forwarding kernel -! -end \ No newline at end of file diff --git a/src/gnmic-prometheus/config_backup/om-spine1_post_running-config.conf b/src/gnmic-prometheus/config_backup/om-spine1_post_running-config.conf deleted file mode 100644 index 5a108e4d..00000000 --- a/src/gnmic-prometheus/config_backup/om-spine1_post_running-config.conf +++ /dev/null @@ -1,159 +0,0 @@ -! Command: show running-config -! device: om-spine1 (cEOSLab, EOS-4.32.2F-38195967.4322F (engineering build)) -! -no aaa root -! -username admin privilege 15 role network-admin secret sha512 $6$7GTxsrRjnwheeKfR$zhJ8qycVjAJz41rf5JRSfWIzp93IL5WL7sMS/Taz1yfShz.MAnoajCf7R2n1/EZW7PN5QA3Huayl0lVQesBYN1 -! -management api http-commands - protocol https ssl profile eAPI - no shutdown - ! - vrf MGMT - no shutdown -! -vlan internal order ascending range 1006 1199 -! -no service interface inactive port-id allocation disabled -! -transceiver qsfp default-mode 4x10G -! -service routing protocols model multi-agent -! -hostname om-spine1 -ip name-server vrf MGMT 1.1.1.1 -ip name-server vrf MGMT 8.8.8.8 -! -spanning-tree mode mstp -! -system l1 - unsupported speed action error - unsupported error-correction action error -! -vrf instance MGMT -! -management api gnmi - transport grpc MGMT - vrf MGMT - notification timestamp send-time - ! - transport grpc default - notification timestamp send-time - provider eos-native -! -management security - ssl profile eAPI - cipher-list HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL - certificate eAPI.crt key eAPI.key -! -interface Ethernet1 - description P2P_LINK_TO_OM-PE11_Ethernet1 - mtu 9214 - no switchport - ip address 172.31.255.0/31 -! -interface Ethernet2 - description P2P_LINK_TO_OM-PE12_Ethernet1 - mtu 9214 - no switchport - ip address 172.31.255.4/31 -! -interface Ethernet3 - description P2P_LINK_TO_OM-PE21_Ethernet1 - mtu 9214 - no switchport - ip address 172.31.255.8/31 -! -interface Ethernet4 - description P2P_LINK_TO_OM-PE22_Ethernet1 - mtu 9214 - no switchport - ip address 172.31.255.12/31 -! -interface Loopback0 - description EVPN_Overlay_Peering - ip address 192.168.255.1/32 -! -interface Management0 - description oob_management - vrf MGMT - ip address 172.144.100.2/24 -! -ip routing -no ip routing vrf MGMT -! -ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY - seq 10 permit 192.168.255.0/24 eq 32 -! -ip route vrf MGMT 0.0.0.0/0 172.144.100.1 -! -ntp server vrf MGMT time.google.com prefer iburst -! -route-map RM-CONN-2-BGP permit 10 - match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY -! -router bfd - multihop interval 300 min-rx 300 multiplier 3 -! -router bgp 65001 - router-id 192.168.255.1 - no bgp default ipv4-unicast - distance bgp 20 200 200 - maximum-paths 4 ecmp 4 - neighbor EVPN-OVERLAY-PEERS peer group - neighbor EVPN-OVERLAY-PEERS next-hop-unchanged - neighbor EVPN-OVERLAY-PEERS update-source Loopback0 - neighbor EVPN-OVERLAY-PEERS bfd - neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 - neighbor EVPN-OVERLAY-PEERS password 7 q+VNViP5i4rVjW1cxFv2wA== - neighbor EVPN-OVERLAY-PEERS send-community - neighbor EVPN-OVERLAY-PEERS maximum-routes 0 - neighbor IPv4-UNDERLAY-PEERS peer group - neighbor IPv4-UNDERLAY-PEERS password 7 AQQvKeimxJu+uGQ/yYvv9w== - neighbor IPv4-UNDERLAY-PEERS send-community - neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 - neighbor 172.31.255.1 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.1 remote-as 65101 - neighbor 172.31.255.1 description om-pe11_Ethernet1 - neighbor 172.31.255.5 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.5 remote-as 65102 - neighbor 172.31.255.5 description om-pe12_Ethernet1 - neighbor 172.31.255.9 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.9 remote-as 65103 - neighbor 172.31.255.9 description om-pe21_Ethernet1 - neighbor 172.31.255.13 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.13 remote-as 65104 - neighbor 172.31.255.13 description om-pe22_Ethernet1 - neighbor 192.168.255.3 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.3 remote-as 65101 - neighbor 192.168.255.3 description om-pe11 - neighbor 192.168.255.4 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.4 remote-as 65102 - neighbor 192.168.255.4 description om-pe12 - neighbor 192.168.255.5 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.5 remote-as 65103 - neighbor 192.168.255.5 description om-pe21 - neighbor 192.168.255.6 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.6 remote-as 65104 - neighbor 192.168.255.6 description om-pe22 - redistribute connected route-map RM-CONN-2-BGP - ! - address-family evpn - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family ipv4 - no neighbor EVPN-OVERLAY-PEERS activate - neighbor IPv4-UNDERLAY-PEERS activate - ! - address-family rt-membership - neighbor EVPN-OVERLAY-PEERS activate - neighbor EVPN-OVERLAY-PEERS default-route-target only -! -router multicast - ipv4 - software-forwarding kernel - ! - ipv6 - software-forwarding kernel -! -end \ No newline at end of file diff --git a/src/gnmic-prometheus/config_backup/om-spine2_post_running-config.conf b/src/gnmic-prometheus/config_backup/om-spine2_post_running-config.conf deleted file mode 100644 index cefb165f..00000000 --- a/src/gnmic-prometheus/config_backup/om-spine2_post_running-config.conf +++ /dev/null @@ -1,159 +0,0 @@ -! Command: show running-config -! device: om-spine2 (cEOSLab, EOS-4.32.2F-38195967.4322F (engineering build)) -! -no aaa root -! -username admin privilege 15 role network-admin secret sha512 $6$7GTxsrRjnwheeKfR$zhJ8qycVjAJz41rf5JRSfWIzp93IL5WL7sMS/Taz1yfShz.MAnoajCf7R2n1/EZW7PN5QA3Huayl0lVQesBYN1 -! -management api http-commands - protocol https ssl profile eAPI - no shutdown - ! - vrf MGMT - no shutdown -! -vlan internal order ascending range 1006 1199 -! -no service interface inactive port-id allocation disabled -! -transceiver qsfp default-mode 4x10G -! -service routing protocols model multi-agent -! -hostname om-spine2 -ip name-server vrf MGMT 1.1.1.1 -ip name-server vrf MGMT 8.8.8.8 -! -spanning-tree mode mstp -! -system l1 - unsupported speed action error - unsupported error-correction action error -! -vrf instance MGMT -! -management api gnmi - transport grpc MGMT - vrf MGMT - notification timestamp send-time - ! - transport grpc default - notification timestamp send-time - provider eos-native -! -management security - ssl profile eAPI - cipher-list HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL - certificate eAPI.crt key eAPI.key -! -interface Ethernet1 - description P2P_LINK_TO_OM-PE11_Ethernet2 - mtu 9214 - no switchport - ip address 172.31.255.2/31 -! -interface Ethernet2 - description P2P_LINK_TO_OM-PE12_Ethernet2 - mtu 9214 - no switchport - ip address 172.31.255.6/31 -! -interface Ethernet3 - description P2P_LINK_TO_OM-PE21_Ethernet2 - mtu 9214 - no switchport - ip address 172.31.255.10/31 -! -interface Ethernet4 - description P2P_LINK_TO_OM-PE22_Ethernet2 - mtu 9214 - no switchport - ip address 172.31.255.14/31 -! -interface Loopback0 - description EVPN_Overlay_Peering - ip address 192.168.255.2/32 -! -interface Management0 - description oob_management - vrf MGMT - ip address 172.144.100.3/24 -! -ip routing -no ip routing vrf MGMT -! -ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY - seq 10 permit 192.168.255.0/24 eq 32 -! -ip route vrf MGMT 0.0.0.0/0 172.144.100.1 -! -ntp server vrf MGMT time.google.com prefer iburst -! -route-map RM-CONN-2-BGP permit 10 - match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY -! -router bfd - multihop interval 300 min-rx 300 multiplier 3 -! -router bgp 65001 - router-id 192.168.255.2 - no bgp default ipv4-unicast - distance bgp 20 200 200 - maximum-paths 4 ecmp 4 - neighbor EVPN-OVERLAY-PEERS peer group - neighbor EVPN-OVERLAY-PEERS next-hop-unchanged - neighbor EVPN-OVERLAY-PEERS update-source Loopback0 - neighbor EVPN-OVERLAY-PEERS bfd - neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 - neighbor EVPN-OVERLAY-PEERS password 7 q+VNViP5i4rVjW1cxFv2wA== - neighbor EVPN-OVERLAY-PEERS send-community - neighbor EVPN-OVERLAY-PEERS maximum-routes 0 - neighbor IPv4-UNDERLAY-PEERS peer group - neighbor IPv4-UNDERLAY-PEERS password 7 AQQvKeimxJu+uGQ/yYvv9w== - neighbor IPv4-UNDERLAY-PEERS send-community - neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 - neighbor 172.31.255.3 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.3 remote-as 65101 - neighbor 172.31.255.3 description om-pe11_Ethernet2 - neighbor 172.31.255.7 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.7 remote-as 65102 - neighbor 172.31.255.7 description om-pe12_Ethernet2 - neighbor 172.31.255.11 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.11 remote-as 65103 - neighbor 172.31.255.11 description om-pe21_Ethernet2 - neighbor 172.31.255.15 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.15 remote-as 65104 - neighbor 172.31.255.15 description om-pe22_Ethernet2 - neighbor 192.168.255.3 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.3 remote-as 65101 - neighbor 192.168.255.3 description om-pe11 - neighbor 192.168.255.4 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.4 remote-as 65102 - neighbor 192.168.255.4 description om-pe12 - neighbor 192.168.255.5 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.5 remote-as 65103 - neighbor 192.168.255.5 description om-pe21 - neighbor 192.168.255.6 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.6 remote-as 65104 - neighbor 192.168.255.6 description om-pe22 - redistribute connected route-map RM-CONN-2-BGP - ! - address-family evpn - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family ipv4 - no neighbor EVPN-OVERLAY-PEERS activate - neighbor IPv4-UNDERLAY-PEERS activate - ! - address-family rt-membership - neighbor EVPN-OVERLAY-PEERS activate - neighbor EVPN-OVERLAY-PEERS default-route-target only -! -router multicast - ipv4 - software-forwarding kernel - ! - ipv6 - software-forwarding kernel -! -end \ No newline at end of file diff --git a/src/gnmic-prometheus/config_backup/om_pe11_post_running-config.conf b/src/gnmic-prometheus/config_backup/om_pe11_post_running-config.conf deleted file mode 100644 index e5f56751..00000000 --- a/src/gnmic-prometheus/config_backup/om_pe11_post_running-config.conf +++ /dev/null @@ -1,202 +0,0 @@ -! Command: show running-config -! device: om-pe11 (cEOSLab, EOS-4.32.2F-38195967.4322F (engineering build)) -! -no aaa root -! -username admin privilege 15 role network-admin secret sha512 $6$7GTxsrRjnwheeKfR$zhJ8qycVjAJz41rf5JRSfWIzp93IL5WL7sMS/Taz1yfShz.MAnoajCf7R2n1/EZW7PN5QA3Huayl0lVQesBYN1 -! -management api http-commands - protocol https ssl profile eAPI - no shutdown - ! - vrf MGMT - no shutdown -! -vlan internal order ascending range 1006 1199 -! -no service interface inactive port-id allocation disabled -! -transceiver qsfp default-mode 4x10G -! -service routing protocols model multi-agent -! -hostname om_pe11 -ip name-server vrf MGMT 1.1.1.1 -ip name-server vrf MGMT 8.8.8.8 -! -spanning-tree mode mstp -spanning-tree mst 0 priority 4096 -! -system l1 - unsupported speed action error - unsupported error-correction action error -! -vlan 110 - name Tenant_A_OP_Zone_1 -! -vlan 111 - name Tenant_A_OP_Zone_2 -! -vrf instance MGMT -! -management api gnmi - transport grpc MGMT - vrf MGMT - notification timestamp send-time - ! - transport grpc default - notification timestamp send-time - provider eos-native -! -management security - ssl profile eAPI - cipher-list HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL - certificate eAPI.crt key eAPI.key -! -interface Port-Channel3 - description server01_PortChannel3 - switchport trunk allowed vlan 110 - switchport mode trunk - ! - evpn ethernet-segment - identifier 0000:0000:0101:0102:0033 - route-target import 01:01:01:02:00:33 - lacp system-id 0101.0102.0033 - spanning-tree portfast -! -interface Port-Channel4 - description server02_PortChannel4 - switchport trunk allowed vlan 111 - switchport mode trunk - ! - evpn ethernet-segment - identifier 0000:0000:0101:0102:0044 - route-target import 01:01:01:02:00:44 - lacp system-id 0101.0102.0044 - spanning-tree portfast -! -interface Ethernet1 - description P2P_LINK_TO_OM_SPINE1_Ethernet1 - mtu 9214 - no switchport - ip address 172.31.255.1/31 -! -interface Ethernet2 - description P2P_LINK_TO_OM_SPINE2_Ethernet1 - mtu 9214 - no switchport - ip address 172.31.255.3/31 -! -interface Ethernet3 - description server01_Eth1 - channel-group 3 mode active -! -interface Ethernet4 - description server02_Eth1 - channel-group 4 mode active -! -interface Loopback0 - description EVPN_Overlay_Peering - ip address 192.168.255.3/32 -! -interface Loopback1 - description VTEP_VXLAN_Tunnel_Source - ip address 192.168.254.3/32 -! -interface Management0 - description oob_management - vrf MGMT - ip address 172.144.100.4/24 -! -interface Vlan110 - description Tenant_A_OP_Zone_1 - ip address virtual 10.1.10.1/24 -! -interface Vlan111 - description Tenant_A_OP_Zone_2 - ip address virtual 10.1.11.1/24 -! -interface Vxlan1 - description om_pe11_VTEP - vxlan source-interface Loopback1 - vxlan udp-port 4789 - vxlan vlan 110 vni 10110 - vxlan vlan 111 vni 10111 -! -ip virtual-router mac-address 00:00:00:00:00:01 -! -ip routing -no ip routing vrf MGMT -! -ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY - seq 10 permit 192.168.255.0/24 eq 32 - seq 20 permit 192.168.254.0/24 eq 32 -! -ip route vrf MGMT 0.0.0.0/0 172.144.100.1 -! -ntp server vrf MGMT time.google.com prefer iburst -! -route-map RM-CONN-2-BGP permit 10 - match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY -! -router bfd - multihop interval 300 min-rx 300 multiplier 3 -! -router bgp 65101 - router-id 192.168.255.3 - no bgp default ipv4-unicast - distance bgp 20 200 200 - maximum-paths 4 ecmp 4 - neighbor EVPN-OVERLAY-PEERS peer group - neighbor EVPN-OVERLAY-PEERS update-source Loopback0 - neighbor EVPN-OVERLAY-PEERS bfd - neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 - neighbor EVPN-OVERLAY-PEERS password 7 q+VNViP5i4rVjW1cxFv2wA== - neighbor EVPN-OVERLAY-PEERS send-community - neighbor EVPN-OVERLAY-PEERS maximum-routes 0 - neighbor IPv4-UNDERLAY-PEERS peer group - neighbor IPv4-UNDERLAY-PEERS password 7 AQQvKeimxJu+uGQ/yYvv9w== - neighbor IPv4-UNDERLAY-PEERS send-community - neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 - neighbor 172.31.255.0 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.0 remote-as 65001 - neighbor 172.31.255.0 description om_spine1_Ethernet1 - neighbor 172.31.255.2 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.2 remote-as 65001 - neighbor 172.31.255.2 description om_spine2_Ethernet1 - neighbor 192.168.255.1 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.1 remote-as 65001 - neighbor 192.168.255.1 description om_spine1 - neighbor 192.168.255.2 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.2 remote-as 65001 - neighbor 192.168.255.2 description om_spine2 - redistribute connected route-map RM-CONN-2-BGP - ! - vlan 110 - rd 192.168.255.3:10110 - route-target both 10110:10110 - redistribute learned - ! - vlan 111 - rd 192.168.255.3:10111 - route-target both 10111:10111 - redistribute learned - ! - address-family evpn - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family ipv4 - no neighbor EVPN-OVERLAY-PEERS activate - neighbor IPv4-UNDERLAY-PEERS activate - ! - address-family rt-membership - neighbor EVPN-OVERLAY-PEERS activate -! -router multicast - ipv4 - software-forwarding kernel - ! - ipv6 - software-forwarding kernel -! -end \ No newline at end of file diff --git a/src/gnmic-prometheus/config_backup/om_pe12_post_running-config.conf b/src/gnmic-prometheus/config_backup/om_pe12_post_running-config.conf deleted file mode 100644 index f749b46e..00000000 --- a/src/gnmic-prometheus/config_backup/om_pe12_post_running-config.conf +++ /dev/null @@ -1,202 +0,0 @@ -! Command: show running-config -! device: om-pe12 (cEOSLab, EOS-4.32.2F-38195967.4322F (engineering build)) -! -no aaa root -! -username admin privilege 15 role network-admin secret sha512 $6$7GTxsrRjnwheeKfR$zhJ8qycVjAJz41rf5JRSfWIzp93IL5WL7sMS/Taz1yfShz.MAnoajCf7R2n1/EZW7PN5QA3Huayl0lVQesBYN1 -! -management api http-commands - protocol https ssl profile eAPI - no shutdown - ! - vrf MGMT - no shutdown -! -vlan internal order ascending range 1006 1199 -! -no service interface inactive port-id allocation disabled -! -transceiver qsfp default-mode 4x10G -! -service routing protocols model multi-agent -! -hostname om_pe12 -ip name-server vrf MGMT 1.1.1.1 -ip name-server vrf MGMT 8.8.8.8 -! -spanning-tree mode mstp -spanning-tree mst 0 priority 4096 -! -system l1 - unsupported speed action error - unsupported error-correction action error -! -vlan 110 - name Tenant_A_OP_Zone_1 -! -vlan 111 - name Tenant_A_OP_Zone_2 -! -vrf instance MGMT -! -management api gnmi - transport grpc MGMT - vrf MGMT - notification timestamp send-time - ! - transport grpc default - notification timestamp send-time - provider eos-native -! -management security - ssl profile eAPI - cipher-list HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL - certificate eAPI.crt key eAPI.key -! -interface Port-Channel3 - description server01_PortChannel3 - switchport trunk allowed vlan 110 - switchport mode trunk - ! - evpn ethernet-segment - identifier 0000:0000:0101:0102:0033 - route-target import 01:01:01:02:00:33 - lacp system-id 0101.0102.0033 - spanning-tree portfast -! -interface Port-Channel4 - description server02_PortChannel4 - switchport trunk allowed vlan 111 - switchport mode trunk - ! - evpn ethernet-segment - identifier 0000:0000:0101:0102:0044 - route-target import 01:01:01:02:00:44 - lacp system-id 0101.0102.0044 - spanning-tree portfast -! -interface Ethernet1 - description P2P_LINK_TO_OM_SPINE1_Ethernet2 - mtu 9214 - no switchport - ip address 172.31.255.5/31 -! -interface Ethernet2 - description P2P_LINK_TO_OM_SPINE2_Ethernet2 - mtu 9214 - no switchport - ip address 172.31.255.7/31 -! -interface Ethernet3 - description server01_Eth2 - channel-group 3 mode active -! -interface Ethernet4 - description server02_Eth2 - channel-group 4 mode active -! -interface Loopback0 - description EVPN_Overlay_Peering - ip address 192.168.255.4/32 -! -interface Loopback1 - description VTEP_VXLAN_Tunnel_Source - ip address 192.168.254.4/32 -! -interface Management0 - description oob_management - vrf MGMT - ip address 172.144.100.5/24 -! -interface Vlan110 - description Tenant_A_OP_Zone_1 - ip address virtual 10.1.10.1/24 -! -interface Vlan111 - description Tenant_A_OP_Zone_2 - ip address virtual 10.1.11.1/24 -! -interface Vxlan1 - description om_pe12_VTEP - vxlan source-interface Loopback1 - vxlan udp-port 4789 - vxlan vlan 110 vni 10110 - vxlan vlan 111 vni 10111 -! -ip virtual-router mac-address 00:00:00:00:00:01 -! -ip routing -no ip routing vrf MGMT -! -ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY - seq 10 permit 192.168.255.0/24 eq 32 - seq 20 permit 192.168.254.0/24 eq 32 -! -ip route vrf MGMT 0.0.0.0/0 172.144.100.1 -! -ntp server vrf MGMT time.google.com prefer iburst -! -route-map RM-CONN-2-BGP permit 10 - match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY -! -router bfd - multihop interval 300 min-rx 300 multiplier 3 -! -router bgp 65102 - router-id 192.168.255.4 - no bgp default ipv4-unicast - distance bgp 20 200 200 - maximum-paths 4 ecmp 4 - neighbor EVPN-OVERLAY-PEERS peer group - neighbor EVPN-OVERLAY-PEERS update-source Loopback0 - neighbor EVPN-OVERLAY-PEERS bfd - neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 - neighbor EVPN-OVERLAY-PEERS password 7 q+VNViP5i4rVjW1cxFv2wA== - neighbor EVPN-OVERLAY-PEERS send-community - neighbor EVPN-OVERLAY-PEERS maximum-routes 0 - neighbor IPv4-UNDERLAY-PEERS peer group - neighbor IPv4-UNDERLAY-PEERS password 7 AQQvKeimxJu+uGQ/yYvv9w== - neighbor IPv4-UNDERLAY-PEERS send-community - neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 - neighbor 172.31.255.4 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.4 remote-as 65001 - neighbor 172.31.255.4 description om_spine1_Ethernet2 - neighbor 172.31.255.6 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.6 remote-as 65001 - neighbor 172.31.255.6 description om_spine2_Ethernet2 - neighbor 192.168.255.1 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.1 remote-as 65001 - neighbor 192.168.255.1 description om_spine1 - neighbor 192.168.255.2 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.2 remote-as 65001 - neighbor 192.168.255.2 description om_spine2 - redistribute connected route-map RM-CONN-2-BGP - ! - vlan 110 - rd 192.168.255.4:10110 - route-target both 10110:10110 - redistribute learned - ! - vlan 111 - rd 192.168.255.4:10111 - route-target both 10111:10111 - redistribute learned - ! - address-family evpn - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family ipv4 - no neighbor EVPN-OVERLAY-PEERS activate - neighbor IPv4-UNDERLAY-PEERS activate - ! - address-family rt-membership - neighbor EVPN-OVERLAY-PEERS activate -! -router multicast - ipv4 - software-forwarding kernel - ! - ipv6 - software-forwarding kernel -! -end \ No newline at end of file diff --git a/src/gnmic-prometheus/config_backup/om_pe21_post_running-config.conf b/src/gnmic-prometheus/config_backup/om_pe21_post_running-config.conf deleted file mode 100644 index 213b77b2..00000000 --- a/src/gnmic-prometheus/config_backup/om_pe21_post_running-config.conf +++ /dev/null @@ -1,202 +0,0 @@ -! Command: show running-config -! device: om-pe21 (cEOSLab, EOS-4.32.2F-38195967.4322F (engineering build)) -! -no aaa root -! -username admin privilege 15 role network-admin secret sha512 $6$7GTxsrRjnwheeKfR$zhJ8qycVjAJz41rf5JRSfWIzp93IL5WL7sMS/Taz1yfShz.MAnoajCf7R2n1/EZW7PN5QA3Huayl0lVQesBYN1 -! -management api http-commands - protocol https ssl profile eAPI - no shutdown - ! - vrf MGMT - no shutdown -! -vlan internal order ascending range 1006 1199 -! -no service interface inactive port-id allocation disabled -! -transceiver qsfp default-mode 4x10G -! -service routing protocols model multi-agent -! -hostname om_pe21 -ip name-server vrf MGMT 1.1.1.1 -ip name-server vrf MGMT 8.8.8.8 -! -spanning-tree mode mstp -spanning-tree mst 0 priority 4096 -! -system l1 - unsupported speed action error - unsupported error-correction action error -! -vlan 110 - name Tenant_A_OP_Zone_1 -! -vlan 111 - name Tenant_A_OP_Zone_2 -! -vrf instance MGMT -! -management api gnmi - transport grpc MGMT - vrf MGMT - notification timestamp send-time - ! - transport grpc default - notification timestamp send-time - provider eos-native -! -management security - ssl profile eAPI - cipher-list HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL - certificate eAPI.crt key eAPI.key -! -interface Port-Channel3 - description server03_PortChannel3 - switchport trunk allowed vlan 110 - switchport mode trunk - ! - evpn ethernet-segment - identifier 0000:0000:0201:0202:0033 - route-target import 02:01:02:02:00:33 - lacp system-id 0201.0202.0033 - spanning-tree portfast -! -interface Port-Channel4 - description server04_PortChannel4 - switchport trunk allowed vlan 111 - switchport mode trunk - ! - evpn ethernet-segment - identifier 0000:0000:0201:0202:0044 - route-target import 02:01:02:02:00:44 - lacp system-id 0201.0202.0044 - spanning-tree portfast -! -interface Ethernet1 - description P2P_LINK_TO_OM_SPINE1_Ethernet3 - mtu 9214 - no switchport - ip address 172.31.255.9/31 -! -interface Ethernet2 - description P2P_LINK_TO_OM_SPINE2_Ethernet3 - mtu 9214 - no switchport - ip address 172.31.255.11/31 -! -interface Ethernet3 - description server03_Eth1 - channel-group 3 mode active -! -interface Ethernet4 - description server04_Eth1 - channel-group 4 mode active -! -interface Loopback0 - description EVPN_Overlay_Peering - ip address 192.168.255.5/32 -! -interface Loopback1 - description VTEP_VXLAN_Tunnel_Source - ip address 192.168.254.5/32 -! -interface Management0 - description oob_management - vrf MGMT - ip address 172.144.100.6/24 -! -interface Vlan110 - description Tenant_A_OP_Zone_1 - ip address virtual 10.1.10.1/24 -! -interface Vlan111 - description Tenant_A_OP_Zone_2 - ip address virtual 10.1.11.1/24 -! -interface Vxlan1 - description om_pe21_VTEP - vxlan source-interface Loopback1 - vxlan udp-port 4789 - vxlan vlan 110 vni 10110 - vxlan vlan 111 vni 10111 -! -ip virtual-router mac-address 00:00:00:00:00:01 -! -ip routing -no ip routing vrf MGMT -! -ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY - seq 10 permit 192.168.255.0/24 eq 32 - seq 20 permit 192.168.254.0/24 eq 32 -! -ip route vrf MGMT 0.0.0.0/0 172.144.100.1 -! -ntp server vrf MGMT time.google.com prefer iburst -! -route-map RM-CONN-2-BGP permit 10 - match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY -! -router bfd - multihop interval 300 min-rx 300 multiplier 3 -! -router bgp 65103 - router-id 192.168.255.5 - no bgp default ipv4-unicast - distance bgp 20 200 200 - maximum-paths 4 ecmp 4 - neighbor EVPN-OVERLAY-PEERS peer group - neighbor EVPN-OVERLAY-PEERS update-source Loopback0 - neighbor EVPN-OVERLAY-PEERS bfd - neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 - neighbor EVPN-OVERLAY-PEERS password 7 q+VNViP5i4rVjW1cxFv2wA== - neighbor EVPN-OVERLAY-PEERS send-community - neighbor EVPN-OVERLAY-PEERS maximum-routes 0 - neighbor IPv4-UNDERLAY-PEERS peer group - neighbor IPv4-UNDERLAY-PEERS password 7 AQQvKeimxJu+uGQ/yYvv9w== - neighbor IPv4-UNDERLAY-PEERS send-community - neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 - neighbor 172.31.255.8 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.8 remote-as 65001 - neighbor 172.31.255.8 description om_spine1_Ethernet3 - neighbor 172.31.255.10 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.10 remote-as 65001 - neighbor 172.31.255.10 description om_spine2_Ethernet3 - neighbor 192.168.255.1 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.1 remote-as 65001 - neighbor 192.168.255.1 description om_spine1 - neighbor 192.168.255.2 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.2 remote-as 65001 - neighbor 192.168.255.2 description om_spine2 - redistribute connected route-map RM-CONN-2-BGP - ! - vlan 110 - rd 192.168.255.5:10110 - route-target both 10110:10110 - redistribute learned - ! - vlan 111 - rd 192.168.255.5:10111 - route-target both 10111:10111 - redistribute learned - ! - address-family evpn - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family ipv4 - no neighbor EVPN-OVERLAY-PEERS activate - neighbor IPv4-UNDERLAY-PEERS activate - ! - address-family rt-membership - neighbor EVPN-OVERLAY-PEERS activate -! -router multicast - ipv4 - software-forwarding kernel - ! - ipv6 - software-forwarding kernel -! -end \ No newline at end of file diff --git a/src/gnmic-prometheus/config_backup/om_pe22_post_running-config.conf b/src/gnmic-prometheus/config_backup/om_pe22_post_running-config.conf deleted file mode 100644 index 44c54418..00000000 --- a/src/gnmic-prometheus/config_backup/om_pe22_post_running-config.conf +++ /dev/null @@ -1,202 +0,0 @@ -! Command: show running-config -! device: om-pe22 (cEOSLab, EOS-4.32.2F-38195967.4322F (engineering build)) -! -no aaa root -! -username admin privilege 15 role network-admin secret sha512 $6$7GTxsrRjnwheeKfR$zhJ8qycVjAJz41rf5JRSfWIzp93IL5WL7sMS/Taz1yfShz.MAnoajCf7R2n1/EZW7PN5QA3Huayl0lVQesBYN1 -! -management api http-commands - protocol https ssl profile eAPI - no shutdown - ! - vrf MGMT - no shutdown -! -vlan internal order ascending range 1006 1199 -! -no service interface inactive port-id allocation disabled -! -transceiver qsfp default-mode 4x10G -! -service routing protocols model multi-agent -! -hostname om_pe22 -ip name-server vrf MGMT 1.1.1.1 -ip name-server vrf MGMT 8.8.8.8 -! -spanning-tree mode mstp -spanning-tree mst 0 priority 4096 -! -system l1 - unsupported speed action error - unsupported error-correction action error -! -vlan 110 - name Tenant_A_OP_Zone_1 -! -vlan 111 - name Tenant_A_OP_Zone_2 -! -vrf instance MGMT -! -management api gnmi - transport grpc MGMT - vrf MGMT - notification timestamp send-time - ! - transport grpc default - notification timestamp send-time - provider eos-native -! -management security - ssl profile eAPI - cipher-list HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL - certificate eAPI.crt key eAPI.key -! -interface Port-Channel3 - description server03_PortChannel3 - switchport trunk allowed vlan 110 - switchport mode trunk - ! - evpn ethernet-segment - identifier 0000:0000:0201:0202:0033 - route-target import 02:01:02:02:00:33 - lacp system-id 0201.0202.0033 - spanning-tree portfast -! -interface Port-Channel4 - description server04_PortChannel4 - switchport trunk allowed vlan 111 - switchport mode trunk - ! - evpn ethernet-segment - identifier 0000:0000:0201:0202:0044 - route-target import 02:01:02:02:00:44 - lacp system-id 0201.0202.0044 - spanning-tree portfast -! -interface Ethernet1 - description P2P_LINK_TO_OM_SPINE1_Ethernet4 - mtu 9214 - no switchport - ip address 172.31.255.13/31 -! -interface Ethernet2 - description P2P_LINK_TO_OM_SPINE2_Ethernet4 - mtu 9214 - no switchport - ip address 172.31.255.15/31 -! -interface Ethernet3 - description server03_Eth2 - channel-group 3 mode active -! -interface Ethernet4 - description server04_Eth2 - channel-group 4 mode active -! -interface Loopback0 - description EVPN_Overlay_Peering - ip address 192.168.255.6/32 -! -interface Loopback1 - description VTEP_VXLAN_Tunnel_Source - ip address 192.168.254.6/32 -! -interface Management0 - description oob_management - vrf MGMT - ip address 172.144.100.7/24 -! -interface Vlan110 - description Tenant_A_OP_Zone_1 - ip address virtual 10.1.10.1/24 -! -interface Vlan111 - description Tenant_A_OP_Zone_2 - ip address virtual 10.1.11.1/24 -! -interface Vxlan1 - description om_pe22_VTEP - vxlan source-interface Loopback1 - vxlan udp-port 4789 - vxlan vlan 110 vni 10110 - vxlan vlan 111 vni 10111 -! -ip virtual-router mac-address 00:00:00:00:00:01 -! -ip routing -no ip routing vrf MGMT -! -ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY - seq 10 permit 192.168.255.0/24 eq 32 - seq 20 permit 192.168.254.0/24 eq 32 -! -ip route vrf MGMT 0.0.0.0/0 172.144.100.1 -! -ntp server vrf MGMT time.google.com prefer iburst -! -route-map RM-CONN-2-BGP permit 10 - match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY -! -router bfd - multihop interval 300 min-rx 300 multiplier 3 -! -router bgp 65104 - router-id 192.168.255.6 - no bgp default ipv4-unicast - distance bgp 20 200 200 - maximum-paths 4 ecmp 4 - neighbor EVPN-OVERLAY-PEERS peer group - neighbor EVPN-OVERLAY-PEERS update-source Loopback0 - neighbor EVPN-OVERLAY-PEERS bfd - neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 - neighbor EVPN-OVERLAY-PEERS password 7 q+VNViP5i4rVjW1cxFv2wA== - neighbor EVPN-OVERLAY-PEERS send-community - neighbor EVPN-OVERLAY-PEERS maximum-routes 0 - neighbor IPv4-UNDERLAY-PEERS peer group - neighbor IPv4-UNDERLAY-PEERS password 7 AQQvKeimxJu+uGQ/yYvv9w== - neighbor IPv4-UNDERLAY-PEERS send-community - neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 - neighbor 172.31.255.12 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.12 remote-as 65001 - neighbor 172.31.255.12 description om_spine1_Ethernet4 - neighbor 172.31.255.14 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.14 remote-as 65001 - neighbor 172.31.255.14 description om_spine2_Ethernet4 - neighbor 192.168.255.1 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.1 remote-as 65001 - neighbor 192.168.255.1 description om_spine1 - neighbor 192.168.255.2 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.2 remote-as 65001 - neighbor 192.168.255.2 description om_spine2 - redistribute connected route-map RM-CONN-2-BGP - ! - vlan 110 - rd 192.168.255.6:10110 - route-target both 10110:10110 - redistribute learned - ! - vlan 111 - rd 192.168.255.6:10111 - route-target both 10111:10111 - redistribute learned - ! - address-family evpn - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family ipv4 - no neighbor EVPN-OVERLAY-PEERS activate - neighbor IPv4-UNDERLAY-PEERS activate - ! - address-family rt-membership - neighbor EVPN-OVERLAY-PEERS activate -! -router multicast - ipv4 - software-forwarding kernel - ! - ipv6 - software-forwarding kernel -! -end \ No newline at end of file diff --git a/src/gnmic-prometheus/config_backup/om_spine1_post_running-config.conf b/src/gnmic-prometheus/config_backup/om_spine1_post_running-config.conf deleted file mode 100644 index 40e036a9..00000000 --- a/src/gnmic-prometheus/config_backup/om_spine1_post_running-config.conf +++ /dev/null @@ -1,159 +0,0 @@ -! Command: show running-config -! device: om-spine1 (cEOSLab, EOS-4.32.2F-38195967.4322F (engineering build)) -! -no aaa root -! -username admin privilege 15 role network-admin secret sha512 $6$7GTxsrRjnwheeKfR$zhJ8qycVjAJz41rf5JRSfWIzp93IL5WL7sMS/Taz1yfShz.MAnoajCf7R2n1/EZW7PN5QA3Huayl0lVQesBYN1 -! -management api http-commands - protocol https ssl profile eAPI - no shutdown - ! - vrf MGMT - no shutdown -! -vlan internal order ascending range 1006 1199 -! -no service interface inactive port-id allocation disabled -! -transceiver qsfp default-mode 4x10G -! -service routing protocols model multi-agent -! -hostname om_spine1 -ip name-server vrf MGMT 1.1.1.1 -ip name-server vrf MGMT 8.8.8.8 -! -spanning-tree mode mstp -! -system l1 - unsupported speed action error - unsupported error-correction action error -! -vrf instance MGMT -! -management api gnmi - transport grpc MGMT - vrf MGMT - notification timestamp send-time - ! - transport grpc default - notification timestamp send-time - provider eos-native -! -management security - ssl profile eAPI - cipher-list HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL - certificate eAPI.crt key eAPI.key -! -interface Ethernet1 - description P2P_LINK_TO_OM_PE11_Ethernet1 - mtu 9214 - no switchport - ip address 172.31.255.0/31 -! -interface Ethernet2 - description P2P_LINK_TO_OM_PE12_Ethernet1 - mtu 9214 - no switchport - ip address 172.31.255.4/31 -! -interface Ethernet3 - description P2P_LINK_TO_OM_PE21_Ethernet1 - mtu 9214 - no switchport - ip address 172.31.255.8/31 -! -interface Ethernet4 - description P2P_LINK_TO_OM_PE22_Ethernet1 - mtu 9214 - no switchport - ip address 172.31.255.12/31 -! -interface Loopback0 - description EVPN_Overlay_Peering - ip address 192.168.255.1/32 -! -interface Management0 - description oob_management - vrf MGMT - ip address 172.144.100.2/24 -! -ip routing -no ip routing vrf MGMT -! -ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY - seq 10 permit 192.168.255.0/24 eq 32 -! -ip route vrf MGMT 0.0.0.0/0 172.144.100.1 -! -ntp server vrf MGMT time.google.com prefer iburst -! -route-map RM-CONN-2-BGP permit 10 - match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY -! -router bfd - multihop interval 300 min-rx 300 multiplier 3 -! -router bgp 65001 - router-id 192.168.255.1 - no bgp default ipv4-unicast - distance bgp 20 200 200 - maximum-paths 4 ecmp 4 - neighbor EVPN-OVERLAY-PEERS peer group - neighbor EVPN-OVERLAY-PEERS next-hop-unchanged - neighbor EVPN-OVERLAY-PEERS update-source Loopback0 - neighbor EVPN-OVERLAY-PEERS bfd - neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 - neighbor EVPN-OVERLAY-PEERS password 7 q+VNViP5i4rVjW1cxFv2wA== - neighbor EVPN-OVERLAY-PEERS send-community - neighbor EVPN-OVERLAY-PEERS maximum-routes 0 - neighbor IPv4-UNDERLAY-PEERS peer group - neighbor IPv4-UNDERLAY-PEERS password 7 AQQvKeimxJu+uGQ/yYvv9w== - neighbor IPv4-UNDERLAY-PEERS send-community - neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 - neighbor 172.31.255.1 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.1 remote-as 65101 - neighbor 172.31.255.1 description om_pe11_Ethernet1 - neighbor 172.31.255.5 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.5 remote-as 65102 - neighbor 172.31.255.5 description om_pe12_Ethernet1 - neighbor 172.31.255.9 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.9 remote-as 65103 - neighbor 172.31.255.9 description om_pe21_Ethernet1 - neighbor 172.31.255.13 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.13 remote-as 65104 - neighbor 172.31.255.13 description om_pe22_Ethernet1 - neighbor 192.168.255.3 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.3 remote-as 65101 - neighbor 192.168.255.3 description om_pe11 - neighbor 192.168.255.4 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.4 remote-as 65102 - neighbor 192.168.255.4 description om_pe12 - neighbor 192.168.255.5 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.5 remote-as 65103 - neighbor 192.168.255.5 description om_pe21 - neighbor 192.168.255.6 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.6 remote-as 65104 - neighbor 192.168.255.6 description om_pe22 - redistribute connected route-map RM-CONN-2-BGP - ! - address-family evpn - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family ipv4 - no neighbor EVPN-OVERLAY-PEERS activate - neighbor IPv4-UNDERLAY-PEERS activate - ! - address-family rt-membership - neighbor EVPN-OVERLAY-PEERS activate - neighbor EVPN-OVERLAY-PEERS default-route-target only -! -router multicast - ipv4 - software-forwarding kernel - ! - ipv6 - software-forwarding kernel -! -end \ No newline at end of file diff --git a/src/gnmic-prometheus/config_backup/om_spine2_post_running-config.conf b/src/gnmic-prometheus/config_backup/om_spine2_post_running-config.conf deleted file mode 100644 index 1ffc3bd6..00000000 --- a/src/gnmic-prometheus/config_backup/om_spine2_post_running-config.conf +++ /dev/null @@ -1,159 +0,0 @@ -! Command: show running-config -! device: om-spine2 (cEOSLab, EOS-4.32.2F-38195967.4322F (engineering build)) -! -no aaa root -! -username admin privilege 15 role network-admin secret sha512 $6$7GTxsrRjnwheeKfR$zhJ8qycVjAJz41rf5JRSfWIzp93IL5WL7sMS/Taz1yfShz.MAnoajCf7R2n1/EZW7PN5QA3Huayl0lVQesBYN1 -! -management api http-commands - protocol https ssl profile eAPI - no shutdown - ! - vrf MGMT - no shutdown -! -vlan internal order ascending range 1006 1199 -! -no service interface inactive port-id allocation disabled -! -transceiver qsfp default-mode 4x10G -! -service routing protocols model multi-agent -! -hostname om_spine2 -ip name-server vrf MGMT 1.1.1.1 -ip name-server vrf MGMT 8.8.8.8 -! -spanning-tree mode mstp -! -system l1 - unsupported speed action error - unsupported error-correction action error -! -vrf instance MGMT -! -management api gnmi - transport grpc MGMT - vrf MGMT - notification timestamp send-time - ! - transport grpc default - notification timestamp send-time - provider eos-native -! -management security - ssl profile eAPI - cipher-list HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL - certificate eAPI.crt key eAPI.key -! -interface Ethernet1 - description P2P_LINK_TO_OM_PE11_Ethernet2 - mtu 9214 - no switchport - ip address 172.31.255.2/31 -! -interface Ethernet2 - description P2P_LINK_TO_OM_PE12_Ethernet2 - mtu 9214 - no switchport - ip address 172.31.255.6/31 -! -interface Ethernet3 - description P2P_LINK_TO_OM_PE21_Ethernet2 - mtu 9214 - no switchport - ip address 172.31.255.10/31 -! -interface Ethernet4 - description P2P_LINK_TO_OM_PE22_Ethernet2 - mtu 9214 - no switchport - ip address 172.31.255.14/31 -! -interface Loopback0 - description EVPN_Overlay_Peering - ip address 192.168.255.2/32 -! -interface Management0 - description oob_management - vrf MGMT - ip address 172.144.100.3/24 -! -ip routing -no ip routing vrf MGMT -! -ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY - seq 10 permit 192.168.255.0/24 eq 32 -! -ip route vrf MGMT 0.0.0.0/0 172.144.100.1 -! -ntp server vrf MGMT time.google.com prefer iburst -! -route-map RM-CONN-2-BGP permit 10 - match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY -! -router bfd - multihop interval 300 min-rx 300 multiplier 3 -! -router bgp 65001 - router-id 192.168.255.2 - no bgp default ipv4-unicast - distance bgp 20 200 200 - maximum-paths 4 ecmp 4 - neighbor EVPN-OVERLAY-PEERS peer group - neighbor EVPN-OVERLAY-PEERS next-hop-unchanged - neighbor EVPN-OVERLAY-PEERS update-source Loopback0 - neighbor EVPN-OVERLAY-PEERS bfd - neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 - neighbor EVPN-OVERLAY-PEERS password 7 q+VNViP5i4rVjW1cxFv2wA== - neighbor EVPN-OVERLAY-PEERS send-community - neighbor EVPN-OVERLAY-PEERS maximum-routes 0 - neighbor IPv4-UNDERLAY-PEERS peer group - neighbor IPv4-UNDERLAY-PEERS password 7 AQQvKeimxJu+uGQ/yYvv9w== - neighbor IPv4-UNDERLAY-PEERS send-community - neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 - neighbor 172.31.255.3 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.3 remote-as 65101 - neighbor 172.31.255.3 description om_pe11_Ethernet2 - neighbor 172.31.255.7 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.7 remote-as 65102 - neighbor 172.31.255.7 description om_pe12_Ethernet2 - neighbor 172.31.255.11 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.11 remote-as 65103 - neighbor 172.31.255.11 description om_pe21_Ethernet2 - neighbor 172.31.255.15 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.15 remote-as 65104 - neighbor 172.31.255.15 description om_pe22_Ethernet2 - neighbor 192.168.255.3 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.3 remote-as 65101 - neighbor 192.168.255.3 description om_pe11 - neighbor 192.168.255.4 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.4 remote-as 65102 - neighbor 192.168.255.4 description om_pe12 - neighbor 192.168.255.5 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.5 remote-as 65103 - neighbor 192.168.255.5 description om_pe21 - neighbor 192.168.255.6 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.6 remote-as 65104 - neighbor 192.168.255.6 description om_pe22 - redistribute connected route-map RM-CONN-2-BGP - ! - address-family evpn - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family ipv4 - no neighbor EVPN-OVERLAY-PEERS activate - neighbor IPv4-UNDERLAY-PEERS activate - ! - address-family rt-membership - neighbor EVPN-OVERLAY-PEERS activate - neighbor EVPN-OVERLAY-PEERS default-route-target only -! -router multicast - ipv4 - software-forwarding kernel - ! - ipv6 - software-forwarding kernel -! -end \ No newline at end of file diff --git a/src/gnmic-prometheus/documentation/devices/om-pe11.md b/src/gnmic-prometheus/documentation/devices/om-pe11.md deleted file mode 100644 index ad021e93..00000000 --- a/src/gnmic-prometheus/documentation/devices/om-pe11.md +++ /dev/null @@ -1,719 +0,0 @@ -# om-pe11 - -## Table of Contents - -- [Management](#management) - - [Management Interfaces](#management-interfaces) - - [IP Name Servers](#ip-name-servers) - - [NTP](#ntp) - - [Management API gNMI](#management-api-gnmi) - - [Management API HTTP](#management-api-http) -- [Authentication](#authentication) - - [Local Users](#local-users) -- [Management Security](#management-security) - - [Management Security Summary](#management-security-summary) - - [Management Security SSL Profiles](#management-security-ssl-profiles) - - [Management Security Device Configuration](#management-security-device-configuration) -- [Spanning Tree](#spanning-tree) - - [Spanning Tree Summary](#spanning-tree-summary) - - [Spanning Tree Device Configuration](#spanning-tree-device-configuration) -- [Internal VLAN Allocation Policy](#internal-vlan-allocation-policy) - - [Internal VLAN Allocation Policy Summary](#internal-vlan-allocation-policy-summary) - - [Internal VLAN Allocation Policy Device Configuration](#internal-vlan-allocation-policy-device-configuration) -- [VLANs](#vlans) - - [VLANs Summary](#vlans-summary) - - [VLANs Device Configuration](#vlans-device-configuration) -- [Interfaces](#interfaces) - - [Ethernet Interfaces](#ethernet-interfaces) - - [Port-Channel Interfaces](#port-channel-interfaces) - - [Loopback Interfaces](#loopback-interfaces) - - [VLAN Interfaces](#vlan-interfaces) - - [VXLAN Interface](#vxlan-interface) -- [Routing](#routing) - - [Service Routing Protocols Model](#service-routing-protocols-model) - - [Virtual Router MAC Address](#virtual-router-mac-address) - - [IP Routing](#ip-routing) - - [IPv6 Routing](#ipv6-routing) - - [Static Routes](#static-routes) - - [Router BGP](#router-bgp) -- [BFD](#bfd) - - [Router BFD](#router-bfd) -- [Multicast](#multicast) - - [IP IGMP Snooping](#ip-igmp-snooping) -- [Filters](#filters) - - [Prefix-lists](#prefix-lists) - - [Route-maps](#route-maps) -- [VRF Instances](#vrf-instances) - - [VRF Instances Summary](#vrf-instances-summary) - - [VRF Instances Device Configuration](#vrf-instances-device-configuration) - -## Management - -### Management Interfaces - -#### Management Interfaces Summary - -##### IPv4 - -| Management Interface | Description | Type | VRF | IP Address | Gateway | -| -------------------- | ----------- | ---- | --- | ---------- | ------- | -| Management0 | oob_management | oob | MGMT | 172.144.100.4/24 | 172.144.100.1 | - -##### IPv6 - -| Management Interface | Description | Type | VRF | IPv6 Address | IPv6 Gateway | -| -------------------- | ----------- | ---- | --- | ------------ | ------------ | -| Management0 | oob_management | oob | MGMT | - | - | - -#### Management Interfaces Device Configuration - -```eos -! -interface Management0 - description oob_management - no shutdown - vrf MGMT - ip address 172.144.100.4/24 -``` - -### IP Name Servers - -#### IP Name Servers Summary - -| Name Server | VRF | Priority | -| ----------- | --- | -------- | -| 1.1.1.1 | MGMT | - | -| 8.8.8.8 | MGMT | - | - -#### IP Name Servers Device Configuration - -```eos -ip name-server vrf MGMT 1.1.1.1 -ip name-server vrf MGMT 8.8.8.8 -``` - -### NTP - -#### NTP Summary - -##### NTP Servers - -| Server | VRF | Preferred | Burst | iBurst | Version | Min Poll | Max Poll | Local-interface | Key | -| ------ | --- | --------- | ----- | ------ | ------- | -------- | -------- | --------------- | --- | -| time.google.com | MGMT | True | - | True | - | - | - | - | - | - -#### NTP Device Configuration - -```eos -! -ntp server vrf MGMT time.google.com prefer iburst -``` - -### Management API gNMI - -#### Management API gNMI Summary - -| Transport | SSL Profile | VRF | Notification Timestamp | ACL | Port | -| --------- | ----------- | --- | ---------------------- | --- | ---- | -| MGMT | - | MGMT | send-time | - | 6030 | -| default | - | - | send-time | - | 6030 | - -Provider eos-native is configured. - -#### Management API gNMI Device Configuration - -```eos -! -management api gnmi - transport grpc MGMT - vrf MGMT - notification timestamp send-time - transport grpc default - notification timestamp send-time - provider eos-native -``` - -### Management API HTTP - -#### Management API HTTP Summary - -| HTTP | HTTPS | Default Services | -| ---- | ----- | ---------------- | -| False | True | - | - -Management HTTPS is using the SSL profile eAPI - -#### Management API VRF Access - -| VRF Name | IPv4 ACL | IPv6 ACL | -| -------- | -------- | -------- | -| MGMT | - | - | - -#### Management API HTTP Device Configuration - -```eos -! -management api http-commands - protocol https - protocol https ssl profile eAPI - no shutdown - ! - vrf MGMT - no shutdown -``` - -## Authentication - -### Local Users - -#### Local Users Summary - -| User | Privilege | Role | Disabled | Shell | -| ---- | --------- | ---- | -------- | ----- | -| admin | 15 | network-admin | False | - | - -#### Local Users Device Configuration - -```eos -! -username admin privilege 15 role network-admin secret sha512 -``` - -## Management Security - -### Management Security Summary - -| Settings | Value | -| -------- | ----- | - -### Management Security SSL Profiles - -| SSL Profile Name | TLS protocol accepted | Certificate filename | Key filename | Cipher List | CRLs | -| ---------------- | --------------------- | -------------------- | ------------ | ----------- | ---- | -| eAPI | - | eAPI.crt | eAPI.key | HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL | - | - -### Management Security Device Configuration - -```eos -! -management security - ssl profile eAPI - cipher-list HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL - certificate eAPI.crt key eAPI.key -``` - -## Spanning Tree - -### Spanning Tree Summary - -STP mode: **mstp** - -#### MSTP Instance and Priority - -| Instance(s) | Priority | -| -------- | -------- | -| 0 | 4096 | - -### Spanning Tree Device Configuration - -```eos -! -spanning-tree mode mstp -spanning-tree mst 0 priority 4096 -``` - -## Internal VLAN Allocation Policy - -### Internal VLAN Allocation Policy Summary - -| Policy Allocation | Range Beginning | Range Ending | -| ------------------| --------------- | ------------ | -| ascending | 1006 | 1199 | - -### Internal VLAN Allocation Policy Device Configuration - -```eos -! -vlan internal order ascending range 1006 1199 -``` - -## VLANs - -### VLANs Summary - -| VLAN ID | Name | Trunk Groups | -| ------- | ---- | ------------ | -| 110 | Tenant_A_OP_Zone_1 | - | -| 111 | Tenant_A_OP_Zone_2 | - | - -### VLANs Device Configuration - -```eos -! -vlan 110 - name Tenant_A_OP_Zone_1 -! -vlan 111 - name Tenant_A_OP_Zone_2 -``` - -## Interfaces - -### Ethernet Interfaces - -#### Ethernet Interfaces Summary - -##### L2 - -| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group | -| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- | -| Ethernet3 | server01_Eth1 | *trunk | *110 | *- | *- | 3 | -| Ethernet4 | server02_Eth1 | *trunk | *111 | *- | *- | 4 | - -*Inherited from Port-Channel Interface - -##### IPv4 - -| Interface | Description | Type | Channel Group | IP Address | VRF | MTU | Shutdown | ACL In | ACL Out | -| --------- | ----------- | -----| ------------- | ---------- | ----| ---- | -------- | ------ | ------- | -| Ethernet1 | P2P_LINK_TO_OM-SPINE1_Ethernet1 | routed | - | 172.31.255.1/31 | default | 9214 | False | - | - | -| Ethernet2 | P2P_LINK_TO_OM-SPINE2_Ethernet1 | routed | - | 172.31.255.3/31 | default | 9214 | False | - | - | - -#### Ethernet Interfaces Device Configuration - -```eos -! -interface Ethernet1 - description P2P_LINK_TO_OM-SPINE1_Ethernet1 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.1/31 -! -interface Ethernet2 - description P2P_LINK_TO_OM-SPINE2_Ethernet1 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.3/31 -! -interface Ethernet3 - description server01_Eth1 - no shutdown - channel-group 3 mode active -! -interface Ethernet4 - description server02_Eth1 - no shutdown - channel-group 4 mode active -``` - -### Port-Channel Interfaces - -#### Port-Channel Interfaces Summary - -##### L2 - -| Interface | Description | Type | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI | -| --------- | ----------- | ---- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- | -| Port-Channel3 | server01_PortChannel3 | switched | trunk | 110 | - | - | - | - | - | 0000:0000:0101:0102:0033 | -| Port-Channel4 | server02_PortChannel4 | switched | trunk | 111 | - | - | - | - | - | 0000:0000:0101:0102:0044 | - -##### EVPN Multihoming - -####### EVPN Multihoming Summary - -| Interface | Ethernet Segment Identifier | Multihoming Redundancy Mode | Route Target | -| --------- | --------------------------- | --------------------------- | ------------ | -| Port-Channel3 | 0000:0000:0101:0102:0033 | all-active | 01:01:01:02:00:33 | -| Port-Channel4 | 0000:0000:0101:0102:0044 | all-active | 01:01:01:02:00:44 | - -#### Port-Channel Interfaces Device Configuration - -```eos -! -interface Port-Channel3 - description server01_PortChannel3 - no shutdown - switchport - switchport trunk allowed vlan 110 - switchport mode trunk - evpn ethernet-segment - identifier 0000:0000:0101:0102:0033 - route-target import 01:01:01:02:00:33 - lacp system-id 0101.0102.0033 - spanning-tree portfast -! -interface Port-Channel4 - description server02_PortChannel4 - no shutdown - switchport - switchport trunk allowed vlan 111 - switchport mode trunk - evpn ethernet-segment - identifier 0000:0000:0101:0102:0044 - route-target import 01:01:01:02:00:44 - lacp system-id 0101.0102.0044 - spanning-tree portfast -``` - -### Loopback Interfaces - -#### Loopback Interfaces Summary - -##### IPv4 - -| Interface | Description | VRF | IP Address | -| --------- | ----------- | --- | ---------- | -| Loopback0 | EVPN_Overlay_Peering | default | 192.168.255.3/32 | -| Loopback1 | VTEP_VXLAN_Tunnel_Source | default | 192.168.254.3/32 | - -##### IPv6 - -| Interface | Description | VRF | IPv6 Address | -| --------- | ----------- | --- | ------------ | -| Loopback0 | EVPN_Overlay_Peering | default | - | -| Loopback1 | VTEP_VXLAN_Tunnel_Source | default | - | - -#### Loopback Interfaces Device Configuration - -```eos -! -interface Loopback0 - description EVPN_Overlay_Peering - no shutdown - ip address 192.168.255.3/32 -! -interface Loopback1 - description VTEP_VXLAN_Tunnel_Source - no shutdown - ip address 192.168.254.3/32 -``` - -### VLAN Interfaces - -#### VLAN Interfaces Summary - -| Interface | Description | VRF | MTU | Shutdown | -| --------- | ----------- | --- | ---- | -------- | -| Vlan110 | Tenant_A_OP_Zone_1 | default | - | False | -| Vlan111 | Tenant_A_OP_Zone_2 | default | - | False | - -##### IPv4 - -| Interface | VRF | IP Address | IP Address Virtual | IP Router Virtual Address | VRRP | ACL In | ACL Out | -| --------- | --- | ---------- | ------------------ | ------------------------- | ---- | ------ | ------- | -| Vlan110 | default | - | 10.1.10.1/24 | - | - | - | - | -| Vlan111 | default | - | 10.1.11.1/24 | - | - | - | - | - -#### VLAN Interfaces Device Configuration - -```eos -! -interface Vlan110 - description Tenant_A_OP_Zone_1 - no shutdown - ip address virtual 10.1.10.1/24 -! -interface Vlan111 - description Tenant_A_OP_Zone_2 - no shutdown - ip address virtual 10.1.11.1/24 -``` - -### VXLAN Interface - -#### VXLAN Interface Summary - -| Setting | Value | -| ------- | ----- | -| Source Interface | Loopback1 | -| UDP port | 4789 | - -##### VLAN to VNI, Flood List and Multicast Group Mappings - -| VLAN | VNI | Flood List | Multicast Group | -| ---- | --- | ---------- | --------------- | -| 110 | 10110 | - | - | -| 111 | 10111 | - | - | - -#### VXLAN Interface Device Configuration - -```eos -! -interface Vxlan1 - description om-pe11_VTEP - vxlan source-interface Loopback1 - vxlan udp-port 4789 - vxlan vlan 110 vni 10110 - vxlan vlan 111 vni 10111 -``` - -## Routing - -### Service Routing Protocols Model - -Multi agent routing protocol model enabled - -```eos -! -service routing protocols model multi-agent -``` - -### Virtual Router MAC Address - -#### Virtual Router MAC Address Summary - -Virtual Router MAC Address: 00:00:00:00:00:01 - -#### Virtual Router MAC Address Device Configuration - -```eos -! -ip virtual-router mac-address 00:00:00:00:00:01 -``` - -### IP Routing - -#### IP Routing Summary - -| VRF | Routing Enabled | -| --- | --------------- | -| default | True | -| MGMT | False | - -#### IP Routing Device Configuration - -```eos -! -ip routing -no ip routing vrf MGMT -``` - -### IPv6 Routing - -#### IPv6 Routing Summary - -| VRF | Routing Enabled | -| --- | --------------- | -| default | False | -| MGMT | false | - -### Static Routes - -#### Static Routes Summary - -| VRF | Destination Prefix | Next Hop IP | Exit interface | Administrative Distance | Tag | Route Name | Metric | -| --- | ------------------ | ----------- | -------------- | ----------------------- | --- | ---------- | ------ | -| MGMT | 0.0.0.0/0 | 172.144.100.1 | - | 1 | - | - | - | - -#### Static Routes Device Configuration - -```eos -! -ip route vrf MGMT 0.0.0.0/0 172.144.100.1 -``` - -### Router BGP - -ASN Notation: asplain - -#### Router BGP Summary - -| BGP AS | Router ID | -| ------ | --------- | -| 65101 | 192.168.255.3 | - -| BGP Tuning | -| ---------- | -| no bgp default ipv4-unicast | -| distance bgp 20 200 200 | -| maximum-paths 4 ecmp 4 | - -#### Router BGP Peer Groups - -##### EVPN-OVERLAY-PEERS - -| Settings | Value | -| -------- | ----- | -| Address Family | evpn | -| Source | Loopback0 | -| BFD | True | -| Ebgp multihop | 3 | -| Send community | all | -| Maximum routes | 0 (no limit) | - -##### IPv4-UNDERLAY-PEERS - -| Settings | Value | -| -------- | ----- | -| Address Family | ipv4 | -| Send community | all | -| Maximum routes | 12000 | - -#### BGP Neighbors - -| Neighbor | Remote AS | VRF | Shutdown | Send-community | Maximum-routes | Allowas-in | BFD | RIB Pre-Policy Retain | Route-Reflector Client | Passive | TTL Max Hops | -| -------- | --------- | --- | -------- | -------------- | -------------- | ---------- | --- | --------------------- | ---------------------- | ------- | ------------ | -| 172.31.255.0 | 65001 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 172.31.255.2 | 65001 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 192.168.255.1 | 65001 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | -| 192.168.255.2 | 65001 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | - -#### Router BGP EVPN Address Family - -##### EVPN Peer Groups - -| Peer Group | Activate | Encapsulation | -| ---------- | -------- | ------------- | -| EVPN-OVERLAY-PEERS | True | default | - -#### Router BGP VLANs - -| VLAN | Route-Distinguisher | Both Route-Target | Import Route Target | Export Route-Target | Redistribute | -| ---- | ------------------- | ----------------- | ------------------- | ------------------- | ------------ | -| 110 | 192.168.255.3:10110 | 10110:10110 | - | - | learned | -| 111 | 192.168.255.3:10111 | 10111:10111 | - | - | learned | - -#### Router BGP Device Configuration - -```eos -! -router bgp 65101 - router-id 192.168.255.3 - distance bgp 20 200 200 - maximum-paths 4 ecmp 4 - no bgp default ipv4-unicast - neighbor EVPN-OVERLAY-PEERS peer group - neighbor EVPN-OVERLAY-PEERS update-source Loopback0 - neighbor EVPN-OVERLAY-PEERS bfd - neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 - neighbor EVPN-OVERLAY-PEERS password 7 - neighbor EVPN-OVERLAY-PEERS send-community - neighbor EVPN-OVERLAY-PEERS maximum-routes 0 - neighbor IPv4-UNDERLAY-PEERS peer group - neighbor IPv4-UNDERLAY-PEERS password 7 - neighbor IPv4-UNDERLAY-PEERS send-community - neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 - neighbor 172.31.255.0 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.0 remote-as 65001 - neighbor 172.31.255.0 description om-spine1_Ethernet1 - neighbor 172.31.255.2 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.2 remote-as 65001 - neighbor 172.31.255.2 description om-spine2_Ethernet1 - neighbor 192.168.255.1 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.1 remote-as 65001 - neighbor 192.168.255.1 description om-spine1 - neighbor 192.168.255.2 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.2 remote-as 65001 - neighbor 192.168.255.2 description om-spine2 - redistribute connected route-map RM-CONN-2-BGP - ! - vlan 110 - rd 192.168.255.3:10110 - route-target both 10110:10110 - redistribute learned - ! - vlan 111 - rd 192.168.255.3:10111 - route-target both 10111:10111 - redistribute learned - ! - address-family evpn - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family rt-membership - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family ipv4 - no neighbor EVPN-OVERLAY-PEERS activate - neighbor IPv4-UNDERLAY-PEERS activate -``` - -## BFD - -### Router BFD - -#### Router BFD Multihop Summary - -| Interval | Minimum RX | Multiplier | -| -------- | ---------- | ---------- | -| 300 | 300 | 3 | - -#### Router BFD Device Configuration - -```eos -! -router bfd - multihop interval 300 min-rx 300 multiplier 3 -``` - -## Multicast - -### IP IGMP Snooping - -#### IP IGMP Snooping Summary - -| IGMP Snooping | Fast Leave | Interface Restart Query | Proxy | Restart Query Interval | Robustness Variable | -| ------------- | ---------- | ----------------------- | ----- | ---------------------- | ------------------- | -| Enabled | - | - | - | - | - | - -#### IP IGMP Snooping Device Configuration - -```eos -``` - -## Filters - -### Prefix-lists - -#### Prefix-lists Summary - -##### PL-LOOPBACKS-EVPN-OVERLAY - -| Sequence | Action | -| -------- | ------ | -| 10 | permit 192.168.255.0/24 eq 32 | -| 20 | permit 192.168.254.0/24 eq 32 | - -#### Prefix-lists Device Configuration - -```eos -! -ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY - seq 10 permit 192.168.255.0/24 eq 32 - seq 20 permit 192.168.254.0/24 eq 32 -``` - -### Route-maps - -#### Route-maps Summary - -##### RM-CONN-2-BGP - -| Sequence | Type | Match | Set | Sub-Route-Map | Continue | -| -------- | ---- | ----- | --- | ------------- | -------- | -| 10 | permit | ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY | - | - | - | - -#### Route-maps Device Configuration - -```eos -! -route-map RM-CONN-2-BGP permit 10 - match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY -``` - -## VRF Instances - -### VRF Instances Summary - -| VRF Name | IP Routing | -| -------- | ---------- | -| MGMT | disabled | - -### VRF Instances Device Configuration - -```eos -! -vrf instance MGMT -``` diff --git a/src/gnmic-prometheus/documentation/devices/om-pe12.md b/src/gnmic-prometheus/documentation/devices/om-pe12.md deleted file mode 100644 index 1e1614f7..00000000 --- a/src/gnmic-prometheus/documentation/devices/om-pe12.md +++ /dev/null @@ -1,719 +0,0 @@ -# om-pe12 - -## Table of Contents - -- [Management](#management) - - [Management Interfaces](#management-interfaces) - - [IP Name Servers](#ip-name-servers) - - [NTP](#ntp) - - [Management API gNMI](#management-api-gnmi) - - [Management API HTTP](#management-api-http) -- [Authentication](#authentication) - - [Local Users](#local-users) -- [Management Security](#management-security) - - [Management Security Summary](#management-security-summary) - - [Management Security SSL Profiles](#management-security-ssl-profiles) - - [Management Security Device Configuration](#management-security-device-configuration) -- [Spanning Tree](#spanning-tree) - - [Spanning Tree Summary](#spanning-tree-summary) - - [Spanning Tree Device Configuration](#spanning-tree-device-configuration) -- [Internal VLAN Allocation Policy](#internal-vlan-allocation-policy) - - [Internal VLAN Allocation Policy Summary](#internal-vlan-allocation-policy-summary) - - [Internal VLAN Allocation Policy Device Configuration](#internal-vlan-allocation-policy-device-configuration) -- [VLANs](#vlans) - - [VLANs Summary](#vlans-summary) - - [VLANs Device Configuration](#vlans-device-configuration) -- [Interfaces](#interfaces) - - [Ethernet Interfaces](#ethernet-interfaces) - - [Port-Channel Interfaces](#port-channel-interfaces) - - [Loopback Interfaces](#loopback-interfaces) - - [VLAN Interfaces](#vlan-interfaces) - - [VXLAN Interface](#vxlan-interface) -- [Routing](#routing) - - [Service Routing Protocols Model](#service-routing-protocols-model) - - [Virtual Router MAC Address](#virtual-router-mac-address) - - [IP Routing](#ip-routing) - - [IPv6 Routing](#ipv6-routing) - - [Static Routes](#static-routes) - - [Router BGP](#router-bgp) -- [BFD](#bfd) - - [Router BFD](#router-bfd) -- [Multicast](#multicast) - - [IP IGMP Snooping](#ip-igmp-snooping) -- [Filters](#filters) - - [Prefix-lists](#prefix-lists) - - [Route-maps](#route-maps) -- [VRF Instances](#vrf-instances) - - [VRF Instances Summary](#vrf-instances-summary) - - [VRF Instances Device Configuration](#vrf-instances-device-configuration) - -## Management - -### Management Interfaces - -#### Management Interfaces Summary - -##### IPv4 - -| Management Interface | Description | Type | VRF | IP Address | Gateway | -| -------------------- | ----------- | ---- | --- | ---------- | ------- | -| Management0 | oob_management | oob | MGMT | 172.144.100.5/24 | 172.144.100.1 | - -##### IPv6 - -| Management Interface | Description | Type | VRF | IPv6 Address | IPv6 Gateway | -| -------------------- | ----------- | ---- | --- | ------------ | ------------ | -| Management0 | oob_management | oob | MGMT | - | - | - -#### Management Interfaces Device Configuration - -```eos -! -interface Management0 - description oob_management - no shutdown - vrf MGMT - ip address 172.144.100.5/24 -``` - -### IP Name Servers - -#### IP Name Servers Summary - -| Name Server | VRF | Priority | -| ----------- | --- | -------- | -| 1.1.1.1 | MGMT | - | -| 8.8.8.8 | MGMT | - | - -#### IP Name Servers Device Configuration - -```eos -ip name-server vrf MGMT 1.1.1.1 -ip name-server vrf MGMT 8.8.8.8 -``` - -### NTP - -#### NTP Summary - -##### NTP Servers - -| Server | VRF | Preferred | Burst | iBurst | Version | Min Poll | Max Poll | Local-interface | Key | -| ------ | --- | --------- | ----- | ------ | ------- | -------- | -------- | --------------- | --- | -| time.google.com | MGMT | True | - | True | - | - | - | - | - | - -#### NTP Device Configuration - -```eos -! -ntp server vrf MGMT time.google.com prefer iburst -``` - -### Management API gNMI - -#### Management API gNMI Summary - -| Transport | SSL Profile | VRF | Notification Timestamp | ACL | Port | -| --------- | ----------- | --- | ---------------------- | --- | ---- | -| MGMT | - | MGMT | send-time | - | 6030 | -| default | - | - | send-time | - | 6030 | - -Provider eos-native is configured. - -#### Management API gNMI Device Configuration - -```eos -! -management api gnmi - transport grpc MGMT - vrf MGMT - notification timestamp send-time - transport grpc default - notification timestamp send-time - provider eos-native -``` - -### Management API HTTP - -#### Management API HTTP Summary - -| HTTP | HTTPS | Default Services | -| ---- | ----- | ---------------- | -| False | True | - | - -Management HTTPS is using the SSL profile eAPI - -#### Management API VRF Access - -| VRF Name | IPv4 ACL | IPv6 ACL | -| -------- | -------- | -------- | -| MGMT | - | - | - -#### Management API HTTP Device Configuration - -```eos -! -management api http-commands - protocol https - protocol https ssl profile eAPI - no shutdown - ! - vrf MGMT - no shutdown -``` - -## Authentication - -### Local Users - -#### Local Users Summary - -| User | Privilege | Role | Disabled | Shell | -| ---- | --------- | ---- | -------- | ----- | -| admin | 15 | network-admin | False | - | - -#### Local Users Device Configuration - -```eos -! -username admin privilege 15 role network-admin secret sha512 -``` - -## Management Security - -### Management Security Summary - -| Settings | Value | -| -------- | ----- | - -### Management Security SSL Profiles - -| SSL Profile Name | TLS protocol accepted | Certificate filename | Key filename | Cipher List | CRLs | -| ---------------- | --------------------- | -------------------- | ------------ | ----------- | ---- | -| eAPI | - | eAPI.crt | eAPI.key | HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL | - | - -### Management Security Device Configuration - -```eos -! -management security - ssl profile eAPI - cipher-list HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL - certificate eAPI.crt key eAPI.key -``` - -## Spanning Tree - -### Spanning Tree Summary - -STP mode: **mstp** - -#### MSTP Instance and Priority - -| Instance(s) | Priority | -| -------- | -------- | -| 0 | 4096 | - -### Spanning Tree Device Configuration - -```eos -! -spanning-tree mode mstp -spanning-tree mst 0 priority 4096 -``` - -## Internal VLAN Allocation Policy - -### Internal VLAN Allocation Policy Summary - -| Policy Allocation | Range Beginning | Range Ending | -| ------------------| --------------- | ------------ | -| ascending | 1006 | 1199 | - -### Internal VLAN Allocation Policy Device Configuration - -```eos -! -vlan internal order ascending range 1006 1199 -``` - -## VLANs - -### VLANs Summary - -| VLAN ID | Name | Trunk Groups | -| ------- | ---- | ------------ | -| 110 | Tenant_A_OP_Zone_1 | - | -| 111 | Tenant_A_OP_Zone_2 | - | - -### VLANs Device Configuration - -```eos -! -vlan 110 - name Tenant_A_OP_Zone_1 -! -vlan 111 - name Tenant_A_OP_Zone_2 -``` - -## Interfaces - -### Ethernet Interfaces - -#### Ethernet Interfaces Summary - -##### L2 - -| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group | -| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- | -| Ethernet3 | server01_Eth2 | *trunk | *110 | *- | *- | 3 | -| Ethernet4 | server02_Eth2 | *trunk | *111 | *- | *- | 4 | - -*Inherited from Port-Channel Interface - -##### IPv4 - -| Interface | Description | Type | Channel Group | IP Address | VRF | MTU | Shutdown | ACL In | ACL Out | -| --------- | ----------- | -----| ------------- | ---------- | ----| ---- | -------- | ------ | ------- | -| Ethernet1 | P2P_LINK_TO_OM-SPINE1_Ethernet2 | routed | - | 172.31.255.5/31 | default | 9214 | False | - | - | -| Ethernet2 | P2P_LINK_TO_OM-SPINE2_Ethernet2 | routed | - | 172.31.255.7/31 | default | 9214 | False | - | - | - -#### Ethernet Interfaces Device Configuration - -```eos -! -interface Ethernet1 - description P2P_LINK_TO_OM-SPINE1_Ethernet2 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.5/31 -! -interface Ethernet2 - description P2P_LINK_TO_OM-SPINE2_Ethernet2 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.7/31 -! -interface Ethernet3 - description server01_Eth2 - no shutdown - channel-group 3 mode active -! -interface Ethernet4 - description server02_Eth2 - no shutdown - channel-group 4 mode active -``` - -### Port-Channel Interfaces - -#### Port-Channel Interfaces Summary - -##### L2 - -| Interface | Description | Type | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI | -| --------- | ----------- | ---- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- | -| Port-Channel3 | server01_PortChannel3 | switched | trunk | 110 | - | - | - | - | - | 0000:0000:0101:0102:0033 | -| Port-Channel4 | server02_PortChannel4 | switched | trunk | 111 | - | - | - | - | - | 0000:0000:0101:0102:0044 | - -##### EVPN Multihoming - -####### EVPN Multihoming Summary - -| Interface | Ethernet Segment Identifier | Multihoming Redundancy Mode | Route Target | -| --------- | --------------------------- | --------------------------- | ------------ | -| Port-Channel3 | 0000:0000:0101:0102:0033 | all-active | 01:01:01:02:00:33 | -| Port-Channel4 | 0000:0000:0101:0102:0044 | all-active | 01:01:01:02:00:44 | - -#### Port-Channel Interfaces Device Configuration - -```eos -! -interface Port-Channel3 - description server01_PortChannel3 - no shutdown - switchport - switchport trunk allowed vlan 110 - switchport mode trunk - evpn ethernet-segment - identifier 0000:0000:0101:0102:0033 - route-target import 01:01:01:02:00:33 - lacp system-id 0101.0102.0033 - spanning-tree portfast -! -interface Port-Channel4 - description server02_PortChannel4 - no shutdown - switchport - switchport trunk allowed vlan 111 - switchport mode trunk - evpn ethernet-segment - identifier 0000:0000:0101:0102:0044 - route-target import 01:01:01:02:00:44 - lacp system-id 0101.0102.0044 - spanning-tree portfast -``` - -### Loopback Interfaces - -#### Loopback Interfaces Summary - -##### IPv4 - -| Interface | Description | VRF | IP Address | -| --------- | ----------- | --- | ---------- | -| Loopback0 | EVPN_Overlay_Peering | default | 192.168.255.4/32 | -| Loopback1 | VTEP_VXLAN_Tunnel_Source | default | 192.168.254.4/32 | - -##### IPv6 - -| Interface | Description | VRF | IPv6 Address | -| --------- | ----------- | --- | ------------ | -| Loopback0 | EVPN_Overlay_Peering | default | - | -| Loopback1 | VTEP_VXLAN_Tunnel_Source | default | - | - -#### Loopback Interfaces Device Configuration - -```eos -! -interface Loopback0 - description EVPN_Overlay_Peering - no shutdown - ip address 192.168.255.4/32 -! -interface Loopback1 - description VTEP_VXLAN_Tunnel_Source - no shutdown - ip address 192.168.254.4/32 -``` - -### VLAN Interfaces - -#### VLAN Interfaces Summary - -| Interface | Description | VRF | MTU | Shutdown | -| --------- | ----------- | --- | ---- | -------- | -| Vlan110 | Tenant_A_OP_Zone_1 | default | - | False | -| Vlan111 | Tenant_A_OP_Zone_2 | default | - | False | - -##### IPv4 - -| Interface | VRF | IP Address | IP Address Virtual | IP Router Virtual Address | VRRP | ACL In | ACL Out | -| --------- | --- | ---------- | ------------------ | ------------------------- | ---- | ------ | ------- | -| Vlan110 | default | - | 10.1.10.1/24 | - | - | - | - | -| Vlan111 | default | - | 10.1.11.1/24 | - | - | - | - | - -#### VLAN Interfaces Device Configuration - -```eos -! -interface Vlan110 - description Tenant_A_OP_Zone_1 - no shutdown - ip address virtual 10.1.10.1/24 -! -interface Vlan111 - description Tenant_A_OP_Zone_2 - no shutdown - ip address virtual 10.1.11.1/24 -``` - -### VXLAN Interface - -#### VXLAN Interface Summary - -| Setting | Value | -| ------- | ----- | -| Source Interface | Loopback1 | -| UDP port | 4789 | - -##### VLAN to VNI, Flood List and Multicast Group Mappings - -| VLAN | VNI | Flood List | Multicast Group | -| ---- | --- | ---------- | --------------- | -| 110 | 10110 | - | - | -| 111 | 10111 | - | - | - -#### VXLAN Interface Device Configuration - -```eos -! -interface Vxlan1 - description om-pe12_VTEP - vxlan source-interface Loopback1 - vxlan udp-port 4789 - vxlan vlan 110 vni 10110 - vxlan vlan 111 vni 10111 -``` - -## Routing - -### Service Routing Protocols Model - -Multi agent routing protocol model enabled - -```eos -! -service routing protocols model multi-agent -``` - -### Virtual Router MAC Address - -#### Virtual Router MAC Address Summary - -Virtual Router MAC Address: 00:00:00:00:00:01 - -#### Virtual Router MAC Address Device Configuration - -```eos -! -ip virtual-router mac-address 00:00:00:00:00:01 -``` - -### IP Routing - -#### IP Routing Summary - -| VRF | Routing Enabled | -| --- | --------------- | -| default | True | -| MGMT | False | - -#### IP Routing Device Configuration - -```eos -! -ip routing -no ip routing vrf MGMT -``` - -### IPv6 Routing - -#### IPv6 Routing Summary - -| VRF | Routing Enabled | -| --- | --------------- | -| default | False | -| MGMT | false | - -### Static Routes - -#### Static Routes Summary - -| VRF | Destination Prefix | Next Hop IP | Exit interface | Administrative Distance | Tag | Route Name | Metric | -| --- | ------------------ | ----------- | -------------- | ----------------------- | --- | ---------- | ------ | -| MGMT | 0.0.0.0/0 | 172.144.100.1 | - | 1 | - | - | - | - -#### Static Routes Device Configuration - -```eos -! -ip route vrf MGMT 0.0.0.0/0 172.144.100.1 -``` - -### Router BGP - -ASN Notation: asplain - -#### Router BGP Summary - -| BGP AS | Router ID | -| ------ | --------- | -| 65102 | 192.168.255.4 | - -| BGP Tuning | -| ---------- | -| no bgp default ipv4-unicast | -| distance bgp 20 200 200 | -| maximum-paths 4 ecmp 4 | - -#### Router BGP Peer Groups - -##### EVPN-OVERLAY-PEERS - -| Settings | Value | -| -------- | ----- | -| Address Family | evpn | -| Source | Loopback0 | -| BFD | True | -| Ebgp multihop | 3 | -| Send community | all | -| Maximum routes | 0 (no limit) | - -##### IPv4-UNDERLAY-PEERS - -| Settings | Value | -| -------- | ----- | -| Address Family | ipv4 | -| Send community | all | -| Maximum routes | 12000 | - -#### BGP Neighbors - -| Neighbor | Remote AS | VRF | Shutdown | Send-community | Maximum-routes | Allowas-in | BFD | RIB Pre-Policy Retain | Route-Reflector Client | Passive | TTL Max Hops | -| -------- | --------- | --- | -------- | -------------- | -------------- | ---------- | --- | --------------------- | ---------------------- | ------- | ------------ | -| 172.31.255.4 | 65001 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 172.31.255.6 | 65001 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 192.168.255.1 | 65001 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | -| 192.168.255.2 | 65001 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | - -#### Router BGP EVPN Address Family - -##### EVPN Peer Groups - -| Peer Group | Activate | Encapsulation | -| ---------- | -------- | ------------- | -| EVPN-OVERLAY-PEERS | True | default | - -#### Router BGP VLANs - -| VLAN | Route-Distinguisher | Both Route-Target | Import Route Target | Export Route-Target | Redistribute | -| ---- | ------------------- | ----------------- | ------------------- | ------------------- | ------------ | -| 110 | 192.168.255.4:10110 | 10110:10110 | - | - | learned | -| 111 | 192.168.255.4:10111 | 10111:10111 | - | - | learned | - -#### Router BGP Device Configuration - -```eos -! -router bgp 65102 - router-id 192.168.255.4 - distance bgp 20 200 200 - maximum-paths 4 ecmp 4 - no bgp default ipv4-unicast - neighbor EVPN-OVERLAY-PEERS peer group - neighbor EVPN-OVERLAY-PEERS update-source Loopback0 - neighbor EVPN-OVERLAY-PEERS bfd - neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 - neighbor EVPN-OVERLAY-PEERS password 7 - neighbor EVPN-OVERLAY-PEERS send-community - neighbor EVPN-OVERLAY-PEERS maximum-routes 0 - neighbor IPv4-UNDERLAY-PEERS peer group - neighbor IPv4-UNDERLAY-PEERS password 7 - neighbor IPv4-UNDERLAY-PEERS send-community - neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 - neighbor 172.31.255.4 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.4 remote-as 65001 - neighbor 172.31.255.4 description om-spine1_Ethernet2 - neighbor 172.31.255.6 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.6 remote-as 65001 - neighbor 172.31.255.6 description om-spine2_Ethernet2 - neighbor 192.168.255.1 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.1 remote-as 65001 - neighbor 192.168.255.1 description om-spine1 - neighbor 192.168.255.2 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.2 remote-as 65001 - neighbor 192.168.255.2 description om-spine2 - redistribute connected route-map RM-CONN-2-BGP - ! - vlan 110 - rd 192.168.255.4:10110 - route-target both 10110:10110 - redistribute learned - ! - vlan 111 - rd 192.168.255.4:10111 - route-target both 10111:10111 - redistribute learned - ! - address-family evpn - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family rt-membership - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family ipv4 - no neighbor EVPN-OVERLAY-PEERS activate - neighbor IPv4-UNDERLAY-PEERS activate -``` - -## BFD - -### Router BFD - -#### Router BFD Multihop Summary - -| Interval | Minimum RX | Multiplier | -| -------- | ---------- | ---------- | -| 300 | 300 | 3 | - -#### Router BFD Device Configuration - -```eos -! -router bfd - multihop interval 300 min-rx 300 multiplier 3 -``` - -## Multicast - -### IP IGMP Snooping - -#### IP IGMP Snooping Summary - -| IGMP Snooping | Fast Leave | Interface Restart Query | Proxy | Restart Query Interval | Robustness Variable | -| ------------- | ---------- | ----------------------- | ----- | ---------------------- | ------------------- | -| Enabled | - | - | - | - | - | - -#### IP IGMP Snooping Device Configuration - -```eos -``` - -## Filters - -### Prefix-lists - -#### Prefix-lists Summary - -##### PL-LOOPBACKS-EVPN-OVERLAY - -| Sequence | Action | -| -------- | ------ | -| 10 | permit 192.168.255.0/24 eq 32 | -| 20 | permit 192.168.254.0/24 eq 32 | - -#### Prefix-lists Device Configuration - -```eos -! -ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY - seq 10 permit 192.168.255.0/24 eq 32 - seq 20 permit 192.168.254.0/24 eq 32 -``` - -### Route-maps - -#### Route-maps Summary - -##### RM-CONN-2-BGP - -| Sequence | Type | Match | Set | Sub-Route-Map | Continue | -| -------- | ---- | ----- | --- | ------------- | -------- | -| 10 | permit | ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY | - | - | - | - -#### Route-maps Device Configuration - -```eos -! -route-map RM-CONN-2-BGP permit 10 - match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY -``` - -## VRF Instances - -### VRF Instances Summary - -| VRF Name | IP Routing | -| -------- | ---------- | -| MGMT | disabled | - -### VRF Instances Device Configuration - -```eos -! -vrf instance MGMT -``` diff --git a/src/gnmic-prometheus/documentation/devices/om-pe21.md b/src/gnmic-prometheus/documentation/devices/om-pe21.md deleted file mode 100644 index afa39c61..00000000 --- a/src/gnmic-prometheus/documentation/devices/om-pe21.md +++ /dev/null @@ -1,719 +0,0 @@ -# om-pe21 - -## Table of Contents - -- [Management](#management) - - [Management Interfaces](#management-interfaces) - - [IP Name Servers](#ip-name-servers) - - [NTP](#ntp) - - [Management API gNMI](#management-api-gnmi) - - [Management API HTTP](#management-api-http) -- [Authentication](#authentication) - - [Local Users](#local-users) -- [Management Security](#management-security) - - [Management Security Summary](#management-security-summary) - - [Management Security SSL Profiles](#management-security-ssl-profiles) - - [Management Security Device Configuration](#management-security-device-configuration) -- [Spanning Tree](#spanning-tree) - - [Spanning Tree Summary](#spanning-tree-summary) - - [Spanning Tree Device Configuration](#spanning-tree-device-configuration) -- [Internal VLAN Allocation Policy](#internal-vlan-allocation-policy) - - [Internal VLAN Allocation Policy Summary](#internal-vlan-allocation-policy-summary) - - [Internal VLAN Allocation Policy Device Configuration](#internal-vlan-allocation-policy-device-configuration) -- [VLANs](#vlans) - - [VLANs Summary](#vlans-summary) - - [VLANs Device Configuration](#vlans-device-configuration) -- [Interfaces](#interfaces) - - [Ethernet Interfaces](#ethernet-interfaces) - - [Port-Channel Interfaces](#port-channel-interfaces) - - [Loopback Interfaces](#loopback-interfaces) - - [VLAN Interfaces](#vlan-interfaces) - - [VXLAN Interface](#vxlan-interface) -- [Routing](#routing) - - [Service Routing Protocols Model](#service-routing-protocols-model) - - [Virtual Router MAC Address](#virtual-router-mac-address) - - [IP Routing](#ip-routing) - - [IPv6 Routing](#ipv6-routing) - - [Static Routes](#static-routes) - - [Router BGP](#router-bgp) -- [BFD](#bfd) - - [Router BFD](#router-bfd) -- [Multicast](#multicast) - - [IP IGMP Snooping](#ip-igmp-snooping) -- [Filters](#filters) - - [Prefix-lists](#prefix-lists) - - [Route-maps](#route-maps) -- [VRF Instances](#vrf-instances) - - [VRF Instances Summary](#vrf-instances-summary) - - [VRF Instances Device Configuration](#vrf-instances-device-configuration) - -## Management - -### Management Interfaces - -#### Management Interfaces Summary - -##### IPv4 - -| Management Interface | Description | Type | VRF | IP Address | Gateway | -| -------------------- | ----------- | ---- | --- | ---------- | ------- | -| Management0 | oob_management | oob | MGMT | 172.144.100.6/24 | 172.144.100.1 | - -##### IPv6 - -| Management Interface | Description | Type | VRF | IPv6 Address | IPv6 Gateway | -| -------------------- | ----------- | ---- | --- | ------------ | ------------ | -| Management0 | oob_management | oob | MGMT | - | - | - -#### Management Interfaces Device Configuration - -```eos -! -interface Management0 - description oob_management - no shutdown - vrf MGMT - ip address 172.144.100.6/24 -``` - -### IP Name Servers - -#### IP Name Servers Summary - -| Name Server | VRF | Priority | -| ----------- | --- | -------- | -| 1.1.1.1 | MGMT | - | -| 8.8.8.8 | MGMT | - | - -#### IP Name Servers Device Configuration - -```eos -ip name-server vrf MGMT 1.1.1.1 -ip name-server vrf MGMT 8.8.8.8 -``` - -### NTP - -#### NTP Summary - -##### NTP Servers - -| Server | VRF | Preferred | Burst | iBurst | Version | Min Poll | Max Poll | Local-interface | Key | -| ------ | --- | --------- | ----- | ------ | ------- | -------- | -------- | --------------- | --- | -| time.google.com | MGMT | True | - | True | - | - | - | - | - | - -#### NTP Device Configuration - -```eos -! -ntp server vrf MGMT time.google.com prefer iburst -``` - -### Management API gNMI - -#### Management API gNMI Summary - -| Transport | SSL Profile | VRF | Notification Timestamp | ACL | Port | -| --------- | ----------- | --- | ---------------------- | --- | ---- | -| MGMT | - | MGMT | send-time | - | 6030 | -| default | - | - | send-time | - | 6030 | - -Provider eos-native is configured. - -#### Management API gNMI Device Configuration - -```eos -! -management api gnmi - transport grpc MGMT - vrf MGMT - notification timestamp send-time - transport grpc default - notification timestamp send-time - provider eos-native -``` - -### Management API HTTP - -#### Management API HTTP Summary - -| HTTP | HTTPS | Default Services | -| ---- | ----- | ---------------- | -| False | True | - | - -Management HTTPS is using the SSL profile eAPI - -#### Management API VRF Access - -| VRF Name | IPv4 ACL | IPv6 ACL | -| -------- | -------- | -------- | -| MGMT | - | - | - -#### Management API HTTP Device Configuration - -```eos -! -management api http-commands - protocol https - protocol https ssl profile eAPI - no shutdown - ! - vrf MGMT - no shutdown -``` - -## Authentication - -### Local Users - -#### Local Users Summary - -| User | Privilege | Role | Disabled | Shell | -| ---- | --------- | ---- | -------- | ----- | -| admin | 15 | network-admin | False | - | - -#### Local Users Device Configuration - -```eos -! -username admin privilege 15 role network-admin secret sha512 -``` - -## Management Security - -### Management Security Summary - -| Settings | Value | -| -------- | ----- | - -### Management Security SSL Profiles - -| SSL Profile Name | TLS protocol accepted | Certificate filename | Key filename | Cipher List | CRLs | -| ---------------- | --------------------- | -------------------- | ------------ | ----------- | ---- | -| eAPI | - | eAPI.crt | eAPI.key | HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL | - | - -### Management Security Device Configuration - -```eos -! -management security - ssl profile eAPI - cipher-list HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL - certificate eAPI.crt key eAPI.key -``` - -## Spanning Tree - -### Spanning Tree Summary - -STP mode: **mstp** - -#### MSTP Instance and Priority - -| Instance(s) | Priority | -| -------- | -------- | -| 0 | 4096 | - -### Spanning Tree Device Configuration - -```eos -! -spanning-tree mode mstp -spanning-tree mst 0 priority 4096 -``` - -## Internal VLAN Allocation Policy - -### Internal VLAN Allocation Policy Summary - -| Policy Allocation | Range Beginning | Range Ending | -| ------------------| --------------- | ------------ | -| ascending | 1006 | 1199 | - -### Internal VLAN Allocation Policy Device Configuration - -```eos -! -vlan internal order ascending range 1006 1199 -``` - -## VLANs - -### VLANs Summary - -| VLAN ID | Name | Trunk Groups | -| ------- | ---- | ------------ | -| 110 | Tenant_A_OP_Zone_1 | - | -| 111 | Tenant_A_OP_Zone_2 | - | - -### VLANs Device Configuration - -```eos -! -vlan 110 - name Tenant_A_OP_Zone_1 -! -vlan 111 - name Tenant_A_OP_Zone_2 -``` - -## Interfaces - -### Ethernet Interfaces - -#### Ethernet Interfaces Summary - -##### L2 - -| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group | -| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- | -| Ethernet3 | server03_Eth1 | *trunk | *110 | *- | *- | 3 | -| Ethernet4 | server04_Eth1 | *trunk | *111 | *- | *- | 4 | - -*Inherited from Port-Channel Interface - -##### IPv4 - -| Interface | Description | Type | Channel Group | IP Address | VRF | MTU | Shutdown | ACL In | ACL Out | -| --------- | ----------- | -----| ------------- | ---------- | ----| ---- | -------- | ------ | ------- | -| Ethernet1 | P2P_LINK_TO_OM-SPINE1_Ethernet3 | routed | - | 172.31.255.9/31 | default | 9214 | False | - | - | -| Ethernet2 | P2P_LINK_TO_OM-SPINE2_Ethernet3 | routed | - | 172.31.255.11/31 | default | 9214 | False | - | - | - -#### Ethernet Interfaces Device Configuration - -```eos -! -interface Ethernet1 - description P2P_LINK_TO_OM-SPINE1_Ethernet3 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.9/31 -! -interface Ethernet2 - description P2P_LINK_TO_OM-SPINE2_Ethernet3 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.11/31 -! -interface Ethernet3 - description server03_Eth1 - no shutdown - channel-group 3 mode active -! -interface Ethernet4 - description server04_Eth1 - no shutdown - channel-group 4 mode active -``` - -### Port-Channel Interfaces - -#### Port-Channel Interfaces Summary - -##### L2 - -| Interface | Description | Type | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI | -| --------- | ----------- | ---- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- | -| Port-Channel3 | server03_PortChannel3 | switched | trunk | 110 | - | - | - | - | - | 0000:0000:0201:0202:0033 | -| Port-Channel4 | server04_PortChannel4 | switched | trunk | 111 | - | - | - | - | - | 0000:0000:0201:0202:0044 | - -##### EVPN Multihoming - -####### EVPN Multihoming Summary - -| Interface | Ethernet Segment Identifier | Multihoming Redundancy Mode | Route Target | -| --------- | --------------------------- | --------------------------- | ------------ | -| Port-Channel3 | 0000:0000:0201:0202:0033 | all-active | 02:01:02:02:00:33 | -| Port-Channel4 | 0000:0000:0201:0202:0044 | all-active | 02:01:02:02:00:44 | - -#### Port-Channel Interfaces Device Configuration - -```eos -! -interface Port-Channel3 - description server03_PortChannel3 - no shutdown - switchport - switchport trunk allowed vlan 110 - switchport mode trunk - evpn ethernet-segment - identifier 0000:0000:0201:0202:0033 - route-target import 02:01:02:02:00:33 - lacp system-id 0201.0202.0033 - spanning-tree portfast -! -interface Port-Channel4 - description server04_PortChannel4 - no shutdown - switchport - switchport trunk allowed vlan 111 - switchport mode trunk - evpn ethernet-segment - identifier 0000:0000:0201:0202:0044 - route-target import 02:01:02:02:00:44 - lacp system-id 0201.0202.0044 - spanning-tree portfast -``` - -### Loopback Interfaces - -#### Loopback Interfaces Summary - -##### IPv4 - -| Interface | Description | VRF | IP Address | -| --------- | ----------- | --- | ---------- | -| Loopback0 | EVPN_Overlay_Peering | default | 192.168.255.5/32 | -| Loopback1 | VTEP_VXLAN_Tunnel_Source | default | 192.168.254.5/32 | - -##### IPv6 - -| Interface | Description | VRF | IPv6 Address | -| --------- | ----------- | --- | ------------ | -| Loopback0 | EVPN_Overlay_Peering | default | - | -| Loopback1 | VTEP_VXLAN_Tunnel_Source | default | - | - -#### Loopback Interfaces Device Configuration - -```eos -! -interface Loopback0 - description EVPN_Overlay_Peering - no shutdown - ip address 192.168.255.5/32 -! -interface Loopback1 - description VTEP_VXLAN_Tunnel_Source - no shutdown - ip address 192.168.254.5/32 -``` - -### VLAN Interfaces - -#### VLAN Interfaces Summary - -| Interface | Description | VRF | MTU | Shutdown | -| --------- | ----------- | --- | ---- | -------- | -| Vlan110 | Tenant_A_OP_Zone_1 | default | - | False | -| Vlan111 | Tenant_A_OP_Zone_2 | default | - | False | - -##### IPv4 - -| Interface | VRF | IP Address | IP Address Virtual | IP Router Virtual Address | VRRP | ACL In | ACL Out | -| --------- | --- | ---------- | ------------------ | ------------------------- | ---- | ------ | ------- | -| Vlan110 | default | - | 10.1.10.1/24 | - | - | - | - | -| Vlan111 | default | - | 10.1.11.1/24 | - | - | - | - | - -#### VLAN Interfaces Device Configuration - -```eos -! -interface Vlan110 - description Tenant_A_OP_Zone_1 - no shutdown - ip address virtual 10.1.10.1/24 -! -interface Vlan111 - description Tenant_A_OP_Zone_2 - no shutdown - ip address virtual 10.1.11.1/24 -``` - -### VXLAN Interface - -#### VXLAN Interface Summary - -| Setting | Value | -| ------- | ----- | -| Source Interface | Loopback1 | -| UDP port | 4789 | - -##### VLAN to VNI, Flood List and Multicast Group Mappings - -| VLAN | VNI | Flood List | Multicast Group | -| ---- | --- | ---------- | --------------- | -| 110 | 10110 | - | - | -| 111 | 10111 | - | - | - -#### VXLAN Interface Device Configuration - -```eos -! -interface Vxlan1 - description om-pe21_VTEP - vxlan source-interface Loopback1 - vxlan udp-port 4789 - vxlan vlan 110 vni 10110 - vxlan vlan 111 vni 10111 -``` - -## Routing - -### Service Routing Protocols Model - -Multi agent routing protocol model enabled - -```eos -! -service routing protocols model multi-agent -``` - -### Virtual Router MAC Address - -#### Virtual Router MAC Address Summary - -Virtual Router MAC Address: 00:00:00:00:00:01 - -#### Virtual Router MAC Address Device Configuration - -```eos -! -ip virtual-router mac-address 00:00:00:00:00:01 -``` - -### IP Routing - -#### IP Routing Summary - -| VRF | Routing Enabled | -| --- | --------------- | -| default | True | -| MGMT | False | - -#### IP Routing Device Configuration - -```eos -! -ip routing -no ip routing vrf MGMT -``` - -### IPv6 Routing - -#### IPv6 Routing Summary - -| VRF | Routing Enabled | -| --- | --------------- | -| default | False | -| MGMT | false | - -### Static Routes - -#### Static Routes Summary - -| VRF | Destination Prefix | Next Hop IP | Exit interface | Administrative Distance | Tag | Route Name | Metric | -| --- | ------------------ | ----------- | -------------- | ----------------------- | --- | ---------- | ------ | -| MGMT | 0.0.0.0/0 | 172.144.100.1 | - | 1 | - | - | - | - -#### Static Routes Device Configuration - -```eos -! -ip route vrf MGMT 0.0.0.0/0 172.144.100.1 -``` - -### Router BGP - -ASN Notation: asplain - -#### Router BGP Summary - -| BGP AS | Router ID | -| ------ | --------- | -| 65103 | 192.168.255.5 | - -| BGP Tuning | -| ---------- | -| no bgp default ipv4-unicast | -| distance bgp 20 200 200 | -| maximum-paths 4 ecmp 4 | - -#### Router BGP Peer Groups - -##### EVPN-OVERLAY-PEERS - -| Settings | Value | -| -------- | ----- | -| Address Family | evpn | -| Source | Loopback0 | -| BFD | True | -| Ebgp multihop | 3 | -| Send community | all | -| Maximum routes | 0 (no limit) | - -##### IPv4-UNDERLAY-PEERS - -| Settings | Value | -| -------- | ----- | -| Address Family | ipv4 | -| Send community | all | -| Maximum routes | 12000 | - -#### BGP Neighbors - -| Neighbor | Remote AS | VRF | Shutdown | Send-community | Maximum-routes | Allowas-in | BFD | RIB Pre-Policy Retain | Route-Reflector Client | Passive | TTL Max Hops | -| -------- | --------- | --- | -------- | -------------- | -------------- | ---------- | --- | --------------------- | ---------------------- | ------- | ------------ | -| 172.31.255.8 | 65001 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 172.31.255.10 | 65001 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 192.168.255.1 | 65001 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | -| 192.168.255.2 | 65001 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | - -#### Router BGP EVPN Address Family - -##### EVPN Peer Groups - -| Peer Group | Activate | Encapsulation | -| ---------- | -------- | ------------- | -| EVPN-OVERLAY-PEERS | True | default | - -#### Router BGP VLANs - -| VLAN | Route-Distinguisher | Both Route-Target | Import Route Target | Export Route-Target | Redistribute | -| ---- | ------------------- | ----------------- | ------------------- | ------------------- | ------------ | -| 110 | 192.168.255.5:10110 | 10110:10110 | - | - | learned | -| 111 | 192.168.255.5:10111 | 10111:10111 | - | - | learned | - -#### Router BGP Device Configuration - -```eos -! -router bgp 65103 - router-id 192.168.255.5 - distance bgp 20 200 200 - maximum-paths 4 ecmp 4 - no bgp default ipv4-unicast - neighbor EVPN-OVERLAY-PEERS peer group - neighbor EVPN-OVERLAY-PEERS update-source Loopback0 - neighbor EVPN-OVERLAY-PEERS bfd - neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 - neighbor EVPN-OVERLAY-PEERS password 7 - neighbor EVPN-OVERLAY-PEERS send-community - neighbor EVPN-OVERLAY-PEERS maximum-routes 0 - neighbor IPv4-UNDERLAY-PEERS peer group - neighbor IPv4-UNDERLAY-PEERS password 7 - neighbor IPv4-UNDERLAY-PEERS send-community - neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 - neighbor 172.31.255.8 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.8 remote-as 65001 - neighbor 172.31.255.8 description om-spine1_Ethernet3 - neighbor 172.31.255.10 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.10 remote-as 65001 - neighbor 172.31.255.10 description om-spine2_Ethernet3 - neighbor 192.168.255.1 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.1 remote-as 65001 - neighbor 192.168.255.1 description om-spine1 - neighbor 192.168.255.2 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.2 remote-as 65001 - neighbor 192.168.255.2 description om-spine2 - redistribute connected route-map RM-CONN-2-BGP - ! - vlan 110 - rd 192.168.255.5:10110 - route-target both 10110:10110 - redistribute learned - ! - vlan 111 - rd 192.168.255.5:10111 - route-target both 10111:10111 - redistribute learned - ! - address-family evpn - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family rt-membership - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family ipv4 - no neighbor EVPN-OVERLAY-PEERS activate - neighbor IPv4-UNDERLAY-PEERS activate -``` - -## BFD - -### Router BFD - -#### Router BFD Multihop Summary - -| Interval | Minimum RX | Multiplier | -| -------- | ---------- | ---------- | -| 300 | 300 | 3 | - -#### Router BFD Device Configuration - -```eos -! -router bfd - multihop interval 300 min-rx 300 multiplier 3 -``` - -## Multicast - -### IP IGMP Snooping - -#### IP IGMP Snooping Summary - -| IGMP Snooping | Fast Leave | Interface Restart Query | Proxy | Restart Query Interval | Robustness Variable | -| ------------- | ---------- | ----------------------- | ----- | ---------------------- | ------------------- | -| Enabled | - | - | - | - | - | - -#### IP IGMP Snooping Device Configuration - -```eos -``` - -## Filters - -### Prefix-lists - -#### Prefix-lists Summary - -##### PL-LOOPBACKS-EVPN-OVERLAY - -| Sequence | Action | -| -------- | ------ | -| 10 | permit 192.168.255.0/24 eq 32 | -| 20 | permit 192.168.254.0/24 eq 32 | - -#### Prefix-lists Device Configuration - -```eos -! -ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY - seq 10 permit 192.168.255.0/24 eq 32 - seq 20 permit 192.168.254.0/24 eq 32 -``` - -### Route-maps - -#### Route-maps Summary - -##### RM-CONN-2-BGP - -| Sequence | Type | Match | Set | Sub-Route-Map | Continue | -| -------- | ---- | ----- | --- | ------------- | -------- | -| 10 | permit | ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY | - | - | - | - -#### Route-maps Device Configuration - -```eos -! -route-map RM-CONN-2-BGP permit 10 - match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY -``` - -## VRF Instances - -### VRF Instances Summary - -| VRF Name | IP Routing | -| -------- | ---------- | -| MGMT | disabled | - -### VRF Instances Device Configuration - -```eos -! -vrf instance MGMT -``` diff --git a/src/gnmic-prometheus/documentation/devices/om-pe22.md b/src/gnmic-prometheus/documentation/devices/om-pe22.md deleted file mode 100644 index 029e43c1..00000000 --- a/src/gnmic-prometheus/documentation/devices/om-pe22.md +++ /dev/null @@ -1,719 +0,0 @@ -# om-pe22 - -## Table of Contents - -- [Management](#management) - - [Management Interfaces](#management-interfaces) - - [IP Name Servers](#ip-name-servers) - - [NTP](#ntp) - - [Management API gNMI](#management-api-gnmi) - - [Management API HTTP](#management-api-http) -- [Authentication](#authentication) - - [Local Users](#local-users) -- [Management Security](#management-security) - - [Management Security Summary](#management-security-summary) - - [Management Security SSL Profiles](#management-security-ssl-profiles) - - [Management Security Device Configuration](#management-security-device-configuration) -- [Spanning Tree](#spanning-tree) - - [Spanning Tree Summary](#spanning-tree-summary) - - [Spanning Tree Device Configuration](#spanning-tree-device-configuration) -- [Internal VLAN Allocation Policy](#internal-vlan-allocation-policy) - - [Internal VLAN Allocation Policy Summary](#internal-vlan-allocation-policy-summary) - - [Internal VLAN Allocation Policy Device Configuration](#internal-vlan-allocation-policy-device-configuration) -- [VLANs](#vlans) - - [VLANs Summary](#vlans-summary) - - [VLANs Device Configuration](#vlans-device-configuration) -- [Interfaces](#interfaces) - - [Ethernet Interfaces](#ethernet-interfaces) - - [Port-Channel Interfaces](#port-channel-interfaces) - - [Loopback Interfaces](#loopback-interfaces) - - [VLAN Interfaces](#vlan-interfaces) - - [VXLAN Interface](#vxlan-interface) -- [Routing](#routing) - - [Service Routing Protocols Model](#service-routing-protocols-model) - - [Virtual Router MAC Address](#virtual-router-mac-address) - - [IP Routing](#ip-routing) - - [IPv6 Routing](#ipv6-routing) - - [Static Routes](#static-routes) - - [Router BGP](#router-bgp) -- [BFD](#bfd) - - [Router BFD](#router-bfd) -- [Multicast](#multicast) - - [IP IGMP Snooping](#ip-igmp-snooping) -- [Filters](#filters) - - [Prefix-lists](#prefix-lists) - - [Route-maps](#route-maps) -- [VRF Instances](#vrf-instances) - - [VRF Instances Summary](#vrf-instances-summary) - - [VRF Instances Device Configuration](#vrf-instances-device-configuration) - -## Management - -### Management Interfaces - -#### Management Interfaces Summary - -##### IPv4 - -| Management Interface | Description | Type | VRF | IP Address | Gateway | -| -------------------- | ----------- | ---- | --- | ---------- | ------- | -| Management0 | oob_management | oob | MGMT | 172.144.100.7/24 | 172.144.100.1 | - -##### IPv6 - -| Management Interface | Description | Type | VRF | IPv6 Address | IPv6 Gateway | -| -------------------- | ----------- | ---- | --- | ------------ | ------------ | -| Management0 | oob_management | oob | MGMT | - | - | - -#### Management Interfaces Device Configuration - -```eos -! -interface Management0 - description oob_management - no shutdown - vrf MGMT - ip address 172.144.100.7/24 -``` - -### IP Name Servers - -#### IP Name Servers Summary - -| Name Server | VRF | Priority | -| ----------- | --- | -------- | -| 1.1.1.1 | MGMT | - | -| 8.8.8.8 | MGMT | - | - -#### IP Name Servers Device Configuration - -```eos -ip name-server vrf MGMT 1.1.1.1 -ip name-server vrf MGMT 8.8.8.8 -``` - -### NTP - -#### NTP Summary - -##### NTP Servers - -| Server | VRF | Preferred | Burst | iBurst | Version | Min Poll | Max Poll | Local-interface | Key | -| ------ | --- | --------- | ----- | ------ | ------- | -------- | -------- | --------------- | --- | -| time.google.com | MGMT | True | - | True | - | - | - | - | - | - -#### NTP Device Configuration - -```eos -! -ntp server vrf MGMT time.google.com prefer iburst -``` - -### Management API gNMI - -#### Management API gNMI Summary - -| Transport | SSL Profile | VRF | Notification Timestamp | ACL | Port | -| --------- | ----------- | --- | ---------------------- | --- | ---- | -| MGMT | - | MGMT | send-time | - | 6030 | -| default | - | - | send-time | - | 6030 | - -Provider eos-native is configured. - -#### Management API gNMI Device Configuration - -```eos -! -management api gnmi - transport grpc MGMT - vrf MGMT - notification timestamp send-time - transport grpc default - notification timestamp send-time - provider eos-native -``` - -### Management API HTTP - -#### Management API HTTP Summary - -| HTTP | HTTPS | Default Services | -| ---- | ----- | ---------------- | -| False | True | - | - -Management HTTPS is using the SSL profile eAPI - -#### Management API VRF Access - -| VRF Name | IPv4 ACL | IPv6 ACL | -| -------- | -------- | -------- | -| MGMT | - | - | - -#### Management API HTTP Device Configuration - -```eos -! -management api http-commands - protocol https - protocol https ssl profile eAPI - no shutdown - ! - vrf MGMT - no shutdown -``` - -## Authentication - -### Local Users - -#### Local Users Summary - -| User | Privilege | Role | Disabled | Shell | -| ---- | --------- | ---- | -------- | ----- | -| admin | 15 | network-admin | False | - | - -#### Local Users Device Configuration - -```eos -! -username admin privilege 15 role network-admin secret sha512 -``` - -## Management Security - -### Management Security Summary - -| Settings | Value | -| -------- | ----- | - -### Management Security SSL Profiles - -| SSL Profile Name | TLS protocol accepted | Certificate filename | Key filename | Cipher List | CRLs | -| ---------------- | --------------------- | -------------------- | ------------ | ----------- | ---- | -| eAPI | - | eAPI.crt | eAPI.key | HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL | - | - -### Management Security Device Configuration - -```eos -! -management security - ssl profile eAPI - cipher-list HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL - certificate eAPI.crt key eAPI.key -``` - -## Spanning Tree - -### Spanning Tree Summary - -STP mode: **mstp** - -#### MSTP Instance and Priority - -| Instance(s) | Priority | -| -------- | -------- | -| 0 | 4096 | - -### Spanning Tree Device Configuration - -```eos -! -spanning-tree mode mstp -spanning-tree mst 0 priority 4096 -``` - -## Internal VLAN Allocation Policy - -### Internal VLAN Allocation Policy Summary - -| Policy Allocation | Range Beginning | Range Ending | -| ------------------| --------------- | ------------ | -| ascending | 1006 | 1199 | - -### Internal VLAN Allocation Policy Device Configuration - -```eos -! -vlan internal order ascending range 1006 1199 -``` - -## VLANs - -### VLANs Summary - -| VLAN ID | Name | Trunk Groups | -| ------- | ---- | ------------ | -| 110 | Tenant_A_OP_Zone_1 | - | -| 111 | Tenant_A_OP_Zone_2 | - | - -### VLANs Device Configuration - -```eos -! -vlan 110 - name Tenant_A_OP_Zone_1 -! -vlan 111 - name Tenant_A_OP_Zone_2 -``` - -## Interfaces - -### Ethernet Interfaces - -#### Ethernet Interfaces Summary - -##### L2 - -| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group | -| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- | -| Ethernet3 | server03_Eth2 | *trunk | *110 | *- | *- | 3 | -| Ethernet4 | server04_Eth2 | *trunk | *111 | *- | *- | 4 | - -*Inherited from Port-Channel Interface - -##### IPv4 - -| Interface | Description | Type | Channel Group | IP Address | VRF | MTU | Shutdown | ACL In | ACL Out | -| --------- | ----------- | -----| ------------- | ---------- | ----| ---- | -------- | ------ | ------- | -| Ethernet1 | P2P_LINK_TO_OM-SPINE1_Ethernet4 | routed | - | 172.31.255.13/31 | default | 9214 | False | - | - | -| Ethernet2 | P2P_LINK_TO_OM-SPINE2_Ethernet4 | routed | - | 172.31.255.15/31 | default | 9214 | False | - | - | - -#### Ethernet Interfaces Device Configuration - -```eos -! -interface Ethernet1 - description P2P_LINK_TO_OM-SPINE1_Ethernet4 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.13/31 -! -interface Ethernet2 - description P2P_LINK_TO_OM-SPINE2_Ethernet4 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.15/31 -! -interface Ethernet3 - description server03_Eth2 - no shutdown - channel-group 3 mode active -! -interface Ethernet4 - description server04_Eth2 - no shutdown - channel-group 4 mode active -``` - -### Port-Channel Interfaces - -#### Port-Channel Interfaces Summary - -##### L2 - -| Interface | Description | Type | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI | -| --------- | ----------- | ---- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- | -| Port-Channel3 | server03_PortChannel3 | switched | trunk | 110 | - | - | - | - | - | 0000:0000:0201:0202:0033 | -| Port-Channel4 | server04_PortChannel4 | switched | trunk | 111 | - | - | - | - | - | 0000:0000:0201:0202:0044 | - -##### EVPN Multihoming - -####### EVPN Multihoming Summary - -| Interface | Ethernet Segment Identifier | Multihoming Redundancy Mode | Route Target | -| --------- | --------------------------- | --------------------------- | ------------ | -| Port-Channel3 | 0000:0000:0201:0202:0033 | all-active | 02:01:02:02:00:33 | -| Port-Channel4 | 0000:0000:0201:0202:0044 | all-active | 02:01:02:02:00:44 | - -#### Port-Channel Interfaces Device Configuration - -```eos -! -interface Port-Channel3 - description server03_PortChannel3 - no shutdown - switchport - switchport trunk allowed vlan 110 - switchport mode trunk - evpn ethernet-segment - identifier 0000:0000:0201:0202:0033 - route-target import 02:01:02:02:00:33 - lacp system-id 0201.0202.0033 - spanning-tree portfast -! -interface Port-Channel4 - description server04_PortChannel4 - no shutdown - switchport - switchport trunk allowed vlan 111 - switchport mode trunk - evpn ethernet-segment - identifier 0000:0000:0201:0202:0044 - route-target import 02:01:02:02:00:44 - lacp system-id 0201.0202.0044 - spanning-tree portfast -``` - -### Loopback Interfaces - -#### Loopback Interfaces Summary - -##### IPv4 - -| Interface | Description | VRF | IP Address | -| --------- | ----------- | --- | ---------- | -| Loopback0 | EVPN_Overlay_Peering | default | 192.168.255.6/32 | -| Loopback1 | VTEP_VXLAN_Tunnel_Source | default | 192.168.254.6/32 | - -##### IPv6 - -| Interface | Description | VRF | IPv6 Address | -| --------- | ----------- | --- | ------------ | -| Loopback0 | EVPN_Overlay_Peering | default | - | -| Loopback1 | VTEP_VXLAN_Tunnel_Source | default | - | - -#### Loopback Interfaces Device Configuration - -```eos -! -interface Loopback0 - description EVPN_Overlay_Peering - no shutdown - ip address 192.168.255.6/32 -! -interface Loopback1 - description VTEP_VXLAN_Tunnel_Source - no shutdown - ip address 192.168.254.6/32 -``` - -### VLAN Interfaces - -#### VLAN Interfaces Summary - -| Interface | Description | VRF | MTU | Shutdown | -| --------- | ----------- | --- | ---- | -------- | -| Vlan110 | Tenant_A_OP_Zone_1 | default | - | False | -| Vlan111 | Tenant_A_OP_Zone_2 | default | - | False | - -##### IPv4 - -| Interface | VRF | IP Address | IP Address Virtual | IP Router Virtual Address | VRRP | ACL In | ACL Out | -| --------- | --- | ---------- | ------------------ | ------------------------- | ---- | ------ | ------- | -| Vlan110 | default | - | 10.1.10.1/24 | - | - | - | - | -| Vlan111 | default | - | 10.1.11.1/24 | - | - | - | - | - -#### VLAN Interfaces Device Configuration - -```eos -! -interface Vlan110 - description Tenant_A_OP_Zone_1 - no shutdown - ip address virtual 10.1.10.1/24 -! -interface Vlan111 - description Tenant_A_OP_Zone_2 - no shutdown - ip address virtual 10.1.11.1/24 -``` - -### VXLAN Interface - -#### VXLAN Interface Summary - -| Setting | Value | -| ------- | ----- | -| Source Interface | Loopback1 | -| UDP port | 4789 | - -##### VLAN to VNI, Flood List and Multicast Group Mappings - -| VLAN | VNI | Flood List | Multicast Group | -| ---- | --- | ---------- | --------------- | -| 110 | 10110 | - | - | -| 111 | 10111 | - | - | - -#### VXLAN Interface Device Configuration - -```eos -! -interface Vxlan1 - description om-pe22_VTEP - vxlan source-interface Loopback1 - vxlan udp-port 4789 - vxlan vlan 110 vni 10110 - vxlan vlan 111 vni 10111 -``` - -## Routing - -### Service Routing Protocols Model - -Multi agent routing protocol model enabled - -```eos -! -service routing protocols model multi-agent -``` - -### Virtual Router MAC Address - -#### Virtual Router MAC Address Summary - -Virtual Router MAC Address: 00:00:00:00:00:01 - -#### Virtual Router MAC Address Device Configuration - -```eos -! -ip virtual-router mac-address 00:00:00:00:00:01 -``` - -### IP Routing - -#### IP Routing Summary - -| VRF | Routing Enabled | -| --- | --------------- | -| default | True | -| MGMT | False | - -#### IP Routing Device Configuration - -```eos -! -ip routing -no ip routing vrf MGMT -``` - -### IPv6 Routing - -#### IPv6 Routing Summary - -| VRF | Routing Enabled | -| --- | --------------- | -| default | False | -| MGMT | false | - -### Static Routes - -#### Static Routes Summary - -| VRF | Destination Prefix | Next Hop IP | Exit interface | Administrative Distance | Tag | Route Name | Metric | -| --- | ------------------ | ----------- | -------------- | ----------------------- | --- | ---------- | ------ | -| MGMT | 0.0.0.0/0 | 172.144.100.1 | - | 1 | - | - | - | - -#### Static Routes Device Configuration - -```eos -! -ip route vrf MGMT 0.0.0.0/0 172.144.100.1 -``` - -### Router BGP - -ASN Notation: asplain - -#### Router BGP Summary - -| BGP AS | Router ID | -| ------ | --------- | -| 65104 | 192.168.255.6 | - -| BGP Tuning | -| ---------- | -| no bgp default ipv4-unicast | -| distance bgp 20 200 200 | -| maximum-paths 4 ecmp 4 | - -#### Router BGP Peer Groups - -##### EVPN-OVERLAY-PEERS - -| Settings | Value | -| -------- | ----- | -| Address Family | evpn | -| Source | Loopback0 | -| BFD | True | -| Ebgp multihop | 3 | -| Send community | all | -| Maximum routes | 0 (no limit) | - -##### IPv4-UNDERLAY-PEERS - -| Settings | Value | -| -------- | ----- | -| Address Family | ipv4 | -| Send community | all | -| Maximum routes | 12000 | - -#### BGP Neighbors - -| Neighbor | Remote AS | VRF | Shutdown | Send-community | Maximum-routes | Allowas-in | BFD | RIB Pre-Policy Retain | Route-Reflector Client | Passive | TTL Max Hops | -| -------- | --------- | --- | -------- | -------------- | -------------- | ---------- | --- | --------------------- | ---------------------- | ------- | ------------ | -| 172.31.255.12 | 65001 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 172.31.255.14 | 65001 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 192.168.255.1 | 65001 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | -| 192.168.255.2 | 65001 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | - -#### Router BGP EVPN Address Family - -##### EVPN Peer Groups - -| Peer Group | Activate | Encapsulation | -| ---------- | -------- | ------------- | -| EVPN-OVERLAY-PEERS | True | default | - -#### Router BGP VLANs - -| VLAN | Route-Distinguisher | Both Route-Target | Import Route Target | Export Route-Target | Redistribute | -| ---- | ------------------- | ----------------- | ------------------- | ------------------- | ------------ | -| 110 | 192.168.255.6:10110 | 10110:10110 | - | - | learned | -| 111 | 192.168.255.6:10111 | 10111:10111 | - | - | learned | - -#### Router BGP Device Configuration - -```eos -! -router bgp 65104 - router-id 192.168.255.6 - distance bgp 20 200 200 - maximum-paths 4 ecmp 4 - no bgp default ipv4-unicast - neighbor EVPN-OVERLAY-PEERS peer group - neighbor EVPN-OVERLAY-PEERS update-source Loopback0 - neighbor EVPN-OVERLAY-PEERS bfd - neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 - neighbor EVPN-OVERLAY-PEERS password 7 - neighbor EVPN-OVERLAY-PEERS send-community - neighbor EVPN-OVERLAY-PEERS maximum-routes 0 - neighbor IPv4-UNDERLAY-PEERS peer group - neighbor IPv4-UNDERLAY-PEERS password 7 - neighbor IPv4-UNDERLAY-PEERS send-community - neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 - neighbor 172.31.255.12 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.12 remote-as 65001 - neighbor 172.31.255.12 description om-spine1_Ethernet4 - neighbor 172.31.255.14 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.14 remote-as 65001 - neighbor 172.31.255.14 description om-spine2_Ethernet4 - neighbor 192.168.255.1 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.1 remote-as 65001 - neighbor 192.168.255.1 description om-spine1 - neighbor 192.168.255.2 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.2 remote-as 65001 - neighbor 192.168.255.2 description om-spine2 - redistribute connected route-map RM-CONN-2-BGP - ! - vlan 110 - rd 192.168.255.6:10110 - route-target both 10110:10110 - redistribute learned - ! - vlan 111 - rd 192.168.255.6:10111 - route-target both 10111:10111 - redistribute learned - ! - address-family evpn - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family rt-membership - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family ipv4 - no neighbor EVPN-OVERLAY-PEERS activate - neighbor IPv4-UNDERLAY-PEERS activate -``` - -## BFD - -### Router BFD - -#### Router BFD Multihop Summary - -| Interval | Minimum RX | Multiplier | -| -------- | ---------- | ---------- | -| 300 | 300 | 3 | - -#### Router BFD Device Configuration - -```eos -! -router bfd - multihop interval 300 min-rx 300 multiplier 3 -``` - -## Multicast - -### IP IGMP Snooping - -#### IP IGMP Snooping Summary - -| IGMP Snooping | Fast Leave | Interface Restart Query | Proxy | Restart Query Interval | Robustness Variable | -| ------------- | ---------- | ----------------------- | ----- | ---------------------- | ------------------- | -| Enabled | - | - | - | - | - | - -#### IP IGMP Snooping Device Configuration - -```eos -``` - -## Filters - -### Prefix-lists - -#### Prefix-lists Summary - -##### PL-LOOPBACKS-EVPN-OVERLAY - -| Sequence | Action | -| -------- | ------ | -| 10 | permit 192.168.255.0/24 eq 32 | -| 20 | permit 192.168.254.0/24 eq 32 | - -#### Prefix-lists Device Configuration - -```eos -! -ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY - seq 10 permit 192.168.255.0/24 eq 32 - seq 20 permit 192.168.254.0/24 eq 32 -``` - -### Route-maps - -#### Route-maps Summary - -##### RM-CONN-2-BGP - -| Sequence | Type | Match | Set | Sub-Route-Map | Continue | -| -------- | ---- | ----- | --- | ------------- | -------- | -| 10 | permit | ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY | - | - | - | - -#### Route-maps Device Configuration - -```eos -! -route-map RM-CONN-2-BGP permit 10 - match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY -``` - -## VRF Instances - -### VRF Instances Summary - -| VRF Name | IP Routing | -| -------- | ---------- | -| MGMT | disabled | - -### VRF Instances Device Configuration - -```eos -! -vrf instance MGMT -``` diff --git a/src/gnmic-prometheus/documentation/devices/om-spine1.md b/src/gnmic-prometheus/documentation/devices/om-spine1.md deleted file mode 100644 index c7761581..00000000 --- a/src/gnmic-prometheus/documentation/devices/om-spine1.md +++ /dev/null @@ -1,544 +0,0 @@ -# om-spine1 - -## Table of Contents - -- [Management](#management) - - [Management Interfaces](#management-interfaces) - - [IP Name Servers](#ip-name-servers) - - [NTP](#ntp) - - [Management API gNMI](#management-api-gnmi) - - [Management API HTTP](#management-api-http) -- [Authentication](#authentication) - - [Local Users](#local-users) -- [Management Security](#management-security) - - [Management Security Summary](#management-security-summary) - - [Management Security SSL Profiles](#management-security-ssl-profiles) - - [Management Security Device Configuration](#management-security-device-configuration) -- [Spanning Tree](#spanning-tree) - - [Spanning Tree Summary](#spanning-tree-summary) - - [Spanning Tree Device Configuration](#spanning-tree-device-configuration) -- [Internal VLAN Allocation Policy](#internal-vlan-allocation-policy) - - [Internal VLAN Allocation Policy Summary](#internal-vlan-allocation-policy-summary) - - [Internal VLAN Allocation Policy Device Configuration](#internal-vlan-allocation-policy-device-configuration) -- [Interfaces](#interfaces) - - [Ethernet Interfaces](#ethernet-interfaces) - - [Loopback Interfaces](#loopback-interfaces) -- [Routing](#routing) - - [Service Routing Protocols Model](#service-routing-protocols-model) - - [IP Routing](#ip-routing) - - [IPv6 Routing](#ipv6-routing) - - [Static Routes](#static-routes) - - [Router BGP](#router-bgp) -- [BFD](#bfd) - - [Router BFD](#router-bfd) -- [Filters](#filters) - - [Prefix-lists](#prefix-lists) - - [Route-maps](#route-maps) -- [VRF Instances](#vrf-instances) - - [VRF Instances Summary](#vrf-instances-summary) - - [VRF Instances Device Configuration](#vrf-instances-device-configuration) - -## Management - -### Management Interfaces - -#### Management Interfaces Summary - -##### IPv4 - -| Management Interface | Description | Type | VRF | IP Address | Gateway | -| -------------------- | ----------- | ---- | --- | ---------- | ------- | -| Management0 | oob_management | oob | MGMT | 172.144.100.2/24 | 172.144.100.1 | - -##### IPv6 - -| Management Interface | Description | Type | VRF | IPv6 Address | IPv6 Gateway | -| -------------------- | ----------- | ---- | --- | ------------ | ------------ | -| Management0 | oob_management | oob | MGMT | - | - | - -#### Management Interfaces Device Configuration - -```eos -! -interface Management0 - description oob_management - no shutdown - vrf MGMT - ip address 172.144.100.2/24 -``` - -### IP Name Servers - -#### IP Name Servers Summary - -| Name Server | VRF | Priority | -| ----------- | --- | -------- | -| 1.1.1.1 | MGMT | - | -| 8.8.8.8 | MGMT | - | - -#### IP Name Servers Device Configuration - -```eos -ip name-server vrf MGMT 1.1.1.1 -ip name-server vrf MGMT 8.8.8.8 -``` - -### NTP - -#### NTP Summary - -##### NTP Servers - -| Server | VRF | Preferred | Burst | iBurst | Version | Min Poll | Max Poll | Local-interface | Key | -| ------ | --- | --------- | ----- | ------ | ------- | -------- | -------- | --------------- | --- | -| time.google.com | MGMT | True | - | True | - | - | - | - | - | - -#### NTP Device Configuration - -```eos -! -ntp server vrf MGMT time.google.com prefer iburst -``` - -### Management API gNMI - -#### Management API gNMI Summary - -| Transport | SSL Profile | VRF | Notification Timestamp | ACL | Port | -| --------- | ----------- | --- | ---------------------- | --- | ---- | -| MGMT | - | MGMT | send-time | - | 6030 | -| default | - | - | send-time | - | 6030 | - -Provider eos-native is configured. - -#### Management API gNMI Device Configuration - -```eos -! -management api gnmi - transport grpc MGMT - vrf MGMT - notification timestamp send-time - transport grpc default - notification timestamp send-time - provider eos-native -``` - -### Management API HTTP - -#### Management API HTTP Summary - -| HTTP | HTTPS | Default Services | -| ---- | ----- | ---------------- | -| False | True | - | - -Management HTTPS is using the SSL profile eAPI - -#### Management API VRF Access - -| VRF Name | IPv4 ACL | IPv6 ACL | -| -------- | -------- | -------- | -| MGMT | - | - | - -#### Management API HTTP Device Configuration - -```eos -! -management api http-commands - protocol https - protocol https ssl profile eAPI - no shutdown - ! - vrf MGMT - no shutdown -``` - -## Authentication - -### Local Users - -#### Local Users Summary - -| User | Privilege | Role | Disabled | Shell | -| ---- | --------- | ---- | -------- | ----- | -| admin | 15 | network-admin | False | - | - -#### Local Users Device Configuration - -```eos -! -username admin privilege 15 role network-admin secret sha512 -``` - -## Management Security - -### Management Security Summary - -| Settings | Value | -| -------- | ----- | - -### Management Security SSL Profiles - -| SSL Profile Name | TLS protocol accepted | Certificate filename | Key filename | Cipher List | CRLs | -| ---------------- | --------------------- | -------------------- | ------------ | ----------- | ---- | -| eAPI | - | eAPI.crt | eAPI.key | HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL | - | - -### Management Security Device Configuration - -```eos -! -management security - ssl profile eAPI - cipher-list HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL - certificate eAPI.crt key eAPI.key -``` - -## Spanning Tree - -### Spanning Tree Summary - -STP mode: **mstp** - -### Spanning Tree Device Configuration - -```eos -! -spanning-tree mode mstp -``` - -## Internal VLAN Allocation Policy - -### Internal VLAN Allocation Policy Summary - -| Policy Allocation | Range Beginning | Range Ending | -| ------------------| --------------- | ------------ | -| ascending | 1006 | 1199 | - -### Internal VLAN Allocation Policy Device Configuration - -```eos -! -vlan internal order ascending range 1006 1199 -``` - -## Interfaces - -### Ethernet Interfaces - -#### Ethernet Interfaces Summary - -##### L2 - -| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group | -| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- | - -*Inherited from Port-Channel Interface - -##### IPv4 - -| Interface | Description | Type | Channel Group | IP Address | VRF | MTU | Shutdown | ACL In | ACL Out | -| --------- | ----------- | -----| ------------- | ---------- | ----| ---- | -------- | ------ | ------- | -| Ethernet1 | P2P_LINK_TO_OM-PE11_Ethernet1 | routed | - | 172.31.255.0/31 | default | 9214 | False | - | - | -| Ethernet2 | P2P_LINK_TO_OM-PE12_Ethernet1 | routed | - | 172.31.255.4/31 | default | 9214 | False | - | - | -| Ethernet3 | P2P_LINK_TO_OM-PE21_Ethernet1 | routed | - | 172.31.255.8/31 | default | 9214 | False | - | - | -| Ethernet4 | P2P_LINK_TO_OM-PE22_Ethernet1 | routed | - | 172.31.255.12/31 | default | 9214 | False | - | - | - -#### Ethernet Interfaces Device Configuration - -```eos -! -interface Ethernet1 - description P2P_LINK_TO_OM-PE11_Ethernet1 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.0/31 -! -interface Ethernet2 - description P2P_LINK_TO_OM-PE12_Ethernet1 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.4/31 -! -interface Ethernet3 - description P2P_LINK_TO_OM-PE21_Ethernet1 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.8/31 -! -interface Ethernet4 - description P2P_LINK_TO_OM-PE22_Ethernet1 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.12/31 -``` - -### Loopback Interfaces - -#### Loopback Interfaces Summary - -##### IPv4 - -| Interface | Description | VRF | IP Address | -| --------- | ----------- | --- | ---------- | -| Loopback0 | EVPN_Overlay_Peering | default | 192.168.255.1/32 | - -##### IPv6 - -| Interface | Description | VRF | IPv6 Address | -| --------- | ----------- | --- | ------------ | -| Loopback0 | EVPN_Overlay_Peering | default | - | - -#### Loopback Interfaces Device Configuration - -```eos -! -interface Loopback0 - description EVPN_Overlay_Peering - no shutdown - ip address 192.168.255.1/32 -``` - -## Routing - -### Service Routing Protocols Model - -Multi agent routing protocol model enabled - -```eos -! -service routing protocols model multi-agent -``` - -### IP Routing - -#### IP Routing Summary - -| VRF | Routing Enabled | -| --- | --------------- | -| default | True | -| MGMT | False | - -#### IP Routing Device Configuration - -```eos -! -ip routing -no ip routing vrf MGMT -``` - -### IPv6 Routing - -#### IPv6 Routing Summary - -| VRF | Routing Enabled | -| --- | --------------- | -| default | False | -| MGMT | false | - -### Static Routes - -#### Static Routes Summary - -| VRF | Destination Prefix | Next Hop IP | Exit interface | Administrative Distance | Tag | Route Name | Metric | -| --- | ------------------ | ----------- | -------------- | ----------------------- | --- | ---------- | ------ | -| MGMT | 0.0.0.0/0 | 172.144.100.1 | - | 1 | - | - | - | - -#### Static Routes Device Configuration - -```eos -! -ip route vrf MGMT 0.0.0.0/0 172.144.100.1 -``` - -### Router BGP - -ASN Notation: asplain - -#### Router BGP Summary - -| BGP AS | Router ID | -| ------ | --------- | -| 65001 | 192.168.255.1 | - -| BGP Tuning | -| ---------- | -| no bgp default ipv4-unicast | -| distance bgp 20 200 200 | -| maximum-paths 4 ecmp 4 | - -#### Router BGP Peer Groups - -##### EVPN-OVERLAY-PEERS - -| Settings | Value | -| -------- | ----- | -| Address Family | evpn | -| Next-hop unchanged | True | -| Source | Loopback0 | -| BFD | True | -| Ebgp multihop | 3 | -| Send community | all | -| Maximum routes | 0 (no limit) | - -##### IPv4-UNDERLAY-PEERS - -| Settings | Value | -| -------- | ----- | -| Address Family | ipv4 | -| Send community | all | -| Maximum routes | 12000 | - -#### BGP Neighbors - -| Neighbor | Remote AS | VRF | Shutdown | Send-community | Maximum-routes | Allowas-in | BFD | RIB Pre-Policy Retain | Route-Reflector Client | Passive | TTL Max Hops | -| -------- | --------- | --- | -------- | -------------- | -------------- | ---------- | --- | --------------------- | ---------------------- | ------- | ------------ | -| 172.31.255.1 | 65101 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 172.31.255.5 | 65102 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 172.31.255.9 | 65103 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 172.31.255.13 | 65104 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 192.168.255.3 | 65101 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | -| 192.168.255.4 | 65102 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | -| 192.168.255.5 | 65103 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | -| 192.168.255.6 | 65104 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | - -#### Router BGP EVPN Address Family - -##### EVPN Peer Groups - -| Peer Group | Activate | Encapsulation | -| ---------- | -------- | ------------- | -| EVPN-OVERLAY-PEERS | True | default | - -#### Router BGP Device Configuration - -```eos -! -router bgp 65001 - router-id 192.168.255.1 - distance bgp 20 200 200 - maximum-paths 4 ecmp 4 - no bgp default ipv4-unicast - neighbor EVPN-OVERLAY-PEERS peer group - neighbor EVPN-OVERLAY-PEERS next-hop-unchanged - neighbor EVPN-OVERLAY-PEERS update-source Loopback0 - neighbor EVPN-OVERLAY-PEERS bfd - neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 - neighbor EVPN-OVERLAY-PEERS password 7 - neighbor EVPN-OVERLAY-PEERS send-community - neighbor EVPN-OVERLAY-PEERS maximum-routes 0 - neighbor IPv4-UNDERLAY-PEERS peer group - neighbor IPv4-UNDERLAY-PEERS password 7 - neighbor IPv4-UNDERLAY-PEERS send-community - neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 - neighbor 172.31.255.1 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.1 remote-as 65101 - neighbor 172.31.255.1 description om-pe11_Ethernet1 - neighbor 172.31.255.5 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.5 remote-as 65102 - neighbor 172.31.255.5 description om-pe12_Ethernet1 - neighbor 172.31.255.9 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.9 remote-as 65103 - neighbor 172.31.255.9 description om-pe21_Ethernet1 - neighbor 172.31.255.13 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.13 remote-as 65104 - neighbor 172.31.255.13 description om-pe22_Ethernet1 - neighbor 192.168.255.3 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.3 remote-as 65101 - neighbor 192.168.255.3 description om-pe11 - neighbor 192.168.255.4 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.4 remote-as 65102 - neighbor 192.168.255.4 description om-pe12 - neighbor 192.168.255.5 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.5 remote-as 65103 - neighbor 192.168.255.5 description om-pe21 - neighbor 192.168.255.6 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.6 remote-as 65104 - neighbor 192.168.255.6 description om-pe22 - redistribute connected route-map RM-CONN-2-BGP - ! - address-family evpn - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family rt-membership - neighbor EVPN-OVERLAY-PEERS activate - neighbor EVPN-OVERLAY-PEERS default-route-target only - ! - address-family ipv4 - no neighbor EVPN-OVERLAY-PEERS activate - neighbor IPv4-UNDERLAY-PEERS activate -``` - -## BFD - -### Router BFD - -#### Router BFD Multihop Summary - -| Interval | Minimum RX | Multiplier | -| -------- | ---------- | ---------- | -| 300 | 300 | 3 | - -#### Router BFD Device Configuration - -```eos -! -router bfd - multihop interval 300 min-rx 300 multiplier 3 -``` - -## Filters - -### Prefix-lists - -#### Prefix-lists Summary - -##### PL-LOOPBACKS-EVPN-OVERLAY - -| Sequence | Action | -| -------- | ------ | -| 10 | permit 192.168.255.0/24 eq 32 | - -#### Prefix-lists Device Configuration - -```eos -! -ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY - seq 10 permit 192.168.255.0/24 eq 32 -``` - -### Route-maps - -#### Route-maps Summary - -##### RM-CONN-2-BGP - -| Sequence | Type | Match | Set | Sub-Route-Map | Continue | -| -------- | ---- | ----- | --- | ------------- | -------- | -| 10 | permit | ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY | - | - | - | - -#### Route-maps Device Configuration - -```eos -! -route-map RM-CONN-2-BGP permit 10 - match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY -``` - -## VRF Instances - -### VRF Instances Summary - -| VRF Name | IP Routing | -| -------- | ---------- | -| MGMT | disabled | - -### VRF Instances Device Configuration - -```eos -! -vrf instance MGMT -``` diff --git a/src/gnmic-prometheus/documentation/devices/om-spine2.md b/src/gnmic-prometheus/documentation/devices/om-spine2.md deleted file mode 100644 index df612a8c..00000000 --- a/src/gnmic-prometheus/documentation/devices/om-spine2.md +++ /dev/null @@ -1,544 +0,0 @@ -# om-spine2 - -## Table of Contents - -- [Management](#management) - - [Management Interfaces](#management-interfaces) - - [IP Name Servers](#ip-name-servers) - - [NTP](#ntp) - - [Management API gNMI](#management-api-gnmi) - - [Management API HTTP](#management-api-http) -- [Authentication](#authentication) - - [Local Users](#local-users) -- [Management Security](#management-security) - - [Management Security Summary](#management-security-summary) - - [Management Security SSL Profiles](#management-security-ssl-profiles) - - [Management Security Device Configuration](#management-security-device-configuration) -- [Spanning Tree](#spanning-tree) - - [Spanning Tree Summary](#spanning-tree-summary) - - [Spanning Tree Device Configuration](#spanning-tree-device-configuration) -- [Internal VLAN Allocation Policy](#internal-vlan-allocation-policy) - - [Internal VLAN Allocation Policy Summary](#internal-vlan-allocation-policy-summary) - - [Internal VLAN Allocation Policy Device Configuration](#internal-vlan-allocation-policy-device-configuration) -- [Interfaces](#interfaces) - - [Ethernet Interfaces](#ethernet-interfaces) - - [Loopback Interfaces](#loopback-interfaces) -- [Routing](#routing) - - [Service Routing Protocols Model](#service-routing-protocols-model) - - [IP Routing](#ip-routing) - - [IPv6 Routing](#ipv6-routing) - - [Static Routes](#static-routes) - - [Router BGP](#router-bgp) -- [BFD](#bfd) - - [Router BFD](#router-bfd) -- [Filters](#filters) - - [Prefix-lists](#prefix-lists) - - [Route-maps](#route-maps) -- [VRF Instances](#vrf-instances) - - [VRF Instances Summary](#vrf-instances-summary) - - [VRF Instances Device Configuration](#vrf-instances-device-configuration) - -## Management - -### Management Interfaces - -#### Management Interfaces Summary - -##### IPv4 - -| Management Interface | Description | Type | VRF | IP Address | Gateway | -| -------------------- | ----------- | ---- | --- | ---------- | ------- | -| Management0 | oob_management | oob | MGMT | 172.144.100.3/24 | 172.144.100.1 | - -##### IPv6 - -| Management Interface | Description | Type | VRF | IPv6 Address | IPv6 Gateway | -| -------------------- | ----------- | ---- | --- | ------------ | ------------ | -| Management0 | oob_management | oob | MGMT | - | - | - -#### Management Interfaces Device Configuration - -```eos -! -interface Management0 - description oob_management - no shutdown - vrf MGMT - ip address 172.144.100.3/24 -``` - -### IP Name Servers - -#### IP Name Servers Summary - -| Name Server | VRF | Priority | -| ----------- | --- | -------- | -| 1.1.1.1 | MGMT | - | -| 8.8.8.8 | MGMT | - | - -#### IP Name Servers Device Configuration - -```eos -ip name-server vrf MGMT 1.1.1.1 -ip name-server vrf MGMT 8.8.8.8 -``` - -### NTP - -#### NTP Summary - -##### NTP Servers - -| Server | VRF | Preferred | Burst | iBurst | Version | Min Poll | Max Poll | Local-interface | Key | -| ------ | --- | --------- | ----- | ------ | ------- | -------- | -------- | --------------- | --- | -| time.google.com | MGMT | True | - | True | - | - | - | - | - | - -#### NTP Device Configuration - -```eos -! -ntp server vrf MGMT time.google.com prefer iburst -``` - -### Management API gNMI - -#### Management API gNMI Summary - -| Transport | SSL Profile | VRF | Notification Timestamp | ACL | Port | -| --------- | ----------- | --- | ---------------------- | --- | ---- | -| MGMT | - | MGMT | send-time | - | 6030 | -| default | - | - | send-time | - | 6030 | - -Provider eos-native is configured. - -#### Management API gNMI Device Configuration - -```eos -! -management api gnmi - transport grpc MGMT - vrf MGMT - notification timestamp send-time - transport grpc default - notification timestamp send-time - provider eos-native -``` - -### Management API HTTP - -#### Management API HTTP Summary - -| HTTP | HTTPS | Default Services | -| ---- | ----- | ---------------- | -| False | True | - | - -Management HTTPS is using the SSL profile eAPI - -#### Management API VRF Access - -| VRF Name | IPv4 ACL | IPv6 ACL | -| -------- | -------- | -------- | -| MGMT | - | - | - -#### Management API HTTP Device Configuration - -```eos -! -management api http-commands - protocol https - protocol https ssl profile eAPI - no shutdown - ! - vrf MGMT - no shutdown -``` - -## Authentication - -### Local Users - -#### Local Users Summary - -| User | Privilege | Role | Disabled | Shell | -| ---- | --------- | ---- | -------- | ----- | -| admin | 15 | network-admin | False | - | - -#### Local Users Device Configuration - -```eos -! -username admin privilege 15 role network-admin secret sha512 -``` - -## Management Security - -### Management Security Summary - -| Settings | Value | -| -------- | ----- | - -### Management Security SSL Profiles - -| SSL Profile Name | TLS protocol accepted | Certificate filename | Key filename | Cipher List | CRLs | -| ---------------- | --------------------- | -------------------- | ------------ | ----------- | ---- | -| eAPI | - | eAPI.crt | eAPI.key | HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL | - | - -### Management Security Device Configuration - -```eos -! -management security - ssl profile eAPI - cipher-list HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL - certificate eAPI.crt key eAPI.key -``` - -## Spanning Tree - -### Spanning Tree Summary - -STP mode: **mstp** - -### Spanning Tree Device Configuration - -```eos -! -spanning-tree mode mstp -``` - -## Internal VLAN Allocation Policy - -### Internal VLAN Allocation Policy Summary - -| Policy Allocation | Range Beginning | Range Ending | -| ------------------| --------------- | ------------ | -| ascending | 1006 | 1199 | - -### Internal VLAN Allocation Policy Device Configuration - -```eos -! -vlan internal order ascending range 1006 1199 -``` - -## Interfaces - -### Ethernet Interfaces - -#### Ethernet Interfaces Summary - -##### L2 - -| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group | -| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- | - -*Inherited from Port-Channel Interface - -##### IPv4 - -| Interface | Description | Type | Channel Group | IP Address | VRF | MTU | Shutdown | ACL In | ACL Out | -| --------- | ----------- | -----| ------------- | ---------- | ----| ---- | -------- | ------ | ------- | -| Ethernet1 | P2P_LINK_TO_OM-PE11_Ethernet2 | routed | - | 172.31.255.2/31 | default | 9214 | False | - | - | -| Ethernet2 | P2P_LINK_TO_OM-PE12_Ethernet2 | routed | - | 172.31.255.6/31 | default | 9214 | False | - | - | -| Ethernet3 | P2P_LINK_TO_OM-PE21_Ethernet2 | routed | - | 172.31.255.10/31 | default | 9214 | False | - | - | -| Ethernet4 | P2P_LINK_TO_OM-PE22_Ethernet2 | routed | - | 172.31.255.14/31 | default | 9214 | False | - | - | - -#### Ethernet Interfaces Device Configuration - -```eos -! -interface Ethernet1 - description P2P_LINK_TO_OM-PE11_Ethernet2 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.2/31 -! -interface Ethernet2 - description P2P_LINK_TO_OM-PE12_Ethernet2 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.6/31 -! -interface Ethernet3 - description P2P_LINK_TO_OM-PE21_Ethernet2 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.10/31 -! -interface Ethernet4 - description P2P_LINK_TO_OM-PE22_Ethernet2 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.14/31 -``` - -### Loopback Interfaces - -#### Loopback Interfaces Summary - -##### IPv4 - -| Interface | Description | VRF | IP Address | -| --------- | ----------- | --- | ---------- | -| Loopback0 | EVPN_Overlay_Peering | default | 192.168.255.2/32 | - -##### IPv6 - -| Interface | Description | VRF | IPv6 Address | -| --------- | ----------- | --- | ------------ | -| Loopback0 | EVPN_Overlay_Peering | default | - | - -#### Loopback Interfaces Device Configuration - -```eos -! -interface Loopback0 - description EVPN_Overlay_Peering - no shutdown - ip address 192.168.255.2/32 -``` - -## Routing - -### Service Routing Protocols Model - -Multi agent routing protocol model enabled - -```eos -! -service routing protocols model multi-agent -``` - -### IP Routing - -#### IP Routing Summary - -| VRF | Routing Enabled | -| --- | --------------- | -| default | True | -| MGMT | False | - -#### IP Routing Device Configuration - -```eos -! -ip routing -no ip routing vrf MGMT -``` - -### IPv6 Routing - -#### IPv6 Routing Summary - -| VRF | Routing Enabled | -| --- | --------------- | -| default | False | -| MGMT | false | - -### Static Routes - -#### Static Routes Summary - -| VRF | Destination Prefix | Next Hop IP | Exit interface | Administrative Distance | Tag | Route Name | Metric | -| --- | ------------------ | ----------- | -------------- | ----------------------- | --- | ---------- | ------ | -| MGMT | 0.0.0.0/0 | 172.144.100.1 | - | 1 | - | - | - | - -#### Static Routes Device Configuration - -```eos -! -ip route vrf MGMT 0.0.0.0/0 172.144.100.1 -``` - -### Router BGP - -ASN Notation: asplain - -#### Router BGP Summary - -| BGP AS | Router ID | -| ------ | --------- | -| 65001 | 192.168.255.2 | - -| BGP Tuning | -| ---------- | -| no bgp default ipv4-unicast | -| distance bgp 20 200 200 | -| maximum-paths 4 ecmp 4 | - -#### Router BGP Peer Groups - -##### EVPN-OVERLAY-PEERS - -| Settings | Value | -| -------- | ----- | -| Address Family | evpn | -| Next-hop unchanged | True | -| Source | Loopback0 | -| BFD | True | -| Ebgp multihop | 3 | -| Send community | all | -| Maximum routes | 0 (no limit) | - -##### IPv4-UNDERLAY-PEERS - -| Settings | Value | -| -------- | ----- | -| Address Family | ipv4 | -| Send community | all | -| Maximum routes | 12000 | - -#### BGP Neighbors - -| Neighbor | Remote AS | VRF | Shutdown | Send-community | Maximum-routes | Allowas-in | BFD | RIB Pre-Policy Retain | Route-Reflector Client | Passive | TTL Max Hops | -| -------- | --------- | --- | -------- | -------------- | -------------- | ---------- | --- | --------------------- | ---------------------- | ------- | ------------ | -| 172.31.255.3 | 65101 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 172.31.255.7 | 65102 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 172.31.255.11 | 65103 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 172.31.255.15 | 65104 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 192.168.255.3 | 65101 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | -| 192.168.255.4 | 65102 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | -| 192.168.255.5 | 65103 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | -| 192.168.255.6 | 65104 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | - -#### Router BGP EVPN Address Family - -##### EVPN Peer Groups - -| Peer Group | Activate | Encapsulation | -| ---------- | -------- | ------------- | -| EVPN-OVERLAY-PEERS | True | default | - -#### Router BGP Device Configuration - -```eos -! -router bgp 65001 - router-id 192.168.255.2 - distance bgp 20 200 200 - maximum-paths 4 ecmp 4 - no bgp default ipv4-unicast - neighbor EVPN-OVERLAY-PEERS peer group - neighbor EVPN-OVERLAY-PEERS next-hop-unchanged - neighbor EVPN-OVERLAY-PEERS update-source Loopback0 - neighbor EVPN-OVERLAY-PEERS bfd - neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 - neighbor EVPN-OVERLAY-PEERS password 7 - neighbor EVPN-OVERLAY-PEERS send-community - neighbor EVPN-OVERLAY-PEERS maximum-routes 0 - neighbor IPv4-UNDERLAY-PEERS peer group - neighbor IPv4-UNDERLAY-PEERS password 7 - neighbor IPv4-UNDERLAY-PEERS send-community - neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 - neighbor 172.31.255.3 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.3 remote-as 65101 - neighbor 172.31.255.3 description om-pe11_Ethernet2 - neighbor 172.31.255.7 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.7 remote-as 65102 - neighbor 172.31.255.7 description om-pe12_Ethernet2 - neighbor 172.31.255.11 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.11 remote-as 65103 - neighbor 172.31.255.11 description om-pe21_Ethernet2 - neighbor 172.31.255.15 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.15 remote-as 65104 - neighbor 172.31.255.15 description om-pe22_Ethernet2 - neighbor 192.168.255.3 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.3 remote-as 65101 - neighbor 192.168.255.3 description om-pe11 - neighbor 192.168.255.4 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.4 remote-as 65102 - neighbor 192.168.255.4 description om-pe12 - neighbor 192.168.255.5 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.5 remote-as 65103 - neighbor 192.168.255.5 description om-pe21 - neighbor 192.168.255.6 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.6 remote-as 65104 - neighbor 192.168.255.6 description om-pe22 - redistribute connected route-map RM-CONN-2-BGP - ! - address-family evpn - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family rt-membership - neighbor EVPN-OVERLAY-PEERS activate - neighbor EVPN-OVERLAY-PEERS default-route-target only - ! - address-family ipv4 - no neighbor EVPN-OVERLAY-PEERS activate - neighbor IPv4-UNDERLAY-PEERS activate -``` - -## BFD - -### Router BFD - -#### Router BFD Multihop Summary - -| Interval | Minimum RX | Multiplier | -| -------- | ---------- | ---------- | -| 300 | 300 | 3 | - -#### Router BFD Device Configuration - -```eos -! -router bfd - multihop interval 300 min-rx 300 multiplier 3 -``` - -## Filters - -### Prefix-lists - -#### Prefix-lists Summary - -##### PL-LOOPBACKS-EVPN-OVERLAY - -| Sequence | Action | -| -------- | ------ | -| 10 | permit 192.168.255.0/24 eq 32 | - -#### Prefix-lists Device Configuration - -```eos -! -ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY - seq 10 permit 192.168.255.0/24 eq 32 -``` - -### Route-maps - -#### Route-maps Summary - -##### RM-CONN-2-BGP - -| Sequence | Type | Match | Set | Sub-Route-Map | Continue | -| -------- | ---- | ----- | --- | ------------- | -------- | -| 10 | permit | ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY | - | - | - | - -#### Route-maps Device Configuration - -```eos -! -route-map RM-CONN-2-BGP permit 10 - match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY -``` - -## VRF Instances - -### VRF Instances Summary - -| VRF Name | IP Routing | -| -------- | ---------- | -| MGMT | disabled | - -### VRF Instances Device Configuration - -```eos -! -vrf instance MGMT -``` diff --git a/src/gnmic-prometheus/documentation/devices/om_pe11.md b/src/gnmic-prometheus/documentation/devices/om_pe11.md deleted file mode 100644 index f76c8e90..00000000 --- a/src/gnmic-prometheus/documentation/devices/om_pe11.md +++ /dev/null @@ -1,719 +0,0 @@ -# om_pe11 - -## Table of Contents - -- [Management](#management) - - [Management Interfaces](#management-interfaces) - - [IP Name Servers](#ip-name-servers) - - [NTP](#ntp) - - [Management API gNMI](#management-api-gnmi) - - [Management API HTTP](#management-api-http) -- [Authentication](#authentication) - - [Local Users](#local-users) -- [Management Security](#management-security) - - [Management Security Summary](#management-security-summary) - - [Management Security SSL Profiles](#management-security-ssl-profiles) - - [Management Security Device Configuration](#management-security-device-configuration) -- [Spanning Tree](#spanning-tree) - - [Spanning Tree Summary](#spanning-tree-summary) - - [Spanning Tree Device Configuration](#spanning-tree-device-configuration) -- [Internal VLAN Allocation Policy](#internal-vlan-allocation-policy) - - [Internal VLAN Allocation Policy Summary](#internal-vlan-allocation-policy-summary) - - [Internal VLAN Allocation Policy Device Configuration](#internal-vlan-allocation-policy-device-configuration) -- [VLANs](#vlans) - - [VLANs Summary](#vlans-summary) - - [VLANs Device Configuration](#vlans-device-configuration) -- [Interfaces](#interfaces) - - [Ethernet Interfaces](#ethernet-interfaces) - - [Port-Channel Interfaces](#port-channel-interfaces) - - [Loopback Interfaces](#loopback-interfaces) - - [VLAN Interfaces](#vlan-interfaces) - - [VXLAN Interface](#vxlan-interface) -- [Routing](#routing) - - [Service Routing Protocols Model](#service-routing-protocols-model) - - [Virtual Router MAC Address](#virtual-router-mac-address) - - [IP Routing](#ip-routing) - - [IPv6 Routing](#ipv6-routing) - - [Static Routes](#static-routes) - - [Router BGP](#router-bgp) -- [BFD](#bfd) - - [Router BFD](#router-bfd) -- [Multicast](#multicast) - - [IP IGMP Snooping](#ip-igmp-snooping) -- [Filters](#filters) - - [Prefix-lists](#prefix-lists) - - [Route-maps](#route-maps) -- [VRF Instances](#vrf-instances) - - [VRF Instances Summary](#vrf-instances-summary) - - [VRF Instances Device Configuration](#vrf-instances-device-configuration) - -## Management - -### Management Interfaces - -#### Management Interfaces Summary - -##### IPv4 - -| Management Interface | Description | Type | VRF | IP Address | Gateway | -| -------------------- | ----------- | ---- | --- | ---------- | ------- | -| Management0 | oob_management | oob | MGMT | 172.144.100.4/24 | 172.144.100.1 | - -##### IPv6 - -| Management Interface | Description | Type | VRF | IPv6 Address | IPv6 Gateway | -| -------------------- | ----------- | ---- | --- | ------------ | ------------ | -| Management0 | oob_management | oob | MGMT | - | - | - -#### Management Interfaces Device Configuration - -```eos -! -interface Management0 - description oob_management - no shutdown - vrf MGMT - ip address 172.144.100.4/24 -``` - -### IP Name Servers - -#### IP Name Servers Summary - -| Name Server | VRF | Priority | -| ----------- | --- | -------- | -| 1.1.1.1 | MGMT | - | -| 8.8.8.8 | MGMT | - | - -#### IP Name Servers Device Configuration - -```eos -ip name-server vrf MGMT 1.1.1.1 -ip name-server vrf MGMT 8.8.8.8 -``` - -### NTP - -#### NTP Summary - -##### NTP Servers - -| Server | VRF | Preferred | Burst | iBurst | Version | Min Poll | Max Poll | Local-interface | Key | -| ------ | --- | --------- | ----- | ------ | ------- | -------- | -------- | --------------- | --- | -| time.google.com | MGMT | True | - | True | - | - | - | - | - | - -#### NTP Device Configuration - -```eos -! -ntp server vrf MGMT time.google.com prefer iburst -``` - -### Management API gNMI - -#### Management API gNMI Summary - -| Transport | SSL Profile | VRF | Notification Timestamp | ACL | Port | -| --------- | ----------- | --- | ---------------------- | --- | ---- | -| MGMT | - | MGMT | send-time | - | 6030 | -| default | - | - | send-time | - | 6030 | - -Provider eos-native is configured. - -#### Management API gNMI Device Configuration - -```eos -! -management api gnmi - transport grpc MGMT - vrf MGMT - notification timestamp send-time - transport grpc default - notification timestamp send-time - provider eos-native -``` - -### Management API HTTP - -#### Management API HTTP Summary - -| HTTP | HTTPS | Default Services | -| ---- | ----- | ---------------- | -| False | True | - | - -Management HTTPS is using the SSL profile eAPI - -#### Management API VRF Access - -| VRF Name | IPv4 ACL | IPv6 ACL | -| -------- | -------- | -------- | -| MGMT | - | - | - -#### Management API HTTP Device Configuration - -```eos -! -management api http-commands - protocol https - protocol https ssl profile eAPI - no shutdown - ! - vrf MGMT - no shutdown -``` - -## Authentication - -### Local Users - -#### Local Users Summary - -| User | Privilege | Role | Disabled | Shell | -| ---- | --------- | ---- | -------- | ----- | -| admin | 15 | network-admin | False | - | - -#### Local Users Device Configuration - -```eos -! -username admin privilege 15 role network-admin secret sha512 -``` - -## Management Security - -### Management Security Summary - -| Settings | Value | -| -------- | ----- | - -### Management Security SSL Profiles - -| SSL Profile Name | TLS protocol accepted | Certificate filename | Key filename | Cipher List | CRLs | -| ---------------- | --------------------- | -------------------- | ------------ | ----------- | ---- | -| eAPI | - | eAPI.crt | eAPI.key | HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL | - | - -### Management Security Device Configuration - -```eos -! -management security - ssl profile eAPI - cipher-list HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL - certificate eAPI.crt key eAPI.key -``` - -## Spanning Tree - -### Spanning Tree Summary - -STP mode: **mstp** - -#### MSTP Instance and Priority - -| Instance(s) | Priority | -| -------- | -------- | -| 0 | 4096 | - -### Spanning Tree Device Configuration - -```eos -! -spanning-tree mode mstp -spanning-tree mst 0 priority 4096 -``` - -## Internal VLAN Allocation Policy - -### Internal VLAN Allocation Policy Summary - -| Policy Allocation | Range Beginning | Range Ending | -| ------------------| --------------- | ------------ | -| ascending | 1006 | 1199 | - -### Internal VLAN Allocation Policy Device Configuration - -```eos -! -vlan internal order ascending range 1006 1199 -``` - -## VLANs - -### VLANs Summary - -| VLAN ID | Name | Trunk Groups | -| ------- | ---- | ------------ | -| 110 | Tenant_A_OP_Zone_1 | - | -| 111 | Tenant_A_OP_Zone_2 | - | - -### VLANs Device Configuration - -```eos -! -vlan 110 - name Tenant_A_OP_Zone_1 -! -vlan 111 - name Tenant_A_OP_Zone_2 -``` - -## Interfaces - -### Ethernet Interfaces - -#### Ethernet Interfaces Summary - -##### L2 - -| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group | -| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- | -| Ethernet3 | server01_Eth1 | *trunk | *110 | *- | *- | 3 | -| Ethernet4 | server02_Eth1 | *trunk | *111 | *- | *- | 4 | - -*Inherited from Port-Channel Interface - -##### IPv4 - -| Interface | Description | Type | Channel Group | IP Address | VRF | MTU | Shutdown | ACL In | ACL Out | -| --------- | ----------- | -----| ------------- | ---------- | ----| ---- | -------- | ------ | ------- | -| Ethernet1 | P2P_LINK_TO_OM_SPINE1_Ethernet1 | routed | - | 172.31.255.1/31 | default | 9214 | False | - | - | -| Ethernet2 | P2P_LINK_TO_OM_SPINE2_Ethernet1 | routed | - | 172.31.255.3/31 | default | 9214 | False | - | - | - -#### Ethernet Interfaces Device Configuration - -```eos -! -interface Ethernet1 - description P2P_LINK_TO_OM_SPINE1_Ethernet1 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.1/31 -! -interface Ethernet2 - description P2P_LINK_TO_OM_SPINE2_Ethernet1 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.3/31 -! -interface Ethernet3 - description server01_Eth1 - no shutdown - channel-group 3 mode active -! -interface Ethernet4 - description server02_Eth1 - no shutdown - channel-group 4 mode active -``` - -### Port-Channel Interfaces - -#### Port-Channel Interfaces Summary - -##### L2 - -| Interface | Description | Type | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI | -| --------- | ----------- | ---- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- | -| Port-Channel3 | server01_PortChannel3 | switched | trunk | 110 | - | - | - | - | - | 0000:0000:0101:0102:0033 | -| Port-Channel4 | server02_PortChannel4 | switched | trunk | 111 | - | - | - | - | - | 0000:0000:0101:0102:0044 | - -##### EVPN Multihoming - -####### EVPN Multihoming Summary - -| Interface | Ethernet Segment Identifier | Multihoming Redundancy Mode | Route Target | -| --------- | --------------------------- | --------------------------- | ------------ | -| Port-Channel3 | 0000:0000:0101:0102:0033 | all-active | 01:01:01:02:00:33 | -| Port-Channel4 | 0000:0000:0101:0102:0044 | all-active | 01:01:01:02:00:44 | - -#### Port-Channel Interfaces Device Configuration - -```eos -! -interface Port-Channel3 - description server01_PortChannel3 - no shutdown - switchport - switchport trunk allowed vlan 110 - switchport mode trunk - evpn ethernet-segment - identifier 0000:0000:0101:0102:0033 - route-target import 01:01:01:02:00:33 - lacp system-id 0101.0102.0033 - spanning-tree portfast -! -interface Port-Channel4 - description server02_PortChannel4 - no shutdown - switchport - switchport trunk allowed vlan 111 - switchport mode trunk - evpn ethernet-segment - identifier 0000:0000:0101:0102:0044 - route-target import 01:01:01:02:00:44 - lacp system-id 0101.0102.0044 - spanning-tree portfast -``` - -### Loopback Interfaces - -#### Loopback Interfaces Summary - -##### IPv4 - -| Interface | Description | VRF | IP Address | -| --------- | ----------- | --- | ---------- | -| Loopback0 | EVPN_Overlay_Peering | default | 192.168.255.3/32 | -| Loopback1 | VTEP_VXLAN_Tunnel_Source | default | 192.168.254.3/32 | - -##### IPv6 - -| Interface | Description | VRF | IPv6 Address | -| --------- | ----------- | --- | ------------ | -| Loopback0 | EVPN_Overlay_Peering | default | - | -| Loopback1 | VTEP_VXLAN_Tunnel_Source | default | - | - -#### Loopback Interfaces Device Configuration - -```eos -! -interface Loopback0 - description EVPN_Overlay_Peering - no shutdown - ip address 192.168.255.3/32 -! -interface Loopback1 - description VTEP_VXLAN_Tunnel_Source - no shutdown - ip address 192.168.254.3/32 -``` - -### VLAN Interfaces - -#### VLAN Interfaces Summary - -| Interface | Description | VRF | MTU | Shutdown | -| --------- | ----------- | --- | ---- | -------- | -| Vlan110 | Tenant_A_OP_Zone_1 | default | - | False | -| Vlan111 | Tenant_A_OP_Zone_2 | default | - | False | - -##### IPv4 - -| Interface | VRF | IP Address | IP Address Virtual | IP Router Virtual Address | VRRP | ACL In | ACL Out | -| --------- | --- | ---------- | ------------------ | ------------------------- | ---- | ------ | ------- | -| Vlan110 | default | - | 10.1.10.1/24 | - | - | - | - | -| Vlan111 | default | - | 10.1.11.1/24 | - | - | - | - | - -#### VLAN Interfaces Device Configuration - -```eos -! -interface Vlan110 - description Tenant_A_OP_Zone_1 - no shutdown - ip address virtual 10.1.10.1/24 -! -interface Vlan111 - description Tenant_A_OP_Zone_2 - no shutdown - ip address virtual 10.1.11.1/24 -``` - -### VXLAN Interface - -#### VXLAN Interface Summary - -| Setting | Value | -| ------- | ----- | -| Source Interface | Loopback1 | -| UDP port | 4789 | - -##### VLAN to VNI, Flood List and Multicast Group Mappings - -| VLAN | VNI | Flood List | Multicast Group | -| ---- | --- | ---------- | --------------- | -| 110 | 10110 | - | - | -| 111 | 10111 | - | - | - -#### VXLAN Interface Device Configuration - -```eos -! -interface Vxlan1 - description om_pe11_VTEP - vxlan source-interface Loopback1 - vxlan udp-port 4789 - vxlan vlan 110 vni 10110 - vxlan vlan 111 vni 10111 -``` - -## Routing - -### Service Routing Protocols Model - -Multi agent routing protocol model enabled - -```eos -! -service routing protocols model multi-agent -``` - -### Virtual Router MAC Address - -#### Virtual Router MAC Address Summary - -Virtual Router MAC Address: 00:00:00:00:00:01 - -#### Virtual Router MAC Address Device Configuration - -```eos -! -ip virtual-router mac-address 00:00:00:00:00:01 -``` - -### IP Routing - -#### IP Routing Summary - -| VRF | Routing Enabled | -| --- | --------------- | -| default | True | -| MGMT | False | - -#### IP Routing Device Configuration - -```eos -! -ip routing -no ip routing vrf MGMT -``` - -### IPv6 Routing - -#### IPv6 Routing Summary - -| VRF | Routing Enabled | -| --- | --------------- | -| default | False | -| MGMT | false | - -### Static Routes - -#### Static Routes Summary - -| VRF | Destination Prefix | Next Hop IP | Exit interface | Administrative Distance | Tag | Route Name | Metric | -| --- | ------------------ | ----------- | -------------- | ----------------------- | --- | ---------- | ------ | -| MGMT | 0.0.0.0/0 | 172.144.100.1 | - | 1 | - | - | - | - -#### Static Routes Device Configuration - -```eos -! -ip route vrf MGMT 0.0.0.0/0 172.144.100.1 -``` - -### Router BGP - -ASN Notation: asplain - -#### Router BGP Summary - -| BGP AS | Router ID | -| ------ | --------- | -| 65101 | 192.168.255.3 | - -| BGP Tuning | -| ---------- | -| no bgp default ipv4-unicast | -| distance bgp 20 200 200 | -| maximum-paths 4 ecmp 4 | - -#### Router BGP Peer Groups - -##### EVPN-OVERLAY-PEERS - -| Settings | Value | -| -------- | ----- | -| Address Family | evpn | -| Source | Loopback0 | -| BFD | True | -| Ebgp multihop | 3 | -| Send community | all | -| Maximum routes | 0 (no limit) | - -##### IPv4-UNDERLAY-PEERS - -| Settings | Value | -| -------- | ----- | -| Address Family | ipv4 | -| Send community | all | -| Maximum routes | 12000 | - -#### BGP Neighbors - -| Neighbor | Remote AS | VRF | Shutdown | Send-community | Maximum-routes | Allowas-in | BFD | RIB Pre-Policy Retain | Route-Reflector Client | Passive | TTL Max Hops | -| -------- | --------- | --- | -------- | -------------- | -------------- | ---------- | --- | --------------------- | ---------------------- | ------- | ------------ | -| 172.31.255.0 | 65001 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 172.31.255.2 | 65001 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 192.168.255.1 | 65001 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | -| 192.168.255.2 | 65001 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | - -#### Router BGP EVPN Address Family - -##### EVPN Peer Groups - -| Peer Group | Activate | Encapsulation | -| ---------- | -------- | ------------- | -| EVPN-OVERLAY-PEERS | True | default | - -#### Router BGP VLANs - -| VLAN | Route-Distinguisher | Both Route-Target | Import Route Target | Export Route-Target | Redistribute | -| ---- | ------------------- | ----------------- | ------------------- | ------------------- | ------------ | -| 110 | 192.168.255.3:10110 | 10110:10110 | - | - | learned | -| 111 | 192.168.255.3:10111 | 10111:10111 | - | - | learned | - -#### Router BGP Device Configuration - -```eos -! -router bgp 65101 - router-id 192.168.255.3 - distance bgp 20 200 200 - maximum-paths 4 ecmp 4 - no bgp default ipv4-unicast - neighbor EVPN-OVERLAY-PEERS peer group - neighbor EVPN-OVERLAY-PEERS update-source Loopback0 - neighbor EVPN-OVERLAY-PEERS bfd - neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 - neighbor EVPN-OVERLAY-PEERS password 7 - neighbor EVPN-OVERLAY-PEERS send-community - neighbor EVPN-OVERLAY-PEERS maximum-routes 0 - neighbor IPv4-UNDERLAY-PEERS peer group - neighbor IPv4-UNDERLAY-PEERS password 7 - neighbor IPv4-UNDERLAY-PEERS send-community - neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 - neighbor 172.31.255.0 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.0 remote-as 65001 - neighbor 172.31.255.0 description om_spine1_Ethernet1 - neighbor 172.31.255.2 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.2 remote-as 65001 - neighbor 172.31.255.2 description om_spine2_Ethernet1 - neighbor 192.168.255.1 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.1 remote-as 65001 - neighbor 192.168.255.1 description om_spine1 - neighbor 192.168.255.2 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.2 remote-as 65001 - neighbor 192.168.255.2 description om_spine2 - redistribute connected route-map RM-CONN-2-BGP - ! - vlan 110 - rd 192.168.255.3:10110 - route-target both 10110:10110 - redistribute learned - ! - vlan 111 - rd 192.168.255.3:10111 - route-target both 10111:10111 - redistribute learned - ! - address-family evpn - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family rt-membership - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family ipv4 - no neighbor EVPN-OVERLAY-PEERS activate - neighbor IPv4-UNDERLAY-PEERS activate -``` - -## BFD - -### Router BFD - -#### Router BFD Multihop Summary - -| Interval | Minimum RX | Multiplier | -| -------- | ---------- | ---------- | -| 300 | 300 | 3 | - -#### Router BFD Device Configuration - -```eos -! -router bfd - multihop interval 300 min-rx 300 multiplier 3 -``` - -## Multicast - -### IP IGMP Snooping - -#### IP IGMP Snooping Summary - -| IGMP Snooping | Fast Leave | Interface Restart Query | Proxy | Restart Query Interval | Robustness Variable | -| ------------- | ---------- | ----------------------- | ----- | ---------------------- | ------------------- | -| Enabled | - | - | - | - | - | - -#### IP IGMP Snooping Device Configuration - -```eos -``` - -## Filters - -### Prefix-lists - -#### Prefix-lists Summary - -##### PL-LOOPBACKS-EVPN-OVERLAY - -| Sequence | Action | -| -------- | ------ | -| 10 | permit 192.168.255.0/24 eq 32 | -| 20 | permit 192.168.254.0/24 eq 32 | - -#### Prefix-lists Device Configuration - -```eos -! -ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY - seq 10 permit 192.168.255.0/24 eq 32 - seq 20 permit 192.168.254.0/24 eq 32 -``` - -### Route-maps - -#### Route-maps Summary - -##### RM-CONN-2-BGP - -| Sequence | Type | Match | Set | Sub-Route-Map | Continue | -| -------- | ---- | ----- | --- | ------------- | -------- | -| 10 | permit | ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY | - | - | - | - -#### Route-maps Device Configuration - -```eos -! -route-map RM-CONN-2-BGP permit 10 - match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY -``` - -## VRF Instances - -### VRF Instances Summary - -| VRF Name | IP Routing | -| -------- | ---------- | -| MGMT | disabled | - -### VRF Instances Device Configuration - -```eos -! -vrf instance MGMT -``` diff --git a/src/gnmic-prometheus/documentation/devices/om_pe12.md b/src/gnmic-prometheus/documentation/devices/om_pe12.md deleted file mode 100644 index 34af561b..00000000 --- a/src/gnmic-prometheus/documentation/devices/om_pe12.md +++ /dev/null @@ -1,719 +0,0 @@ -# om_pe12 - -## Table of Contents - -- [Management](#management) - - [Management Interfaces](#management-interfaces) - - [IP Name Servers](#ip-name-servers) - - [NTP](#ntp) - - [Management API gNMI](#management-api-gnmi) - - [Management API HTTP](#management-api-http) -- [Authentication](#authentication) - - [Local Users](#local-users) -- [Management Security](#management-security) - - [Management Security Summary](#management-security-summary) - - [Management Security SSL Profiles](#management-security-ssl-profiles) - - [Management Security Device Configuration](#management-security-device-configuration) -- [Spanning Tree](#spanning-tree) - - [Spanning Tree Summary](#spanning-tree-summary) - - [Spanning Tree Device Configuration](#spanning-tree-device-configuration) -- [Internal VLAN Allocation Policy](#internal-vlan-allocation-policy) - - [Internal VLAN Allocation Policy Summary](#internal-vlan-allocation-policy-summary) - - [Internal VLAN Allocation Policy Device Configuration](#internal-vlan-allocation-policy-device-configuration) -- [VLANs](#vlans) - - [VLANs Summary](#vlans-summary) - - [VLANs Device Configuration](#vlans-device-configuration) -- [Interfaces](#interfaces) - - [Ethernet Interfaces](#ethernet-interfaces) - - [Port-Channel Interfaces](#port-channel-interfaces) - - [Loopback Interfaces](#loopback-interfaces) - - [VLAN Interfaces](#vlan-interfaces) - - [VXLAN Interface](#vxlan-interface) -- [Routing](#routing) - - [Service Routing Protocols Model](#service-routing-protocols-model) - - [Virtual Router MAC Address](#virtual-router-mac-address) - - [IP Routing](#ip-routing) - - [IPv6 Routing](#ipv6-routing) - - [Static Routes](#static-routes) - - [Router BGP](#router-bgp) -- [BFD](#bfd) - - [Router BFD](#router-bfd) -- [Multicast](#multicast) - - [IP IGMP Snooping](#ip-igmp-snooping) -- [Filters](#filters) - - [Prefix-lists](#prefix-lists) - - [Route-maps](#route-maps) -- [VRF Instances](#vrf-instances) - - [VRF Instances Summary](#vrf-instances-summary) - - [VRF Instances Device Configuration](#vrf-instances-device-configuration) - -## Management - -### Management Interfaces - -#### Management Interfaces Summary - -##### IPv4 - -| Management Interface | Description | Type | VRF | IP Address | Gateway | -| -------------------- | ----------- | ---- | --- | ---------- | ------- | -| Management0 | oob_management | oob | MGMT | 172.144.100.5/24 | 172.144.100.1 | - -##### IPv6 - -| Management Interface | Description | Type | VRF | IPv6 Address | IPv6 Gateway | -| -------------------- | ----------- | ---- | --- | ------------ | ------------ | -| Management0 | oob_management | oob | MGMT | - | - | - -#### Management Interfaces Device Configuration - -```eos -! -interface Management0 - description oob_management - no shutdown - vrf MGMT - ip address 172.144.100.5/24 -``` - -### IP Name Servers - -#### IP Name Servers Summary - -| Name Server | VRF | Priority | -| ----------- | --- | -------- | -| 1.1.1.1 | MGMT | - | -| 8.8.8.8 | MGMT | - | - -#### IP Name Servers Device Configuration - -```eos -ip name-server vrf MGMT 1.1.1.1 -ip name-server vrf MGMT 8.8.8.8 -``` - -### NTP - -#### NTP Summary - -##### NTP Servers - -| Server | VRF | Preferred | Burst | iBurst | Version | Min Poll | Max Poll | Local-interface | Key | -| ------ | --- | --------- | ----- | ------ | ------- | -------- | -------- | --------------- | --- | -| time.google.com | MGMT | True | - | True | - | - | - | - | - | - -#### NTP Device Configuration - -```eos -! -ntp server vrf MGMT time.google.com prefer iburst -``` - -### Management API gNMI - -#### Management API gNMI Summary - -| Transport | SSL Profile | VRF | Notification Timestamp | ACL | Port | -| --------- | ----------- | --- | ---------------------- | --- | ---- | -| MGMT | - | MGMT | send-time | - | 6030 | -| default | - | - | send-time | - | 6030 | - -Provider eos-native is configured. - -#### Management API gNMI Device Configuration - -```eos -! -management api gnmi - transport grpc MGMT - vrf MGMT - notification timestamp send-time - transport grpc default - notification timestamp send-time - provider eos-native -``` - -### Management API HTTP - -#### Management API HTTP Summary - -| HTTP | HTTPS | Default Services | -| ---- | ----- | ---------------- | -| False | True | - | - -Management HTTPS is using the SSL profile eAPI - -#### Management API VRF Access - -| VRF Name | IPv4 ACL | IPv6 ACL | -| -------- | -------- | -------- | -| MGMT | - | - | - -#### Management API HTTP Device Configuration - -```eos -! -management api http-commands - protocol https - protocol https ssl profile eAPI - no shutdown - ! - vrf MGMT - no shutdown -``` - -## Authentication - -### Local Users - -#### Local Users Summary - -| User | Privilege | Role | Disabled | Shell | -| ---- | --------- | ---- | -------- | ----- | -| admin | 15 | network-admin | False | - | - -#### Local Users Device Configuration - -```eos -! -username admin privilege 15 role network-admin secret sha512 -``` - -## Management Security - -### Management Security Summary - -| Settings | Value | -| -------- | ----- | - -### Management Security SSL Profiles - -| SSL Profile Name | TLS protocol accepted | Certificate filename | Key filename | Cipher List | CRLs | -| ---------------- | --------------------- | -------------------- | ------------ | ----------- | ---- | -| eAPI | - | eAPI.crt | eAPI.key | HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL | - | - -### Management Security Device Configuration - -```eos -! -management security - ssl profile eAPI - cipher-list HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL - certificate eAPI.crt key eAPI.key -``` - -## Spanning Tree - -### Spanning Tree Summary - -STP mode: **mstp** - -#### MSTP Instance and Priority - -| Instance(s) | Priority | -| -------- | -------- | -| 0 | 4096 | - -### Spanning Tree Device Configuration - -```eos -! -spanning-tree mode mstp -spanning-tree mst 0 priority 4096 -``` - -## Internal VLAN Allocation Policy - -### Internal VLAN Allocation Policy Summary - -| Policy Allocation | Range Beginning | Range Ending | -| ------------------| --------------- | ------------ | -| ascending | 1006 | 1199 | - -### Internal VLAN Allocation Policy Device Configuration - -```eos -! -vlan internal order ascending range 1006 1199 -``` - -## VLANs - -### VLANs Summary - -| VLAN ID | Name | Trunk Groups | -| ------- | ---- | ------------ | -| 110 | Tenant_A_OP_Zone_1 | - | -| 111 | Tenant_A_OP_Zone_2 | - | - -### VLANs Device Configuration - -```eos -! -vlan 110 - name Tenant_A_OP_Zone_1 -! -vlan 111 - name Tenant_A_OP_Zone_2 -``` - -## Interfaces - -### Ethernet Interfaces - -#### Ethernet Interfaces Summary - -##### L2 - -| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group | -| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- | -| Ethernet3 | server01_Eth2 | *trunk | *110 | *- | *- | 3 | -| Ethernet4 | server02_Eth2 | *trunk | *111 | *- | *- | 4 | - -*Inherited from Port-Channel Interface - -##### IPv4 - -| Interface | Description | Type | Channel Group | IP Address | VRF | MTU | Shutdown | ACL In | ACL Out | -| --------- | ----------- | -----| ------------- | ---------- | ----| ---- | -------- | ------ | ------- | -| Ethernet1 | P2P_LINK_TO_OM_SPINE1_Ethernet2 | routed | - | 172.31.255.5/31 | default | 9214 | False | - | - | -| Ethernet2 | P2P_LINK_TO_OM_SPINE2_Ethernet2 | routed | - | 172.31.255.7/31 | default | 9214 | False | - | - | - -#### Ethernet Interfaces Device Configuration - -```eos -! -interface Ethernet1 - description P2P_LINK_TO_OM_SPINE1_Ethernet2 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.5/31 -! -interface Ethernet2 - description P2P_LINK_TO_OM_SPINE2_Ethernet2 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.7/31 -! -interface Ethernet3 - description server01_Eth2 - no shutdown - channel-group 3 mode active -! -interface Ethernet4 - description server02_Eth2 - no shutdown - channel-group 4 mode active -``` - -### Port-Channel Interfaces - -#### Port-Channel Interfaces Summary - -##### L2 - -| Interface | Description | Type | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI | -| --------- | ----------- | ---- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- | -| Port-Channel3 | server01_PortChannel3 | switched | trunk | 110 | - | - | - | - | - | 0000:0000:0101:0102:0033 | -| Port-Channel4 | server02_PortChannel4 | switched | trunk | 111 | - | - | - | - | - | 0000:0000:0101:0102:0044 | - -##### EVPN Multihoming - -####### EVPN Multihoming Summary - -| Interface | Ethernet Segment Identifier | Multihoming Redundancy Mode | Route Target | -| --------- | --------------------------- | --------------------------- | ------------ | -| Port-Channel3 | 0000:0000:0101:0102:0033 | all-active | 01:01:01:02:00:33 | -| Port-Channel4 | 0000:0000:0101:0102:0044 | all-active | 01:01:01:02:00:44 | - -#### Port-Channel Interfaces Device Configuration - -```eos -! -interface Port-Channel3 - description server01_PortChannel3 - no shutdown - switchport - switchport trunk allowed vlan 110 - switchport mode trunk - evpn ethernet-segment - identifier 0000:0000:0101:0102:0033 - route-target import 01:01:01:02:00:33 - lacp system-id 0101.0102.0033 - spanning-tree portfast -! -interface Port-Channel4 - description server02_PortChannel4 - no shutdown - switchport - switchport trunk allowed vlan 111 - switchport mode trunk - evpn ethernet-segment - identifier 0000:0000:0101:0102:0044 - route-target import 01:01:01:02:00:44 - lacp system-id 0101.0102.0044 - spanning-tree portfast -``` - -### Loopback Interfaces - -#### Loopback Interfaces Summary - -##### IPv4 - -| Interface | Description | VRF | IP Address | -| --------- | ----------- | --- | ---------- | -| Loopback0 | EVPN_Overlay_Peering | default | 192.168.255.4/32 | -| Loopback1 | VTEP_VXLAN_Tunnel_Source | default | 192.168.254.4/32 | - -##### IPv6 - -| Interface | Description | VRF | IPv6 Address | -| --------- | ----------- | --- | ------------ | -| Loopback0 | EVPN_Overlay_Peering | default | - | -| Loopback1 | VTEP_VXLAN_Tunnel_Source | default | - | - -#### Loopback Interfaces Device Configuration - -```eos -! -interface Loopback0 - description EVPN_Overlay_Peering - no shutdown - ip address 192.168.255.4/32 -! -interface Loopback1 - description VTEP_VXLAN_Tunnel_Source - no shutdown - ip address 192.168.254.4/32 -``` - -### VLAN Interfaces - -#### VLAN Interfaces Summary - -| Interface | Description | VRF | MTU | Shutdown | -| --------- | ----------- | --- | ---- | -------- | -| Vlan110 | Tenant_A_OP_Zone_1 | default | - | False | -| Vlan111 | Tenant_A_OP_Zone_2 | default | - | False | - -##### IPv4 - -| Interface | VRF | IP Address | IP Address Virtual | IP Router Virtual Address | VRRP | ACL In | ACL Out | -| --------- | --- | ---------- | ------------------ | ------------------------- | ---- | ------ | ------- | -| Vlan110 | default | - | 10.1.10.1/24 | - | - | - | - | -| Vlan111 | default | - | 10.1.11.1/24 | - | - | - | - | - -#### VLAN Interfaces Device Configuration - -```eos -! -interface Vlan110 - description Tenant_A_OP_Zone_1 - no shutdown - ip address virtual 10.1.10.1/24 -! -interface Vlan111 - description Tenant_A_OP_Zone_2 - no shutdown - ip address virtual 10.1.11.1/24 -``` - -### VXLAN Interface - -#### VXLAN Interface Summary - -| Setting | Value | -| ------- | ----- | -| Source Interface | Loopback1 | -| UDP port | 4789 | - -##### VLAN to VNI, Flood List and Multicast Group Mappings - -| VLAN | VNI | Flood List | Multicast Group | -| ---- | --- | ---------- | --------------- | -| 110 | 10110 | - | - | -| 111 | 10111 | - | - | - -#### VXLAN Interface Device Configuration - -```eos -! -interface Vxlan1 - description om_pe12_VTEP - vxlan source-interface Loopback1 - vxlan udp-port 4789 - vxlan vlan 110 vni 10110 - vxlan vlan 111 vni 10111 -``` - -## Routing - -### Service Routing Protocols Model - -Multi agent routing protocol model enabled - -```eos -! -service routing protocols model multi-agent -``` - -### Virtual Router MAC Address - -#### Virtual Router MAC Address Summary - -Virtual Router MAC Address: 00:00:00:00:00:01 - -#### Virtual Router MAC Address Device Configuration - -```eos -! -ip virtual-router mac-address 00:00:00:00:00:01 -``` - -### IP Routing - -#### IP Routing Summary - -| VRF | Routing Enabled | -| --- | --------------- | -| default | True | -| MGMT | False | - -#### IP Routing Device Configuration - -```eos -! -ip routing -no ip routing vrf MGMT -``` - -### IPv6 Routing - -#### IPv6 Routing Summary - -| VRF | Routing Enabled | -| --- | --------------- | -| default | False | -| MGMT | false | - -### Static Routes - -#### Static Routes Summary - -| VRF | Destination Prefix | Next Hop IP | Exit interface | Administrative Distance | Tag | Route Name | Metric | -| --- | ------------------ | ----------- | -------------- | ----------------------- | --- | ---------- | ------ | -| MGMT | 0.0.0.0/0 | 172.144.100.1 | - | 1 | - | - | - | - -#### Static Routes Device Configuration - -```eos -! -ip route vrf MGMT 0.0.0.0/0 172.144.100.1 -``` - -### Router BGP - -ASN Notation: asplain - -#### Router BGP Summary - -| BGP AS | Router ID | -| ------ | --------- | -| 65102 | 192.168.255.4 | - -| BGP Tuning | -| ---------- | -| no bgp default ipv4-unicast | -| distance bgp 20 200 200 | -| maximum-paths 4 ecmp 4 | - -#### Router BGP Peer Groups - -##### EVPN-OVERLAY-PEERS - -| Settings | Value | -| -------- | ----- | -| Address Family | evpn | -| Source | Loopback0 | -| BFD | True | -| Ebgp multihop | 3 | -| Send community | all | -| Maximum routes | 0 (no limit) | - -##### IPv4-UNDERLAY-PEERS - -| Settings | Value | -| -------- | ----- | -| Address Family | ipv4 | -| Send community | all | -| Maximum routes | 12000 | - -#### BGP Neighbors - -| Neighbor | Remote AS | VRF | Shutdown | Send-community | Maximum-routes | Allowas-in | BFD | RIB Pre-Policy Retain | Route-Reflector Client | Passive | TTL Max Hops | -| -------- | --------- | --- | -------- | -------------- | -------------- | ---------- | --- | --------------------- | ---------------------- | ------- | ------------ | -| 172.31.255.4 | 65001 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 172.31.255.6 | 65001 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 192.168.255.1 | 65001 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | -| 192.168.255.2 | 65001 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | - -#### Router BGP EVPN Address Family - -##### EVPN Peer Groups - -| Peer Group | Activate | Encapsulation | -| ---------- | -------- | ------------- | -| EVPN-OVERLAY-PEERS | True | default | - -#### Router BGP VLANs - -| VLAN | Route-Distinguisher | Both Route-Target | Import Route Target | Export Route-Target | Redistribute | -| ---- | ------------------- | ----------------- | ------------------- | ------------------- | ------------ | -| 110 | 192.168.255.4:10110 | 10110:10110 | - | - | learned | -| 111 | 192.168.255.4:10111 | 10111:10111 | - | - | learned | - -#### Router BGP Device Configuration - -```eos -! -router bgp 65102 - router-id 192.168.255.4 - distance bgp 20 200 200 - maximum-paths 4 ecmp 4 - no bgp default ipv4-unicast - neighbor EVPN-OVERLAY-PEERS peer group - neighbor EVPN-OVERLAY-PEERS update-source Loopback0 - neighbor EVPN-OVERLAY-PEERS bfd - neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 - neighbor EVPN-OVERLAY-PEERS password 7 - neighbor EVPN-OVERLAY-PEERS send-community - neighbor EVPN-OVERLAY-PEERS maximum-routes 0 - neighbor IPv4-UNDERLAY-PEERS peer group - neighbor IPv4-UNDERLAY-PEERS password 7 - neighbor IPv4-UNDERLAY-PEERS send-community - neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 - neighbor 172.31.255.4 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.4 remote-as 65001 - neighbor 172.31.255.4 description om_spine1_Ethernet2 - neighbor 172.31.255.6 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.6 remote-as 65001 - neighbor 172.31.255.6 description om_spine2_Ethernet2 - neighbor 192.168.255.1 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.1 remote-as 65001 - neighbor 192.168.255.1 description om_spine1 - neighbor 192.168.255.2 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.2 remote-as 65001 - neighbor 192.168.255.2 description om_spine2 - redistribute connected route-map RM-CONN-2-BGP - ! - vlan 110 - rd 192.168.255.4:10110 - route-target both 10110:10110 - redistribute learned - ! - vlan 111 - rd 192.168.255.4:10111 - route-target both 10111:10111 - redistribute learned - ! - address-family evpn - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family rt-membership - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family ipv4 - no neighbor EVPN-OVERLAY-PEERS activate - neighbor IPv4-UNDERLAY-PEERS activate -``` - -## BFD - -### Router BFD - -#### Router BFD Multihop Summary - -| Interval | Minimum RX | Multiplier | -| -------- | ---------- | ---------- | -| 300 | 300 | 3 | - -#### Router BFD Device Configuration - -```eos -! -router bfd - multihop interval 300 min-rx 300 multiplier 3 -``` - -## Multicast - -### IP IGMP Snooping - -#### IP IGMP Snooping Summary - -| IGMP Snooping | Fast Leave | Interface Restart Query | Proxy | Restart Query Interval | Robustness Variable | -| ------------- | ---------- | ----------------------- | ----- | ---------------------- | ------------------- | -| Enabled | - | - | - | - | - | - -#### IP IGMP Snooping Device Configuration - -```eos -``` - -## Filters - -### Prefix-lists - -#### Prefix-lists Summary - -##### PL-LOOPBACKS-EVPN-OVERLAY - -| Sequence | Action | -| -------- | ------ | -| 10 | permit 192.168.255.0/24 eq 32 | -| 20 | permit 192.168.254.0/24 eq 32 | - -#### Prefix-lists Device Configuration - -```eos -! -ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY - seq 10 permit 192.168.255.0/24 eq 32 - seq 20 permit 192.168.254.0/24 eq 32 -``` - -### Route-maps - -#### Route-maps Summary - -##### RM-CONN-2-BGP - -| Sequence | Type | Match | Set | Sub-Route-Map | Continue | -| -------- | ---- | ----- | --- | ------------- | -------- | -| 10 | permit | ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY | - | - | - | - -#### Route-maps Device Configuration - -```eos -! -route-map RM-CONN-2-BGP permit 10 - match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY -``` - -## VRF Instances - -### VRF Instances Summary - -| VRF Name | IP Routing | -| -------- | ---------- | -| MGMT | disabled | - -### VRF Instances Device Configuration - -```eos -! -vrf instance MGMT -``` diff --git a/src/gnmic-prometheus/documentation/devices/om_pe21.md b/src/gnmic-prometheus/documentation/devices/om_pe21.md deleted file mode 100644 index eb07df38..00000000 --- a/src/gnmic-prometheus/documentation/devices/om_pe21.md +++ /dev/null @@ -1,719 +0,0 @@ -# om_pe21 - -## Table of Contents - -- [Management](#management) - - [Management Interfaces](#management-interfaces) - - [IP Name Servers](#ip-name-servers) - - [NTP](#ntp) - - [Management API gNMI](#management-api-gnmi) - - [Management API HTTP](#management-api-http) -- [Authentication](#authentication) - - [Local Users](#local-users) -- [Management Security](#management-security) - - [Management Security Summary](#management-security-summary) - - [Management Security SSL Profiles](#management-security-ssl-profiles) - - [Management Security Device Configuration](#management-security-device-configuration) -- [Spanning Tree](#spanning-tree) - - [Spanning Tree Summary](#spanning-tree-summary) - - [Spanning Tree Device Configuration](#spanning-tree-device-configuration) -- [Internal VLAN Allocation Policy](#internal-vlan-allocation-policy) - - [Internal VLAN Allocation Policy Summary](#internal-vlan-allocation-policy-summary) - - [Internal VLAN Allocation Policy Device Configuration](#internal-vlan-allocation-policy-device-configuration) -- [VLANs](#vlans) - - [VLANs Summary](#vlans-summary) - - [VLANs Device Configuration](#vlans-device-configuration) -- [Interfaces](#interfaces) - - [Ethernet Interfaces](#ethernet-interfaces) - - [Port-Channel Interfaces](#port-channel-interfaces) - - [Loopback Interfaces](#loopback-interfaces) - - [VLAN Interfaces](#vlan-interfaces) - - [VXLAN Interface](#vxlan-interface) -- [Routing](#routing) - - [Service Routing Protocols Model](#service-routing-protocols-model) - - [Virtual Router MAC Address](#virtual-router-mac-address) - - [IP Routing](#ip-routing) - - [IPv6 Routing](#ipv6-routing) - - [Static Routes](#static-routes) - - [Router BGP](#router-bgp) -- [BFD](#bfd) - - [Router BFD](#router-bfd) -- [Multicast](#multicast) - - [IP IGMP Snooping](#ip-igmp-snooping) -- [Filters](#filters) - - [Prefix-lists](#prefix-lists) - - [Route-maps](#route-maps) -- [VRF Instances](#vrf-instances) - - [VRF Instances Summary](#vrf-instances-summary) - - [VRF Instances Device Configuration](#vrf-instances-device-configuration) - -## Management - -### Management Interfaces - -#### Management Interfaces Summary - -##### IPv4 - -| Management Interface | Description | Type | VRF | IP Address | Gateway | -| -------------------- | ----------- | ---- | --- | ---------- | ------- | -| Management0 | oob_management | oob | MGMT | 172.144.100.6/24 | 172.144.100.1 | - -##### IPv6 - -| Management Interface | Description | Type | VRF | IPv6 Address | IPv6 Gateway | -| -------------------- | ----------- | ---- | --- | ------------ | ------------ | -| Management0 | oob_management | oob | MGMT | - | - | - -#### Management Interfaces Device Configuration - -```eos -! -interface Management0 - description oob_management - no shutdown - vrf MGMT - ip address 172.144.100.6/24 -``` - -### IP Name Servers - -#### IP Name Servers Summary - -| Name Server | VRF | Priority | -| ----------- | --- | -------- | -| 1.1.1.1 | MGMT | - | -| 8.8.8.8 | MGMT | - | - -#### IP Name Servers Device Configuration - -```eos -ip name-server vrf MGMT 1.1.1.1 -ip name-server vrf MGMT 8.8.8.8 -``` - -### NTP - -#### NTP Summary - -##### NTP Servers - -| Server | VRF | Preferred | Burst | iBurst | Version | Min Poll | Max Poll | Local-interface | Key | -| ------ | --- | --------- | ----- | ------ | ------- | -------- | -------- | --------------- | --- | -| time.google.com | MGMT | True | - | True | - | - | - | - | - | - -#### NTP Device Configuration - -```eos -! -ntp server vrf MGMT time.google.com prefer iburst -``` - -### Management API gNMI - -#### Management API gNMI Summary - -| Transport | SSL Profile | VRF | Notification Timestamp | ACL | Port | -| --------- | ----------- | --- | ---------------------- | --- | ---- | -| MGMT | - | MGMT | send-time | - | 6030 | -| default | - | - | send-time | - | 6030 | - -Provider eos-native is configured. - -#### Management API gNMI Device Configuration - -```eos -! -management api gnmi - transport grpc MGMT - vrf MGMT - notification timestamp send-time - transport grpc default - notification timestamp send-time - provider eos-native -``` - -### Management API HTTP - -#### Management API HTTP Summary - -| HTTP | HTTPS | Default Services | -| ---- | ----- | ---------------- | -| False | True | - | - -Management HTTPS is using the SSL profile eAPI - -#### Management API VRF Access - -| VRF Name | IPv4 ACL | IPv6 ACL | -| -------- | -------- | -------- | -| MGMT | - | - | - -#### Management API HTTP Device Configuration - -```eos -! -management api http-commands - protocol https - protocol https ssl profile eAPI - no shutdown - ! - vrf MGMT - no shutdown -``` - -## Authentication - -### Local Users - -#### Local Users Summary - -| User | Privilege | Role | Disabled | Shell | -| ---- | --------- | ---- | -------- | ----- | -| admin | 15 | network-admin | False | - | - -#### Local Users Device Configuration - -```eos -! -username admin privilege 15 role network-admin secret sha512 -``` - -## Management Security - -### Management Security Summary - -| Settings | Value | -| -------- | ----- | - -### Management Security SSL Profiles - -| SSL Profile Name | TLS protocol accepted | Certificate filename | Key filename | Cipher List | CRLs | -| ---------------- | --------------------- | -------------------- | ------------ | ----------- | ---- | -| eAPI | - | eAPI.crt | eAPI.key | HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL | - | - -### Management Security Device Configuration - -```eos -! -management security - ssl profile eAPI - cipher-list HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL - certificate eAPI.crt key eAPI.key -``` - -## Spanning Tree - -### Spanning Tree Summary - -STP mode: **mstp** - -#### MSTP Instance and Priority - -| Instance(s) | Priority | -| -------- | -------- | -| 0 | 4096 | - -### Spanning Tree Device Configuration - -```eos -! -spanning-tree mode mstp -spanning-tree mst 0 priority 4096 -``` - -## Internal VLAN Allocation Policy - -### Internal VLAN Allocation Policy Summary - -| Policy Allocation | Range Beginning | Range Ending | -| ------------------| --------------- | ------------ | -| ascending | 1006 | 1199 | - -### Internal VLAN Allocation Policy Device Configuration - -```eos -! -vlan internal order ascending range 1006 1199 -``` - -## VLANs - -### VLANs Summary - -| VLAN ID | Name | Trunk Groups | -| ------- | ---- | ------------ | -| 110 | Tenant_A_OP_Zone_1 | - | -| 111 | Tenant_A_OP_Zone_2 | - | - -### VLANs Device Configuration - -```eos -! -vlan 110 - name Tenant_A_OP_Zone_1 -! -vlan 111 - name Tenant_A_OP_Zone_2 -``` - -## Interfaces - -### Ethernet Interfaces - -#### Ethernet Interfaces Summary - -##### L2 - -| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group | -| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- | -| Ethernet3 | server03_Eth1 | *trunk | *110 | *- | *- | 3 | -| Ethernet4 | server04_Eth1 | *trunk | *111 | *- | *- | 4 | - -*Inherited from Port-Channel Interface - -##### IPv4 - -| Interface | Description | Type | Channel Group | IP Address | VRF | MTU | Shutdown | ACL In | ACL Out | -| --------- | ----------- | -----| ------------- | ---------- | ----| ---- | -------- | ------ | ------- | -| Ethernet1 | P2P_LINK_TO_OM_SPINE1_Ethernet3 | routed | - | 172.31.255.9/31 | default | 9214 | False | - | - | -| Ethernet2 | P2P_LINK_TO_OM_SPINE2_Ethernet3 | routed | - | 172.31.255.11/31 | default | 9214 | False | - | - | - -#### Ethernet Interfaces Device Configuration - -```eos -! -interface Ethernet1 - description P2P_LINK_TO_OM_SPINE1_Ethernet3 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.9/31 -! -interface Ethernet2 - description P2P_LINK_TO_OM_SPINE2_Ethernet3 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.11/31 -! -interface Ethernet3 - description server03_Eth1 - no shutdown - channel-group 3 mode active -! -interface Ethernet4 - description server04_Eth1 - no shutdown - channel-group 4 mode active -``` - -### Port-Channel Interfaces - -#### Port-Channel Interfaces Summary - -##### L2 - -| Interface | Description | Type | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI | -| --------- | ----------- | ---- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- | -| Port-Channel3 | server03_PortChannel3 | switched | trunk | 110 | - | - | - | - | - | 0000:0000:0201:0202:0033 | -| Port-Channel4 | server04_PortChannel4 | switched | trunk | 111 | - | - | - | - | - | 0000:0000:0201:0202:0044 | - -##### EVPN Multihoming - -####### EVPN Multihoming Summary - -| Interface | Ethernet Segment Identifier | Multihoming Redundancy Mode | Route Target | -| --------- | --------------------------- | --------------------------- | ------------ | -| Port-Channel3 | 0000:0000:0201:0202:0033 | all-active | 02:01:02:02:00:33 | -| Port-Channel4 | 0000:0000:0201:0202:0044 | all-active | 02:01:02:02:00:44 | - -#### Port-Channel Interfaces Device Configuration - -```eos -! -interface Port-Channel3 - description server03_PortChannel3 - no shutdown - switchport - switchport trunk allowed vlan 110 - switchport mode trunk - evpn ethernet-segment - identifier 0000:0000:0201:0202:0033 - route-target import 02:01:02:02:00:33 - lacp system-id 0201.0202.0033 - spanning-tree portfast -! -interface Port-Channel4 - description server04_PortChannel4 - no shutdown - switchport - switchport trunk allowed vlan 111 - switchport mode trunk - evpn ethernet-segment - identifier 0000:0000:0201:0202:0044 - route-target import 02:01:02:02:00:44 - lacp system-id 0201.0202.0044 - spanning-tree portfast -``` - -### Loopback Interfaces - -#### Loopback Interfaces Summary - -##### IPv4 - -| Interface | Description | VRF | IP Address | -| --------- | ----------- | --- | ---------- | -| Loopback0 | EVPN_Overlay_Peering | default | 192.168.255.5/32 | -| Loopback1 | VTEP_VXLAN_Tunnel_Source | default | 192.168.254.5/32 | - -##### IPv6 - -| Interface | Description | VRF | IPv6 Address | -| --------- | ----------- | --- | ------------ | -| Loopback0 | EVPN_Overlay_Peering | default | - | -| Loopback1 | VTEP_VXLAN_Tunnel_Source | default | - | - -#### Loopback Interfaces Device Configuration - -```eos -! -interface Loopback0 - description EVPN_Overlay_Peering - no shutdown - ip address 192.168.255.5/32 -! -interface Loopback1 - description VTEP_VXLAN_Tunnel_Source - no shutdown - ip address 192.168.254.5/32 -``` - -### VLAN Interfaces - -#### VLAN Interfaces Summary - -| Interface | Description | VRF | MTU | Shutdown | -| --------- | ----------- | --- | ---- | -------- | -| Vlan110 | Tenant_A_OP_Zone_1 | default | - | False | -| Vlan111 | Tenant_A_OP_Zone_2 | default | - | False | - -##### IPv4 - -| Interface | VRF | IP Address | IP Address Virtual | IP Router Virtual Address | VRRP | ACL In | ACL Out | -| --------- | --- | ---------- | ------------------ | ------------------------- | ---- | ------ | ------- | -| Vlan110 | default | - | 10.1.10.1/24 | - | - | - | - | -| Vlan111 | default | - | 10.1.11.1/24 | - | - | - | - | - -#### VLAN Interfaces Device Configuration - -```eos -! -interface Vlan110 - description Tenant_A_OP_Zone_1 - no shutdown - ip address virtual 10.1.10.1/24 -! -interface Vlan111 - description Tenant_A_OP_Zone_2 - no shutdown - ip address virtual 10.1.11.1/24 -``` - -### VXLAN Interface - -#### VXLAN Interface Summary - -| Setting | Value | -| ------- | ----- | -| Source Interface | Loopback1 | -| UDP port | 4789 | - -##### VLAN to VNI, Flood List and Multicast Group Mappings - -| VLAN | VNI | Flood List | Multicast Group | -| ---- | --- | ---------- | --------------- | -| 110 | 10110 | - | - | -| 111 | 10111 | - | - | - -#### VXLAN Interface Device Configuration - -```eos -! -interface Vxlan1 - description om_pe21_VTEP - vxlan source-interface Loopback1 - vxlan udp-port 4789 - vxlan vlan 110 vni 10110 - vxlan vlan 111 vni 10111 -``` - -## Routing - -### Service Routing Protocols Model - -Multi agent routing protocol model enabled - -```eos -! -service routing protocols model multi-agent -``` - -### Virtual Router MAC Address - -#### Virtual Router MAC Address Summary - -Virtual Router MAC Address: 00:00:00:00:00:01 - -#### Virtual Router MAC Address Device Configuration - -```eos -! -ip virtual-router mac-address 00:00:00:00:00:01 -``` - -### IP Routing - -#### IP Routing Summary - -| VRF | Routing Enabled | -| --- | --------------- | -| default | True | -| MGMT | False | - -#### IP Routing Device Configuration - -```eos -! -ip routing -no ip routing vrf MGMT -``` - -### IPv6 Routing - -#### IPv6 Routing Summary - -| VRF | Routing Enabled | -| --- | --------------- | -| default | False | -| MGMT | false | - -### Static Routes - -#### Static Routes Summary - -| VRF | Destination Prefix | Next Hop IP | Exit interface | Administrative Distance | Tag | Route Name | Metric | -| --- | ------------------ | ----------- | -------------- | ----------------------- | --- | ---------- | ------ | -| MGMT | 0.0.0.0/0 | 172.144.100.1 | - | 1 | - | - | - | - -#### Static Routes Device Configuration - -```eos -! -ip route vrf MGMT 0.0.0.0/0 172.144.100.1 -``` - -### Router BGP - -ASN Notation: asplain - -#### Router BGP Summary - -| BGP AS | Router ID | -| ------ | --------- | -| 65103 | 192.168.255.5 | - -| BGP Tuning | -| ---------- | -| no bgp default ipv4-unicast | -| distance bgp 20 200 200 | -| maximum-paths 4 ecmp 4 | - -#### Router BGP Peer Groups - -##### EVPN-OVERLAY-PEERS - -| Settings | Value | -| -------- | ----- | -| Address Family | evpn | -| Source | Loopback0 | -| BFD | True | -| Ebgp multihop | 3 | -| Send community | all | -| Maximum routes | 0 (no limit) | - -##### IPv4-UNDERLAY-PEERS - -| Settings | Value | -| -------- | ----- | -| Address Family | ipv4 | -| Send community | all | -| Maximum routes | 12000 | - -#### BGP Neighbors - -| Neighbor | Remote AS | VRF | Shutdown | Send-community | Maximum-routes | Allowas-in | BFD | RIB Pre-Policy Retain | Route-Reflector Client | Passive | TTL Max Hops | -| -------- | --------- | --- | -------- | -------------- | -------------- | ---------- | --- | --------------------- | ---------------------- | ------- | ------------ | -| 172.31.255.8 | 65001 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 172.31.255.10 | 65001 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 192.168.255.1 | 65001 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | -| 192.168.255.2 | 65001 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | - -#### Router BGP EVPN Address Family - -##### EVPN Peer Groups - -| Peer Group | Activate | Encapsulation | -| ---------- | -------- | ------------- | -| EVPN-OVERLAY-PEERS | True | default | - -#### Router BGP VLANs - -| VLAN | Route-Distinguisher | Both Route-Target | Import Route Target | Export Route-Target | Redistribute | -| ---- | ------------------- | ----------------- | ------------------- | ------------------- | ------------ | -| 110 | 192.168.255.5:10110 | 10110:10110 | - | - | learned | -| 111 | 192.168.255.5:10111 | 10111:10111 | - | - | learned | - -#### Router BGP Device Configuration - -```eos -! -router bgp 65103 - router-id 192.168.255.5 - distance bgp 20 200 200 - maximum-paths 4 ecmp 4 - no bgp default ipv4-unicast - neighbor EVPN-OVERLAY-PEERS peer group - neighbor EVPN-OVERLAY-PEERS update-source Loopback0 - neighbor EVPN-OVERLAY-PEERS bfd - neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 - neighbor EVPN-OVERLAY-PEERS password 7 - neighbor EVPN-OVERLAY-PEERS send-community - neighbor EVPN-OVERLAY-PEERS maximum-routes 0 - neighbor IPv4-UNDERLAY-PEERS peer group - neighbor IPv4-UNDERLAY-PEERS password 7 - neighbor IPv4-UNDERLAY-PEERS send-community - neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 - neighbor 172.31.255.8 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.8 remote-as 65001 - neighbor 172.31.255.8 description om_spine1_Ethernet3 - neighbor 172.31.255.10 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.10 remote-as 65001 - neighbor 172.31.255.10 description om_spine2_Ethernet3 - neighbor 192.168.255.1 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.1 remote-as 65001 - neighbor 192.168.255.1 description om_spine1 - neighbor 192.168.255.2 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.2 remote-as 65001 - neighbor 192.168.255.2 description om_spine2 - redistribute connected route-map RM-CONN-2-BGP - ! - vlan 110 - rd 192.168.255.5:10110 - route-target both 10110:10110 - redistribute learned - ! - vlan 111 - rd 192.168.255.5:10111 - route-target both 10111:10111 - redistribute learned - ! - address-family evpn - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family rt-membership - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family ipv4 - no neighbor EVPN-OVERLAY-PEERS activate - neighbor IPv4-UNDERLAY-PEERS activate -``` - -## BFD - -### Router BFD - -#### Router BFD Multihop Summary - -| Interval | Minimum RX | Multiplier | -| -------- | ---------- | ---------- | -| 300 | 300 | 3 | - -#### Router BFD Device Configuration - -```eos -! -router bfd - multihop interval 300 min-rx 300 multiplier 3 -``` - -## Multicast - -### IP IGMP Snooping - -#### IP IGMP Snooping Summary - -| IGMP Snooping | Fast Leave | Interface Restart Query | Proxy | Restart Query Interval | Robustness Variable | -| ------------- | ---------- | ----------------------- | ----- | ---------------------- | ------------------- | -| Enabled | - | - | - | - | - | - -#### IP IGMP Snooping Device Configuration - -```eos -``` - -## Filters - -### Prefix-lists - -#### Prefix-lists Summary - -##### PL-LOOPBACKS-EVPN-OVERLAY - -| Sequence | Action | -| -------- | ------ | -| 10 | permit 192.168.255.0/24 eq 32 | -| 20 | permit 192.168.254.0/24 eq 32 | - -#### Prefix-lists Device Configuration - -```eos -! -ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY - seq 10 permit 192.168.255.0/24 eq 32 - seq 20 permit 192.168.254.0/24 eq 32 -``` - -### Route-maps - -#### Route-maps Summary - -##### RM-CONN-2-BGP - -| Sequence | Type | Match | Set | Sub-Route-Map | Continue | -| -------- | ---- | ----- | --- | ------------- | -------- | -| 10 | permit | ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY | - | - | - | - -#### Route-maps Device Configuration - -```eos -! -route-map RM-CONN-2-BGP permit 10 - match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY -``` - -## VRF Instances - -### VRF Instances Summary - -| VRF Name | IP Routing | -| -------- | ---------- | -| MGMT | disabled | - -### VRF Instances Device Configuration - -```eos -! -vrf instance MGMT -``` diff --git a/src/gnmic-prometheus/documentation/devices/om_pe22.md b/src/gnmic-prometheus/documentation/devices/om_pe22.md deleted file mode 100644 index 25745766..00000000 --- a/src/gnmic-prometheus/documentation/devices/om_pe22.md +++ /dev/null @@ -1,719 +0,0 @@ -# om_pe22 - -## Table of Contents - -- [Management](#management) - - [Management Interfaces](#management-interfaces) - - [IP Name Servers](#ip-name-servers) - - [NTP](#ntp) - - [Management API gNMI](#management-api-gnmi) - - [Management API HTTP](#management-api-http) -- [Authentication](#authentication) - - [Local Users](#local-users) -- [Management Security](#management-security) - - [Management Security Summary](#management-security-summary) - - [Management Security SSL Profiles](#management-security-ssl-profiles) - - [Management Security Device Configuration](#management-security-device-configuration) -- [Spanning Tree](#spanning-tree) - - [Spanning Tree Summary](#spanning-tree-summary) - - [Spanning Tree Device Configuration](#spanning-tree-device-configuration) -- [Internal VLAN Allocation Policy](#internal-vlan-allocation-policy) - - [Internal VLAN Allocation Policy Summary](#internal-vlan-allocation-policy-summary) - - [Internal VLAN Allocation Policy Device Configuration](#internal-vlan-allocation-policy-device-configuration) -- [VLANs](#vlans) - - [VLANs Summary](#vlans-summary) - - [VLANs Device Configuration](#vlans-device-configuration) -- [Interfaces](#interfaces) - - [Ethernet Interfaces](#ethernet-interfaces) - - [Port-Channel Interfaces](#port-channel-interfaces) - - [Loopback Interfaces](#loopback-interfaces) - - [VLAN Interfaces](#vlan-interfaces) - - [VXLAN Interface](#vxlan-interface) -- [Routing](#routing) - - [Service Routing Protocols Model](#service-routing-protocols-model) - - [Virtual Router MAC Address](#virtual-router-mac-address) - - [IP Routing](#ip-routing) - - [IPv6 Routing](#ipv6-routing) - - [Static Routes](#static-routes) - - [Router BGP](#router-bgp) -- [BFD](#bfd) - - [Router BFD](#router-bfd) -- [Multicast](#multicast) - - [IP IGMP Snooping](#ip-igmp-snooping) -- [Filters](#filters) - - [Prefix-lists](#prefix-lists) - - [Route-maps](#route-maps) -- [VRF Instances](#vrf-instances) - - [VRF Instances Summary](#vrf-instances-summary) - - [VRF Instances Device Configuration](#vrf-instances-device-configuration) - -## Management - -### Management Interfaces - -#### Management Interfaces Summary - -##### IPv4 - -| Management Interface | Description | Type | VRF | IP Address | Gateway | -| -------------------- | ----------- | ---- | --- | ---------- | ------- | -| Management0 | oob_management | oob | MGMT | 172.144.100.7/24 | 172.144.100.1 | - -##### IPv6 - -| Management Interface | Description | Type | VRF | IPv6 Address | IPv6 Gateway | -| -------------------- | ----------- | ---- | --- | ------------ | ------------ | -| Management0 | oob_management | oob | MGMT | - | - | - -#### Management Interfaces Device Configuration - -```eos -! -interface Management0 - description oob_management - no shutdown - vrf MGMT - ip address 172.144.100.7/24 -``` - -### IP Name Servers - -#### IP Name Servers Summary - -| Name Server | VRF | Priority | -| ----------- | --- | -------- | -| 1.1.1.1 | MGMT | - | -| 8.8.8.8 | MGMT | - | - -#### IP Name Servers Device Configuration - -```eos -ip name-server vrf MGMT 1.1.1.1 -ip name-server vrf MGMT 8.8.8.8 -``` - -### NTP - -#### NTP Summary - -##### NTP Servers - -| Server | VRF | Preferred | Burst | iBurst | Version | Min Poll | Max Poll | Local-interface | Key | -| ------ | --- | --------- | ----- | ------ | ------- | -------- | -------- | --------------- | --- | -| time.google.com | MGMT | True | - | True | - | - | - | - | - | - -#### NTP Device Configuration - -```eos -! -ntp server vrf MGMT time.google.com prefer iburst -``` - -### Management API gNMI - -#### Management API gNMI Summary - -| Transport | SSL Profile | VRF | Notification Timestamp | ACL | Port | -| --------- | ----------- | --- | ---------------------- | --- | ---- | -| MGMT | - | MGMT | send-time | - | 6030 | -| default | - | - | send-time | - | 6030 | - -Provider eos-native is configured. - -#### Management API gNMI Device Configuration - -```eos -! -management api gnmi - transport grpc MGMT - vrf MGMT - notification timestamp send-time - transport grpc default - notification timestamp send-time - provider eos-native -``` - -### Management API HTTP - -#### Management API HTTP Summary - -| HTTP | HTTPS | Default Services | -| ---- | ----- | ---------------- | -| False | True | - | - -Management HTTPS is using the SSL profile eAPI - -#### Management API VRF Access - -| VRF Name | IPv4 ACL | IPv6 ACL | -| -------- | -------- | -------- | -| MGMT | - | - | - -#### Management API HTTP Device Configuration - -```eos -! -management api http-commands - protocol https - protocol https ssl profile eAPI - no shutdown - ! - vrf MGMT - no shutdown -``` - -## Authentication - -### Local Users - -#### Local Users Summary - -| User | Privilege | Role | Disabled | Shell | -| ---- | --------- | ---- | -------- | ----- | -| admin | 15 | network-admin | False | - | - -#### Local Users Device Configuration - -```eos -! -username admin privilege 15 role network-admin secret sha512 -``` - -## Management Security - -### Management Security Summary - -| Settings | Value | -| -------- | ----- | - -### Management Security SSL Profiles - -| SSL Profile Name | TLS protocol accepted | Certificate filename | Key filename | Cipher List | CRLs | -| ---------------- | --------------------- | -------------------- | ------------ | ----------- | ---- | -| eAPI | - | eAPI.crt | eAPI.key | HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL | - | - -### Management Security Device Configuration - -```eos -! -management security - ssl profile eAPI - cipher-list HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL - certificate eAPI.crt key eAPI.key -``` - -## Spanning Tree - -### Spanning Tree Summary - -STP mode: **mstp** - -#### MSTP Instance and Priority - -| Instance(s) | Priority | -| -------- | -------- | -| 0 | 4096 | - -### Spanning Tree Device Configuration - -```eos -! -spanning-tree mode mstp -spanning-tree mst 0 priority 4096 -``` - -## Internal VLAN Allocation Policy - -### Internal VLAN Allocation Policy Summary - -| Policy Allocation | Range Beginning | Range Ending | -| ------------------| --------------- | ------------ | -| ascending | 1006 | 1199 | - -### Internal VLAN Allocation Policy Device Configuration - -```eos -! -vlan internal order ascending range 1006 1199 -``` - -## VLANs - -### VLANs Summary - -| VLAN ID | Name | Trunk Groups | -| ------- | ---- | ------------ | -| 110 | Tenant_A_OP_Zone_1 | - | -| 111 | Tenant_A_OP_Zone_2 | - | - -### VLANs Device Configuration - -```eos -! -vlan 110 - name Tenant_A_OP_Zone_1 -! -vlan 111 - name Tenant_A_OP_Zone_2 -``` - -## Interfaces - -### Ethernet Interfaces - -#### Ethernet Interfaces Summary - -##### L2 - -| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group | -| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- | -| Ethernet3 | server03_Eth2 | *trunk | *110 | *- | *- | 3 | -| Ethernet4 | server04_Eth2 | *trunk | *111 | *- | *- | 4 | - -*Inherited from Port-Channel Interface - -##### IPv4 - -| Interface | Description | Type | Channel Group | IP Address | VRF | MTU | Shutdown | ACL In | ACL Out | -| --------- | ----------- | -----| ------------- | ---------- | ----| ---- | -------- | ------ | ------- | -| Ethernet1 | P2P_LINK_TO_OM_SPINE1_Ethernet4 | routed | - | 172.31.255.13/31 | default | 9214 | False | - | - | -| Ethernet2 | P2P_LINK_TO_OM_SPINE2_Ethernet4 | routed | - | 172.31.255.15/31 | default | 9214 | False | - | - | - -#### Ethernet Interfaces Device Configuration - -```eos -! -interface Ethernet1 - description P2P_LINK_TO_OM_SPINE1_Ethernet4 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.13/31 -! -interface Ethernet2 - description P2P_LINK_TO_OM_SPINE2_Ethernet4 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.15/31 -! -interface Ethernet3 - description server03_Eth2 - no shutdown - channel-group 3 mode active -! -interface Ethernet4 - description server04_Eth2 - no shutdown - channel-group 4 mode active -``` - -### Port-Channel Interfaces - -#### Port-Channel Interfaces Summary - -##### L2 - -| Interface | Description | Type | Mode | VLANs | Native VLAN | Trunk Group | LACP Fallback Timeout | LACP Fallback Mode | MLAG ID | EVPN ESI | -| --------- | ----------- | ---- | ---- | ----- | ----------- | ------------| --------------------- | ------------------ | ------- | -------- | -| Port-Channel3 | server03_PortChannel3 | switched | trunk | 110 | - | - | - | - | - | 0000:0000:0201:0202:0033 | -| Port-Channel4 | server04_PortChannel4 | switched | trunk | 111 | - | - | - | - | - | 0000:0000:0201:0202:0044 | - -##### EVPN Multihoming - -####### EVPN Multihoming Summary - -| Interface | Ethernet Segment Identifier | Multihoming Redundancy Mode | Route Target | -| --------- | --------------------------- | --------------------------- | ------------ | -| Port-Channel3 | 0000:0000:0201:0202:0033 | all-active | 02:01:02:02:00:33 | -| Port-Channel4 | 0000:0000:0201:0202:0044 | all-active | 02:01:02:02:00:44 | - -#### Port-Channel Interfaces Device Configuration - -```eos -! -interface Port-Channel3 - description server03_PortChannel3 - no shutdown - switchport - switchport trunk allowed vlan 110 - switchport mode trunk - evpn ethernet-segment - identifier 0000:0000:0201:0202:0033 - route-target import 02:01:02:02:00:33 - lacp system-id 0201.0202.0033 - spanning-tree portfast -! -interface Port-Channel4 - description server04_PortChannel4 - no shutdown - switchport - switchport trunk allowed vlan 111 - switchport mode trunk - evpn ethernet-segment - identifier 0000:0000:0201:0202:0044 - route-target import 02:01:02:02:00:44 - lacp system-id 0201.0202.0044 - spanning-tree portfast -``` - -### Loopback Interfaces - -#### Loopback Interfaces Summary - -##### IPv4 - -| Interface | Description | VRF | IP Address | -| --------- | ----------- | --- | ---------- | -| Loopback0 | EVPN_Overlay_Peering | default | 192.168.255.6/32 | -| Loopback1 | VTEP_VXLAN_Tunnel_Source | default | 192.168.254.6/32 | - -##### IPv6 - -| Interface | Description | VRF | IPv6 Address | -| --------- | ----------- | --- | ------------ | -| Loopback0 | EVPN_Overlay_Peering | default | - | -| Loopback1 | VTEP_VXLAN_Tunnel_Source | default | - | - -#### Loopback Interfaces Device Configuration - -```eos -! -interface Loopback0 - description EVPN_Overlay_Peering - no shutdown - ip address 192.168.255.6/32 -! -interface Loopback1 - description VTEP_VXLAN_Tunnel_Source - no shutdown - ip address 192.168.254.6/32 -``` - -### VLAN Interfaces - -#### VLAN Interfaces Summary - -| Interface | Description | VRF | MTU | Shutdown | -| --------- | ----------- | --- | ---- | -------- | -| Vlan110 | Tenant_A_OP_Zone_1 | default | - | False | -| Vlan111 | Tenant_A_OP_Zone_2 | default | - | False | - -##### IPv4 - -| Interface | VRF | IP Address | IP Address Virtual | IP Router Virtual Address | VRRP | ACL In | ACL Out | -| --------- | --- | ---------- | ------------------ | ------------------------- | ---- | ------ | ------- | -| Vlan110 | default | - | 10.1.10.1/24 | - | - | - | - | -| Vlan111 | default | - | 10.1.11.1/24 | - | - | - | - | - -#### VLAN Interfaces Device Configuration - -```eos -! -interface Vlan110 - description Tenant_A_OP_Zone_1 - no shutdown - ip address virtual 10.1.10.1/24 -! -interface Vlan111 - description Tenant_A_OP_Zone_2 - no shutdown - ip address virtual 10.1.11.1/24 -``` - -### VXLAN Interface - -#### VXLAN Interface Summary - -| Setting | Value | -| ------- | ----- | -| Source Interface | Loopback1 | -| UDP port | 4789 | - -##### VLAN to VNI, Flood List and Multicast Group Mappings - -| VLAN | VNI | Flood List | Multicast Group | -| ---- | --- | ---------- | --------------- | -| 110 | 10110 | - | - | -| 111 | 10111 | - | - | - -#### VXLAN Interface Device Configuration - -```eos -! -interface Vxlan1 - description om_pe22_VTEP - vxlan source-interface Loopback1 - vxlan udp-port 4789 - vxlan vlan 110 vni 10110 - vxlan vlan 111 vni 10111 -``` - -## Routing - -### Service Routing Protocols Model - -Multi agent routing protocol model enabled - -```eos -! -service routing protocols model multi-agent -``` - -### Virtual Router MAC Address - -#### Virtual Router MAC Address Summary - -Virtual Router MAC Address: 00:00:00:00:00:01 - -#### Virtual Router MAC Address Device Configuration - -```eos -! -ip virtual-router mac-address 00:00:00:00:00:01 -``` - -### IP Routing - -#### IP Routing Summary - -| VRF | Routing Enabled | -| --- | --------------- | -| default | True | -| MGMT | False | - -#### IP Routing Device Configuration - -```eos -! -ip routing -no ip routing vrf MGMT -``` - -### IPv6 Routing - -#### IPv6 Routing Summary - -| VRF | Routing Enabled | -| --- | --------------- | -| default | False | -| MGMT | false | - -### Static Routes - -#### Static Routes Summary - -| VRF | Destination Prefix | Next Hop IP | Exit interface | Administrative Distance | Tag | Route Name | Metric | -| --- | ------------------ | ----------- | -------------- | ----------------------- | --- | ---------- | ------ | -| MGMT | 0.0.0.0/0 | 172.144.100.1 | - | 1 | - | - | - | - -#### Static Routes Device Configuration - -```eos -! -ip route vrf MGMT 0.0.0.0/0 172.144.100.1 -``` - -### Router BGP - -ASN Notation: asplain - -#### Router BGP Summary - -| BGP AS | Router ID | -| ------ | --------- | -| 65104 | 192.168.255.6 | - -| BGP Tuning | -| ---------- | -| no bgp default ipv4-unicast | -| distance bgp 20 200 200 | -| maximum-paths 4 ecmp 4 | - -#### Router BGP Peer Groups - -##### EVPN-OVERLAY-PEERS - -| Settings | Value | -| -------- | ----- | -| Address Family | evpn | -| Source | Loopback0 | -| BFD | True | -| Ebgp multihop | 3 | -| Send community | all | -| Maximum routes | 0 (no limit) | - -##### IPv4-UNDERLAY-PEERS - -| Settings | Value | -| -------- | ----- | -| Address Family | ipv4 | -| Send community | all | -| Maximum routes | 12000 | - -#### BGP Neighbors - -| Neighbor | Remote AS | VRF | Shutdown | Send-community | Maximum-routes | Allowas-in | BFD | RIB Pre-Policy Retain | Route-Reflector Client | Passive | TTL Max Hops | -| -------- | --------- | --- | -------- | -------------- | -------------- | ---------- | --- | --------------------- | ---------------------- | ------- | ------------ | -| 172.31.255.12 | 65001 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 172.31.255.14 | 65001 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 192.168.255.1 | 65001 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | -| 192.168.255.2 | 65001 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | - -#### Router BGP EVPN Address Family - -##### EVPN Peer Groups - -| Peer Group | Activate | Encapsulation | -| ---------- | -------- | ------------- | -| EVPN-OVERLAY-PEERS | True | default | - -#### Router BGP VLANs - -| VLAN | Route-Distinguisher | Both Route-Target | Import Route Target | Export Route-Target | Redistribute | -| ---- | ------------------- | ----------------- | ------------------- | ------------------- | ------------ | -| 110 | 192.168.255.6:10110 | 10110:10110 | - | - | learned | -| 111 | 192.168.255.6:10111 | 10111:10111 | - | - | learned | - -#### Router BGP Device Configuration - -```eos -! -router bgp 65104 - router-id 192.168.255.6 - distance bgp 20 200 200 - maximum-paths 4 ecmp 4 - no bgp default ipv4-unicast - neighbor EVPN-OVERLAY-PEERS peer group - neighbor EVPN-OVERLAY-PEERS update-source Loopback0 - neighbor EVPN-OVERLAY-PEERS bfd - neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 - neighbor EVPN-OVERLAY-PEERS password 7 - neighbor EVPN-OVERLAY-PEERS send-community - neighbor EVPN-OVERLAY-PEERS maximum-routes 0 - neighbor IPv4-UNDERLAY-PEERS peer group - neighbor IPv4-UNDERLAY-PEERS password 7 - neighbor IPv4-UNDERLAY-PEERS send-community - neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 - neighbor 172.31.255.12 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.12 remote-as 65001 - neighbor 172.31.255.12 description om_spine1_Ethernet4 - neighbor 172.31.255.14 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.14 remote-as 65001 - neighbor 172.31.255.14 description om_spine2_Ethernet4 - neighbor 192.168.255.1 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.1 remote-as 65001 - neighbor 192.168.255.1 description om_spine1 - neighbor 192.168.255.2 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.2 remote-as 65001 - neighbor 192.168.255.2 description om_spine2 - redistribute connected route-map RM-CONN-2-BGP - ! - vlan 110 - rd 192.168.255.6:10110 - route-target both 10110:10110 - redistribute learned - ! - vlan 111 - rd 192.168.255.6:10111 - route-target both 10111:10111 - redistribute learned - ! - address-family evpn - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family rt-membership - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family ipv4 - no neighbor EVPN-OVERLAY-PEERS activate - neighbor IPv4-UNDERLAY-PEERS activate -``` - -## BFD - -### Router BFD - -#### Router BFD Multihop Summary - -| Interval | Minimum RX | Multiplier | -| -------- | ---------- | ---------- | -| 300 | 300 | 3 | - -#### Router BFD Device Configuration - -```eos -! -router bfd - multihop interval 300 min-rx 300 multiplier 3 -``` - -## Multicast - -### IP IGMP Snooping - -#### IP IGMP Snooping Summary - -| IGMP Snooping | Fast Leave | Interface Restart Query | Proxy | Restart Query Interval | Robustness Variable | -| ------------- | ---------- | ----------------------- | ----- | ---------------------- | ------------------- | -| Enabled | - | - | - | - | - | - -#### IP IGMP Snooping Device Configuration - -```eos -``` - -## Filters - -### Prefix-lists - -#### Prefix-lists Summary - -##### PL-LOOPBACKS-EVPN-OVERLAY - -| Sequence | Action | -| -------- | ------ | -| 10 | permit 192.168.255.0/24 eq 32 | -| 20 | permit 192.168.254.0/24 eq 32 | - -#### Prefix-lists Device Configuration - -```eos -! -ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY - seq 10 permit 192.168.255.0/24 eq 32 - seq 20 permit 192.168.254.0/24 eq 32 -``` - -### Route-maps - -#### Route-maps Summary - -##### RM-CONN-2-BGP - -| Sequence | Type | Match | Set | Sub-Route-Map | Continue | -| -------- | ---- | ----- | --- | ------------- | -------- | -| 10 | permit | ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY | - | - | - | - -#### Route-maps Device Configuration - -```eos -! -route-map RM-CONN-2-BGP permit 10 - match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY -``` - -## VRF Instances - -### VRF Instances Summary - -| VRF Name | IP Routing | -| -------- | ---------- | -| MGMT | disabled | - -### VRF Instances Device Configuration - -```eos -! -vrf instance MGMT -``` diff --git a/src/gnmic-prometheus/documentation/devices/om_spine1.md b/src/gnmic-prometheus/documentation/devices/om_spine1.md deleted file mode 100644 index 53aaa16b..00000000 --- a/src/gnmic-prometheus/documentation/devices/om_spine1.md +++ /dev/null @@ -1,544 +0,0 @@ -# om_spine1 - -## Table of Contents - -- [Management](#management) - - [Management Interfaces](#management-interfaces) - - [IP Name Servers](#ip-name-servers) - - [NTP](#ntp) - - [Management API gNMI](#management-api-gnmi) - - [Management API HTTP](#management-api-http) -- [Authentication](#authentication) - - [Local Users](#local-users) -- [Management Security](#management-security) - - [Management Security Summary](#management-security-summary) - - [Management Security SSL Profiles](#management-security-ssl-profiles) - - [Management Security Device Configuration](#management-security-device-configuration) -- [Spanning Tree](#spanning-tree) - - [Spanning Tree Summary](#spanning-tree-summary) - - [Spanning Tree Device Configuration](#spanning-tree-device-configuration) -- [Internal VLAN Allocation Policy](#internal-vlan-allocation-policy) - - [Internal VLAN Allocation Policy Summary](#internal-vlan-allocation-policy-summary) - - [Internal VLAN Allocation Policy Device Configuration](#internal-vlan-allocation-policy-device-configuration) -- [Interfaces](#interfaces) - - [Ethernet Interfaces](#ethernet-interfaces) - - [Loopback Interfaces](#loopback-interfaces) -- [Routing](#routing) - - [Service Routing Protocols Model](#service-routing-protocols-model) - - [IP Routing](#ip-routing) - - [IPv6 Routing](#ipv6-routing) - - [Static Routes](#static-routes) - - [Router BGP](#router-bgp) -- [BFD](#bfd) - - [Router BFD](#router-bfd) -- [Filters](#filters) - - [Prefix-lists](#prefix-lists) - - [Route-maps](#route-maps) -- [VRF Instances](#vrf-instances) - - [VRF Instances Summary](#vrf-instances-summary) - - [VRF Instances Device Configuration](#vrf-instances-device-configuration) - -## Management - -### Management Interfaces - -#### Management Interfaces Summary - -##### IPv4 - -| Management Interface | Description | Type | VRF | IP Address | Gateway | -| -------------------- | ----------- | ---- | --- | ---------- | ------- | -| Management0 | oob_management | oob | MGMT | 172.144.100.2/24 | 172.144.100.1 | - -##### IPv6 - -| Management Interface | Description | Type | VRF | IPv6 Address | IPv6 Gateway | -| -------------------- | ----------- | ---- | --- | ------------ | ------------ | -| Management0 | oob_management | oob | MGMT | - | - | - -#### Management Interfaces Device Configuration - -```eos -! -interface Management0 - description oob_management - no shutdown - vrf MGMT - ip address 172.144.100.2/24 -``` - -### IP Name Servers - -#### IP Name Servers Summary - -| Name Server | VRF | Priority | -| ----------- | --- | -------- | -| 1.1.1.1 | MGMT | - | -| 8.8.8.8 | MGMT | - | - -#### IP Name Servers Device Configuration - -```eos -ip name-server vrf MGMT 1.1.1.1 -ip name-server vrf MGMT 8.8.8.8 -``` - -### NTP - -#### NTP Summary - -##### NTP Servers - -| Server | VRF | Preferred | Burst | iBurst | Version | Min Poll | Max Poll | Local-interface | Key | -| ------ | --- | --------- | ----- | ------ | ------- | -------- | -------- | --------------- | --- | -| time.google.com | MGMT | True | - | True | - | - | - | - | - | - -#### NTP Device Configuration - -```eos -! -ntp server vrf MGMT time.google.com prefer iburst -``` - -### Management API gNMI - -#### Management API gNMI Summary - -| Transport | SSL Profile | VRF | Notification Timestamp | ACL | Port | -| --------- | ----------- | --- | ---------------------- | --- | ---- | -| MGMT | - | MGMT | send-time | - | 6030 | -| default | - | - | send-time | - | 6030 | - -Provider eos-native is configured. - -#### Management API gNMI Device Configuration - -```eos -! -management api gnmi - transport grpc MGMT - vrf MGMT - notification timestamp send-time - transport grpc default - notification timestamp send-time - provider eos-native -``` - -### Management API HTTP - -#### Management API HTTP Summary - -| HTTP | HTTPS | Default Services | -| ---- | ----- | ---------------- | -| False | True | - | - -Management HTTPS is using the SSL profile eAPI - -#### Management API VRF Access - -| VRF Name | IPv4 ACL | IPv6 ACL | -| -------- | -------- | -------- | -| MGMT | - | - | - -#### Management API HTTP Device Configuration - -```eos -! -management api http-commands - protocol https - protocol https ssl profile eAPI - no shutdown - ! - vrf MGMT - no shutdown -``` - -## Authentication - -### Local Users - -#### Local Users Summary - -| User | Privilege | Role | Disabled | Shell | -| ---- | --------- | ---- | -------- | ----- | -| admin | 15 | network-admin | False | - | - -#### Local Users Device Configuration - -```eos -! -username admin privilege 15 role network-admin secret sha512 -``` - -## Management Security - -### Management Security Summary - -| Settings | Value | -| -------- | ----- | - -### Management Security SSL Profiles - -| SSL Profile Name | TLS protocol accepted | Certificate filename | Key filename | Cipher List | CRLs | -| ---------------- | --------------------- | -------------------- | ------------ | ----------- | ---- | -| eAPI | - | eAPI.crt | eAPI.key | HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL | - | - -### Management Security Device Configuration - -```eos -! -management security - ssl profile eAPI - cipher-list HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL - certificate eAPI.crt key eAPI.key -``` - -## Spanning Tree - -### Spanning Tree Summary - -STP mode: **mstp** - -### Spanning Tree Device Configuration - -```eos -! -spanning-tree mode mstp -``` - -## Internal VLAN Allocation Policy - -### Internal VLAN Allocation Policy Summary - -| Policy Allocation | Range Beginning | Range Ending | -| ------------------| --------------- | ------------ | -| ascending | 1006 | 1199 | - -### Internal VLAN Allocation Policy Device Configuration - -```eos -! -vlan internal order ascending range 1006 1199 -``` - -## Interfaces - -### Ethernet Interfaces - -#### Ethernet Interfaces Summary - -##### L2 - -| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group | -| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- | - -*Inherited from Port-Channel Interface - -##### IPv4 - -| Interface | Description | Type | Channel Group | IP Address | VRF | MTU | Shutdown | ACL In | ACL Out | -| --------- | ----------- | -----| ------------- | ---------- | ----| ---- | -------- | ------ | ------- | -| Ethernet1 | P2P_LINK_TO_OM_PE11_Ethernet1 | routed | - | 172.31.255.0/31 | default | 9214 | False | - | - | -| Ethernet2 | P2P_LINK_TO_OM_PE12_Ethernet1 | routed | - | 172.31.255.4/31 | default | 9214 | False | - | - | -| Ethernet3 | P2P_LINK_TO_OM_PE21_Ethernet1 | routed | - | 172.31.255.8/31 | default | 9214 | False | - | - | -| Ethernet4 | P2P_LINK_TO_OM_PE22_Ethernet1 | routed | - | 172.31.255.12/31 | default | 9214 | False | - | - | - -#### Ethernet Interfaces Device Configuration - -```eos -! -interface Ethernet1 - description P2P_LINK_TO_OM_PE11_Ethernet1 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.0/31 -! -interface Ethernet2 - description P2P_LINK_TO_OM_PE12_Ethernet1 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.4/31 -! -interface Ethernet3 - description P2P_LINK_TO_OM_PE21_Ethernet1 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.8/31 -! -interface Ethernet4 - description P2P_LINK_TO_OM_PE22_Ethernet1 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.12/31 -``` - -### Loopback Interfaces - -#### Loopback Interfaces Summary - -##### IPv4 - -| Interface | Description | VRF | IP Address | -| --------- | ----------- | --- | ---------- | -| Loopback0 | EVPN_Overlay_Peering | default | 192.168.255.1/32 | - -##### IPv6 - -| Interface | Description | VRF | IPv6 Address | -| --------- | ----------- | --- | ------------ | -| Loopback0 | EVPN_Overlay_Peering | default | - | - -#### Loopback Interfaces Device Configuration - -```eos -! -interface Loopback0 - description EVPN_Overlay_Peering - no shutdown - ip address 192.168.255.1/32 -``` - -## Routing - -### Service Routing Protocols Model - -Multi agent routing protocol model enabled - -```eos -! -service routing protocols model multi-agent -``` - -### IP Routing - -#### IP Routing Summary - -| VRF | Routing Enabled | -| --- | --------------- | -| default | True | -| MGMT | False | - -#### IP Routing Device Configuration - -```eos -! -ip routing -no ip routing vrf MGMT -``` - -### IPv6 Routing - -#### IPv6 Routing Summary - -| VRF | Routing Enabled | -| --- | --------------- | -| default | False | -| MGMT | false | - -### Static Routes - -#### Static Routes Summary - -| VRF | Destination Prefix | Next Hop IP | Exit interface | Administrative Distance | Tag | Route Name | Metric | -| --- | ------------------ | ----------- | -------------- | ----------------------- | --- | ---------- | ------ | -| MGMT | 0.0.0.0/0 | 172.144.100.1 | - | 1 | - | - | - | - -#### Static Routes Device Configuration - -```eos -! -ip route vrf MGMT 0.0.0.0/0 172.144.100.1 -``` - -### Router BGP - -ASN Notation: asplain - -#### Router BGP Summary - -| BGP AS | Router ID | -| ------ | --------- | -| 65001 | 192.168.255.1 | - -| BGP Tuning | -| ---------- | -| no bgp default ipv4-unicast | -| distance bgp 20 200 200 | -| maximum-paths 4 ecmp 4 | - -#### Router BGP Peer Groups - -##### EVPN-OVERLAY-PEERS - -| Settings | Value | -| -------- | ----- | -| Address Family | evpn | -| Next-hop unchanged | True | -| Source | Loopback0 | -| BFD | True | -| Ebgp multihop | 3 | -| Send community | all | -| Maximum routes | 0 (no limit) | - -##### IPv4-UNDERLAY-PEERS - -| Settings | Value | -| -------- | ----- | -| Address Family | ipv4 | -| Send community | all | -| Maximum routes | 12000 | - -#### BGP Neighbors - -| Neighbor | Remote AS | VRF | Shutdown | Send-community | Maximum-routes | Allowas-in | BFD | RIB Pre-Policy Retain | Route-Reflector Client | Passive | TTL Max Hops | -| -------- | --------- | --- | -------- | -------------- | -------------- | ---------- | --- | --------------------- | ---------------------- | ------- | ------------ | -| 172.31.255.1 | 65101 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 172.31.255.5 | 65102 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 172.31.255.9 | 65103 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 172.31.255.13 | 65104 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 192.168.255.3 | 65101 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | -| 192.168.255.4 | 65102 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | -| 192.168.255.5 | 65103 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | -| 192.168.255.6 | 65104 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | - -#### Router BGP EVPN Address Family - -##### EVPN Peer Groups - -| Peer Group | Activate | Encapsulation | -| ---------- | -------- | ------------- | -| EVPN-OVERLAY-PEERS | True | default | - -#### Router BGP Device Configuration - -```eos -! -router bgp 65001 - router-id 192.168.255.1 - distance bgp 20 200 200 - maximum-paths 4 ecmp 4 - no bgp default ipv4-unicast - neighbor EVPN-OVERLAY-PEERS peer group - neighbor EVPN-OVERLAY-PEERS next-hop-unchanged - neighbor EVPN-OVERLAY-PEERS update-source Loopback0 - neighbor EVPN-OVERLAY-PEERS bfd - neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 - neighbor EVPN-OVERLAY-PEERS password 7 - neighbor EVPN-OVERLAY-PEERS send-community - neighbor EVPN-OVERLAY-PEERS maximum-routes 0 - neighbor IPv4-UNDERLAY-PEERS peer group - neighbor IPv4-UNDERLAY-PEERS password 7 - neighbor IPv4-UNDERLAY-PEERS send-community - neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 - neighbor 172.31.255.1 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.1 remote-as 65101 - neighbor 172.31.255.1 description om_pe11_Ethernet1 - neighbor 172.31.255.5 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.5 remote-as 65102 - neighbor 172.31.255.5 description om_pe12_Ethernet1 - neighbor 172.31.255.9 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.9 remote-as 65103 - neighbor 172.31.255.9 description om_pe21_Ethernet1 - neighbor 172.31.255.13 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.13 remote-as 65104 - neighbor 172.31.255.13 description om_pe22_Ethernet1 - neighbor 192.168.255.3 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.3 remote-as 65101 - neighbor 192.168.255.3 description om_pe11 - neighbor 192.168.255.4 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.4 remote-as 65102 - neighbor 192.168.255.4 description om_pe12 - neighbor 192.168.255.5 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.5 remote-as 65103 - neighbor 192.168.255.5 description om_pe21 - neighbor 192.168.255.6 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.6 remote-as 65104 - neighbor 192.168.255.6 description om_pe22 - redistribute connected route-map RM-CONN-2-BGP - ! - address-family evpn - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family rt-membership - neighbor EVPN-OVERLAY-PEERS activate - neighbor EVPN-OVERLAY-PEERS default-route-target only - ! - address-family ipv4 - no neighbor EVPN-OVERLAY-PEERS activate - neighbor IPv4-UNDERLAY-PEERS activate -``` - -## BFD - -### Router BFD - -#### Router BFD Multihop Summary - -| Interval | Minimum RX | Multiplier | -| -------- | ---------- | ---------- | -| 300 | 300 | 3 | - -#### Router BFD Device Configuration - -```eos -! -router bfd - multihop interval 300 min-rx 300 multiplier 3 -``` - -## Filters - -### Prefix-lists - -#### Prefix-lists Summary - -##### PL-LOOPBACKS-EVPN-OVERLAY - -| Sequence | Action | -| -------- | ------ | -| 10 | permit 192.168.255.0/24 eq 32 | - -#### Prefix-lists Device Configuration - -```eos -! -ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY - seq 10 permit 192.168.255.0/24 eq 32 -``` - -### Route-maps - -#### Route-maps Summary - -##### RM-CONN-2-BGP - -| Sequence | Type | Match | Set | Sub-Route-Map | Continue | -| -------- | ---- | ----- | --- | ------------- | -------- | -| 10 | permit | ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY | - | - | - | - -#### Route-maps Device Configuration - -```eos -! -route-map RM-CONN-2-BGP permit 10 - match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY -``` - -## VRF Instances - -### VRF Instances Summary - -| VRF Name | IP Routing | -| -------- | ---------- | -| MGMT | disabled | - -### VRF Instances Device Configuration - -```eos -! -vrf instance MGMT -``` diff --git a/src/gnmic-prometheus/documentation/devices/om_spine2.md b/src/gnmic-prometheus/documentation/devices/om_spine2.md deleted file mode 100644 index 02fd53ce..00000000 --- a/src/gnmic-prometheus/documentation/devices/om_spine2.md +++ /dev/null @@ -1,544 +0,0 @@ -# om_spine2 - -## Table of Contents - -- [Management](#management) - - [Management Interfaces](#management-interfaces) - - [IP Name Servers](#ip-name-servers) - - [NTP](#ntp) - - [Management API gNMI](#management-api-gnmi) - - [Management API HTTP](#management-api-http) -- [Authentication](#authentication) - - [Local Users](#local-users) -- [Management Security](#management-security) - - [Management Security Summary](#management-security-summary) - - [Management Security SSL Profiles](#management-security-ssl-profiles) - - [Management Security Device Configuration](#management-security-device-configuration) -- [Spanning Tree](#spanning-tree) - - [Spanning Tree Summary](#spanning-tree-summary) - - [Spanning Tree Device Configuration](#spanning-tree-device-configuration) -- [Internal VLAN Allocation Policy](#internal-vlan-allocation-policy) - - [Internal VLAN Allocation Policy Summary](#internal-vlan-allocation-policy-summary) - - [Internal VLAN Allocation Policy Device Configuration](#internal-vlan-allocation-policy-device-configuration) -- [Interfaces](#interfaces) - - [Ethernet Interfaces](#ethernet-interfaces) - - [Loopback Interfaces](#loopback-interfaces) -- [Routing](#routing) - - [Service Routing Protocols Model](#service-routing-protocols-model) - - [IP Routing](#ip-routing) - - [IPv6 Routing](#ipv6-routing) - - [Static Routes](#static-routes) - - [Router BGP](#router-bgp) -- [BFD](#bfd) - - [Router BFD](#router-bfd) -- [Filters](#filters) - - [Prefix-lists](#prefix-lists) - - [Route-maps](#route-maps) -- [VRF Instances](#vrf-instances) - - [VRF Instances Summary](#vrf-instances-summary) - - [VRF Instances Device Configuration](#vrf-instances-device-configuration) - -## Management - -### Management Interfaces - -#### Management Interfaces Summary - -##### IPv4 - -| Management Interface | Description | Type | VRF | IP Address | Gateway | -| -------------------- | ----------- | ---- | --- | ---------- | ------- | -| Management0 | oob_management | oob | MGMT | 172.144.100.3/24 | 172.144.100.1 | - -##### IPv6 - -| Management Interface | Description | Type | VRF | IPv6 Address | IPv6 Gateway | -| -------------------- | ----------- | ---- | --- | ------------ | ------------ | -| Management0 | oob_management | oob | MGMT | - | - | - -#### Management Interfaces Device Configuration - -```eos -! -interface Management0 - description oob_management - no shutdown - vrf MGMT - ip address 172.144.100.3/24 -``` - -### IP Name Servers - -#### IP Name Servers Summary - -| Name Server | VRF | Priority | -| ----------- | --- | -------- | -| 1.1.1.1 | MGMT | - | -| 8.8.8.8 | MGMT | - | - -#### IP Name Servers Device Configuration - -```eos -ip name-server vrf MGMT 1.1.1.1 -ip name-server vrf MGMT 8.8.8.8 -``` - -### NTP - -#### NTP Summary - -##### NTP Servers - -| Server | VRF | Preferred | Burst | iBurst | Version | Min Poll | Max Poll | Local-interface | Key | -| ------ | --- | --------- | ----- | ------ | ------- | -------- | -------- | --------------- | --- | -| time.google.com | MGMT | True | - | True | - | - | - | - | - | - -#### NTP Device Configuration - -```eos -! -ntp server vrf MGMT time.google.com prefer iburst -``` - -### Management API gNMI - -#### Management API gNMI Summary - -| Transport | SSL Profile | VRF | Notification Timestamp | ACL | Port | -| --------- | ----------- | --- | ---------------------- | --- | ---- | -| MGMT | - | MGMT | send-time | - | 6030 | -| default | - | - | send-time | - | 6030 | - -Provider eos-native is configured. - -#### Management API gNMI Device Configuration - -```eos -! -management api gnmi - transport grpc MGMT - vrf MGMT - notification timestamp send-time - transport grpc default - notification timestamp send-time - provider eos-native -``` - -### Management API HTTP - -#### Management API HTTP Summary - -| HTTP | HTTPS | Default Services | -| ---- | ----- | ---------------- | -| False | True | - | - -Management HTTPS is using the SSL profile eAPI - -#### Management API VRF Access - -| VRF Name | IPv4 ACL | IPv6 ACL | -| -------- | -------- | -------- | -| MGMT | - | - | - -#### Management API HTTP Device Configuration - -```eos -! -management api http-commands - protocol https - protocol https ssl profile eAPI - no shutdown - ! - vrf MGMT - no shutdown -``` - -## Authentication - -### Local Users - -#### Local Users Summary - -| User | Privilege | Role | Disabled | Shell | -| ---- | --------- | ---- | -------- | ----- | -| admin | 15 | network-admin | False | - | - -#### Local Users Device Configuration - -```eos -! -username admin privilege 15 role network-admin secret sha512 -``` - -## Management Security - -### Management Security Summary - -| Settings | Value | -| -------- | ----- | - -### Management Security SSL Profiles - -| SSL Profile Name | TLS protocol accepted | Certificate filename | Key filename | Cipher List | CRLs | -| ---------------- | --------------------- | -------------------- | ------------ | ----------- | ---- | -| eAPI | - | eAPI.crt | eAPI.key | HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL | - | - -### Management Security Device Configuration - -```eos -! -management security - ssl profile eAPI - cipher-list HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL - certificate eAPI.crt key eAPI.key -``` - -## Spanning Tree - -### Spanning Tree Summary - -STP mode: **mstp** - -### Spanning Tree Device Configuration - -```eos -! -spanning-tree mode mstp -``` - -## Internal VLAN Allocation Policy - -### Internal VLAN Allocation Policy Summary - -| Policy Allocation | Range Beginning | Range Ending | -| ------------------| --------------- | ------------ | -| ascending | 1006 | 1199 | - -### Internal VLAN Allocation Policy Device Configuration - -```eos -! -vlan internal order ascending range 1006 1199 -``` - -## Interfaces - -### Ethernet Interfaces - -#### Ethernet Interfaces Summary - -##### L2 - -| Interface | Description | Mode | VLANs | Native VLAN | Trunk Group | Channel-Group | -| --------- | ----------- | ---- | ----- | ----------- | ----------- | ------------- | - -*Inherited from Port-Channel Interface - -##### IPv4 - -| Interface | Description | Type | Channel Group | IP Address | VRF | MTU | Shutdown | ACL In | ACL Out | -| --------- | ----------- | -----| ------------- | ---------- | ----| ---- | -------- | ------ | ------- | -| Ethernet1 | P2P_LINK_TO_OM_PE11_Ethernet2 | routed | - | 172.31.255.2/31 | default | 9214 | False | - | - | -| Ethernet2 | P2P_LINK_TO_OM_PE12_Ethernet2 | routed | - | 172.31.255.6/31 | default | 9214 | False | - | - | -| Ethernet3 | P2P_LINK_TO_OM_PE21_Ethernet2 | routed | - | 172.31.255.10/31 | default | 9214 | False | - | - | -| Ethernet4 | P2P_LINK_TO_OM_PE22_Ethernet2 | routed | - | 172.31.255.14/31 | default | 9214 | False | - | - | - -#### Ethernet Interfaces Device Configuration - -```eos -! -interface Ethernet1 - description P2P_LINK_TO_OM_PE11_Ethernet2 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.2/31 -! -interface Ethernet2 - description P2P_LINK_TO_OM_PE12_Ethernet2 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.6/31 -! -interface Ethernet3 - description P2P_LINK_TO_OM_PE21_Ethernet2 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.10/31 -! -interface Ethernet4 - description P2P_LINK_TO_OM_PE22_Ethernet2 - no shutdown - mtu 9214 - no switchport - ip address 172.31.255.14/31 -``` - -### Loopback Interfaces - -#### Loopback Interfaces Summary - -##### IPv4 - -| Interface | Description | VRF | IP Address | -| --------- | ----------- | --- | ---------- | -| Loopback0 | EVPN_Overlay_Peering | default | 192.168.255.2/32 | - -##### IPv6 - -| Interface | Description | VRF | IPv6 Address | -| --------- | ----------- | --- | ------------ | -| Loopback0 | EVPN_Overlay_Peering | default | - | - -#### Loopback Interfaces Device Configuration - -```eos -! -interface Loopback0 - description EVPN_Overlay_Peering - no shutdown - ip address 192.168.255.2/32 -``` - -## Routing - -### Service Routing Protocols Model - -Multi agent routing protocol model enabled - -```eos -! -service routing protocols model multi-agent -``` - -### IP Routing - -#### IP Routing Summary - -| VRF | Routing Enabled | -| --- | --------------- | -| default | True | -| MGMT | False | - -#### IP Routing Device Configuration - -```eos -! -ip routing -no ip routing vrf MGMT -``` - -### IPv6 Routing - -#### IPv6 Routing Summary - -| VRF | Routing Enabled | -| --- | --------------- | -| default | False | -| MGMT | false | - -### Static Routes - -#### Static Routes Summary - -| VRF | Destination Prefix | Next Hop IP | Exit interface | Administrative Distance | Tag | Route Name | Metric | -| --- | ------------------ | ----------- | -------------- | ----------------------- | --- | ---------- | ------ | -| MGMT | 0.0.0.0/0 | 172.144.100.1 | - | 1 | - | - | - | - -#### Static Routes Device Configuration - -```eos -! -ip route vrf MGMT 0.0.0.0/0 172.144.100.1 -``` - -### Router BGP - -ASN Notation: asplain - -#### Router BGP Summary - -| BGP AS | Router ID | -| ------ | --------- | -| 65001 | 192.168.255.2 | - -| BGP Tuning | -| ---------- | -| no bgp default ipv4-unicast | -| distance bgp 20 200 200 | -| maximum-paths 4 ecmp 4 | - -#### Router BGP Peer Groups - -##### EVPN-OVERLAY-PEERS - -| Settings | Value | -| -------- | ----- | -| Address Family | evpn | -| Next-hop unchanged | True | -| Source | Loopback0 | -| BFD | True | -| Ebgp multihop | 3 | -| Send community | all | -| Maximum routes | 0 (no limit) | - -##### IPv4-UNDERLAY-PEERS - -| Settings | Value | -| -------- | ----- | -| Address Family | ipv4 | -| Send community | all | -| Maximum routes | 12000 | - -#### BGP Neighbors - -| Neighbor | Remote AS | VRF | Shutdown | Send-community | Maximum-routes | Allowas-in | BFD | RIB Pre-Policy Retain | Route-Reflector Client | Passive | TTL Max Hops | -| -------- | --------- | --- | -------- | -------------- | -------------- | ---------- | --- | --------------------- | ---------------------- | ------- | ------------ | -| 172.31.255.3 | 65101 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 172.31.255.7 | 65102 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 172.31.255.11 | 65103 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 172.31.255.15 | 65104 | default | - | Inherited from peer group IPv4-UNDERLAY-PEERS | Inherited from peer group IPv4-UNDERLAY-PEERS | - | - | - | - | - | - | -| 192.168.255.3 | 65101 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | -| 192.168.255.4 | 65102 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | -| 192.168.255.5 | 65103 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | -| 192.168.255.6 | 65104 | default | - | Inherited from peer group EVPN-OVERLAY-PEERS | Inherited from peer group EVPN-OVERLAY-PEERS | - | Inherited from peer group EVPN-OVERLAY-PEERS | - | - | - | - | - -#### Router BGP EVPN Address Family - -##### EVPN Peer Groups - -| Peer Group | Activate | Encapsulation | -| ---------- | -------- | ------------- | -| EVPN-OVERLAY-PEERS | True | default | - -#### Router BGP Device Configuration - -```eos -! -router bgp 65001 - router-id 192.168.255.2 - distance bgp 20 200 200 - maximum-paths 4 ecmp 4 - no bgp default ipv4-unicast - neighbor EVPN-OVERLAY-PEERS peer group - neighbor EVPN-OVERLAY-PEERS next-hop-unchanged - neighbor EVPN-OVERLAY-PEERS update-source Loopback0 - neighbor EVPN-OVERLAY-PEERS bfd - neighbor EVPN-OVERLAY-PEERS ebgp-multihop 3 - neighbor EVPN-OVERLAY-PEERS password 7 - neighbor EVPN-OVERLAY-PEERS send-community - neighbor EVPN-OVERLAY-PEERS maximum-routes 0 - neighbor IPv4-UNDERLAY-PEERS peer group - neighbor IPv4-UNDERLAY-PEERS password 7 - neighbor IPv4-UNDERLAY-PEERS send-community - neighbor IPv4-UNDERLAY-PEERS maximum-routes 12000 - neighbor 172.31.255.3 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.3 remote-as 65101 - neighbor 172.31.255.3 description om_pe11_Ethernet2 - neighbor 172.31.255.7 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.7 remote-as 65102 - neighbor 172.31.255.7 description om_pe12_Ethernet2 - neighbor 172.31.255.11 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.11 remote-as 65103 - neighbor 172.31.255.11 description om_pe21_Ethernet2 - neighbor 172.31.255.15 peer group IPv4-UNDERLAY-PEERS - neighbor 172.31.255.15 remote-as 65104 - neighbor 172.31.255.15 description om_pe22_Ethernet2 - neighbor 192.168.255.3 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.3 remote-as 65101 - neighbor 192.168.255.3 description om_pe11 - neighbor 192.168.255.4 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.4 remote-as 65102 - neighbor 192.168.255.4 description om_pe12 - neighbor 192.168.255.5 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.5 remote-as 65103 - neighbor 192.168.255.5 description om_pe21 - neighbor 192.168.255.6 peer group EVPN-OVERLAY-PEERS - neighbor 192.168.255.6 remote-as 65104 - neighbor 192.168.255.6 description om_pe22 - redistribute connected route-map RM-CONN-2-BGP - ! - address-family evpn - neighbor EVPN-OVERLAY-PEERS activate - ! - address-family rt-membership - neighbor EVPN-OVERLAY-PEERS activate - neighbor EVPN-OVERLAY-PEERS default-route-target only - ! - address-family ipv4 - no neighbor EVPN-OVERLAY-PEERS activate - neighbor IPv4-UNDERLAY-PEERS activate -``` - -## BFD - -### Router BFD - -#### Router BFD Multihop Summary - -| Interval | Minimum RX | Multiplier | -| -------- | ---------- | ---------- | -| 300 | 300 | 3 | - -#### Router BFD Device Configuration - -```eos -! -router bfd - multihop interval 300 min-rx 300 multiplier 3 -``` - -## Filters - -### Prefix-lists - -#### Prefix-lists Summary - -##### PL-LOOPBACKS-EVPN-OVERLAY - -| Sequence | Action | -| -------- | ------ | -| 10 | permit 192.168.255.0/24 eq 32 | - -#### Prefix-lists Device Configuration - -```eos -! -ip prefix-list PL-LOOPBACKS-EVPN-OVERLAY - seq 10 permit 192.168.255.0/24 eq 32 -``` - -### Route-maps - -#### Route-maps Summary - -##### RM-CONN-2-BGP - -| Sequence | Type | Match | Set | Sub-Route-Map | Continue | -| -------- | ---- | ----- | --- | ------------- | -------- | -| 10 | permit | ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY | - | - | - | - -#### Route-maps Device Configuration - -```eos -! -route-map RM-CONN-2-BGP permit 10 - match ip address prefix-list PL-LOOPBACKS-EVPN-OVERLAY -``` - -## VRF Instances - -### VRF Instances Summary - -| VRF Name | IP Routing | -| -------- | ---------- | -| MGMT | disabled | - -### VRF Instances Device Configuration - -```eos -! -vrf instance MGMT -``` diff --git a/src/gnmic-prometheus/documentation/fabric/OM_FABRIC-documentation.md b/src/gnmic-prometheus/documentation/fabric/OM_FABRIC-documentation.md deleted file mode 100644 index 40940de7..00000000 --- a/src/gnmic-prometheus/documentation/fabric/OM_FABRIC-documentation.md +++ /dev/null @@ -1,98 +0,0 @@ -# OM_FABRIC - -## Table of Contents - -- [Fabric Switches and Management IP](#fabric-switches-and-management-ip) - - [Fabric Switches with inband Management IP](#fabric-switches-with-inband-management-ip) -- [Fabric Topology](#fabric-topology) -- [Fabric IP Allocation](#fabric-ip-allocation) - - [Fabric Point-To-Point Links](#fabric-point-to-point-links) - - [Point-To-Point Links Node Allocation](#point-to-point-links-node-allocation) - - [Loopback Interfaces (BGP EVPN Peering)](#loopback-interfaces-bgp-evpn-peering) - - [Loopback0 Interfaces Node Allocation](#loopback0-interfaces-node-allocation) - - [VTEP Loopback VXLAN Tunnel Source Interfaces (VTEPs Only)](#vtep-loopback-vxlan-tunnel-source-interfaces-vteps-only) - - [VTEP Loopback Node allocation](#vtep-loopback-node-allocation) - -## Fabric Switches and Management IP - -| POD | Type | Node | Management IP | Platform | Provisioned in CloudVision | Serial Number | -| --- | ---- | ---- | ------------- | -------- | -------------------------- | ------------- | -| OM_FABRIC | l3leaf | om-pe11 | 172.144.100.4/24 | cEOS-LAB | Provisioned | - | -| OM_FABRIC | l3leaf | om-pe12 | 172.144.100.5/24 | cEOS-LAB | Provisioned | - | -| OM_FABRIC | l3leaf | om-pe21 | 172.144.100.6/24 | cEOS-LAB | Provisioned | - | -| OM_FABRIC | l3leaf | om-pe22 | 172.144.100.7/24 | cEOS-LAB | Provisioned | - | -| OM_FABRIC | spine | om-spine1 | 172.144.100.2/24 | cEOS-LAB | Provisioned | - | -| OM_FABRIC | spine | om-spine2 | 172.144.100.3/24 | cEOS-LAB | Provisioned | - | - -> Provision status is based on Ansible inventory declaration and do not represent real status from CloudVision. - -### Fabric Switches with inband Management IP - -| POD | Type | Node | Management IP | Inband Interface | -| --- | ---- | ---- | ------------- | ---------------- | - -## Fabric Topology - -| Type | Node | Node Interface | Peer Type | Peer Node | Peer Interface | -| ---- | ---- | -------------- | --------- | ----------| -------------- | -| l3leaf | om-pe11 | Ethernet1 | spine | om-spine1 | Ethernet1 | -| l3leaf | om-pe11 | Ethernet2 | spine | om-spine2 | Ethernet1 | -| l3leaf | om-pe12 | Ethernet1 | spine | om-spine1 | Ethernet2 | -| l3leaf | om-pe12 | Ethernet2 | spine | om-spine2 | Ethernet2 | -| l3leaf | om-pe21 | Ethernet1 | spine | om-spine1 | Ethernet3 | -| l3leaf | om-pe21 | Ethernet2 | spine | om-spine2 | Ethernet3 | -| l3leaf | om-pe22 | Ethernet1 | spine | om-spine1 | Ethernet4 | -| l3leaf | om-pe22 | Ethernet2 | spine | om-spine2 | Ethernet4 | - -## Fabric IP Allocation - -### Fabric Point-To-Point Links - -| Uplink IPv4 Pool | Available Addresses | Assigned addresses | Assigned Address % | -| ---------------- | ------------------- | ------------------ | ------------------ | -| 172.31.255.0/24 | 256 | 16 | 6.25 % | - -### Point-To-Point Links Node Allocation - -| Node | Node Interface | Node IP Address | Peer Node | Peer Interface | Peer IP Address | -| ---- | -------------- | --------------- | --------- | -------------- | --------------- | -| om-pe11 | Ethernet1 | 172.31.255.1/31 | om-spine1 | Ethernet1 | 172.31.255.0/31 | -| om-pe11 | Ethernet2 | 172.31.255.3/31 | om-spine2 | Ethernet1 | 172.31.255.2/31 | -| om-pe12 | Ethernet1 | 172.31.255.5/31 | om-spine1 | Ethernet2 | 172.31.255.4/31 | -| om-pe12 | Ethernet2 | 172.31.255.7/31 | om-spine2 | Ethernet2 | 172.31.255.6/31 | -| om-pe21 | Ethernet1 | 172.31.255.9/31 | om-spine1 | Ethernet3 | 172.31.255.8/31 | -| om-pe21 | Ethernet2 | 172.31.255.11/31 | om-spine2 | Ethernet3 | 172.31.255.10/31 | -| om-pe22 | Ethernet1 | 172.31.255.13/31 | om-spine1 | Ethernet4 | 172.31.255.12/31 | -| om-pe22 | Ethernet2 | 172.31.255.15/31 | om-spine2 | Ethernet4 | 172.31.255.14/31 | - -### Loopback Interfaces (BGP EVPN Peering) - -| Loopback Pool | Available Addresses | Assigned addresses | Assigned Address % | -| ------------- | ------------------- | ------------------ | ------------------ | -| 192.168.255.0/24 | 256 | 6 | 2.35 % | - -### Loopback0 Interfaces Node Allocation - -| POD | Node | Loopback0 | -| --- | ---- | --------- | -| OM_FABRIC | om-pe11 | 192.168.255.3/32 | -| OM_FABRIC | om-pe12 | 192.168.255.4/32 | -| OM_FABRIC | om-pe21 | 192.168.255.5/32 | -| OM_FABRIC | om-pe22 | 192.168.255.6/32 | -| OM_FABRIC | om-spine1 | 192.168.255.1/32 | -| OM_FABRIC | om-spine2 | 192.168.255.2/32 | - -### VTEP Loopback VXLAN Tunnel Source Interfaces (VTEPs Only) - -| VTEP Loopback Pool | Available Addresses | Assigned addresses | Assigned Address % | -| --------------------- | ------------------- | ------------------ | ------------------ | -| 192.168.254.0/24 | 256 | 4 | 1.57 % | - -### VTEP Loopback Node allocation - -| POD | Node | Loopback1 | -| --- | ---- | --------- | -| OM_FABRIC | om-pe11 | 192.168.254.3/32 | -| OM_FABRIC | om-pe12 | 192.168.254.4/32 | -| OM_FABRIC | om-pe21 | 192.168.254.5/32 | -| OM_FABRIC | om-pe22 | 192.168.254.6/32 | diff --git a/src/gnmic-prometheus/documentation/fabric/OM_FABRIC-p2p-links.csv b/src/gnmic-prometheus/documentation/fabric/OM_FABRIC-p2p-links.csv deleted file mode 100644 index 0d6588fd..00000000 --- a/src/gnmic-prometheus/documentation/fabric/OM_FABRIC-p2p-links.csv +++ /dev/null @@ -1,9 +0,0 @@ -Type,Node,Node Interface,Leaf IP Address,Peer Type,Peer Node,Peer Interface,Peer IP Address -l3leaf,om-pe11,Ethernet1,172.31.255.1/31,spine,om-spine1,Ethernet1,172.31.255.0/31 -l3leaf,om-pe11,Ethernet2,172.31.255.3/31,spine,om-spine2,Ethernet1,172.31.255.2/31 -l3leaf,om-pe12,Ethernet1,172.31.255.5/31,spine,om-spine1,Ethernet2,172.31.255.4/31 -l3leaf,om-pe12,Ethernet2,172.31.255.7/31,spine,om-spine2,Ethernet2,172.31.255.6/31 -l3leaf,om-pe21,Ethernet1,172.31.255.9/31,spine,om-spine1,Ethernet3,172.31.255.8/31 -l3leaf,om-pe21,Ethernet2,172.31.255.11/31,spine,om-spine2,Ethernet3,172.31.255.10/31 -l3leaf,om-pe22,Ethernet1,172.31.255.13/31,spine,om-spine1,Ethernet4,172.31.255.12/31 -l3leaf,om-pe22,Ethernet2,172.31.255.15/31,spine,om-spine2,Ethernet4,172.31.255.14/31 diff --git a/src/gnmic-prometheus/documentation/fabric/OM_FABRIC-topology.csv b/src/gnmic-prometheus/documentation/fabric/OM_FABRIC-topology.csv deleted file mode 100644 index 10093f6c..00000000 --- a/src/gnmic-prometheus/documentation/fabric/OM_FABRIC-topology.csv +++ /dev/null @@ -1,25 +0,0 @@ -Node Type,Node,Node Interface,Peer Type,Peer Node,Peer Interface,Node Interface Enabled -l3leaf,om-pe11,Ethernet1,spine,om-spine1,Ethernet1,True -l3leaf,om-pe11,Ethernet2,spine,om-spine2,Ethernet1,True -l3leaf,om-pe11,Ethernet3,server,server01,Eth1,True -l3leaf,om-pe11,Ethernet4,server,server02,Eth1,True -l3leaf,om-pe12,Ethernet1,spine,om-spine1,Ethernet2,True -l3leaf,om-pe12,Ethernet2,spine,om-spine2,Ethernet2,True -l3leaf,om-pe12,Ethernet3,server,server01,Eth2,True -l3leaf,om-pe12,Ethernet4,server,server02,Eth2,True -l3leaf,om-pe21,Ethernet1,spine,om-spine1,Ethernet3,True -l3leaf,om-pe21,Ethernet2,spine,om-spine2,Ethernet3,True -l3leaf,om-pe21,Ethernet3,server,server03,Eth1,True -l3leaf,om-pe21,Ethernet4,server,server04,Eth1,True -l3leaf,om-pe22,Ethernet1,spine,om-spine1,Ethernet4,True -l3leaf,om-pe22,Ethernet2,spine,om-spine2,Ethernet4,True -l3leaf,om-pe22,Ethernet3,server,server03,Eth2,True -l3leaf,om-pe22,Ethernet4,server,server04,Eth2,True -spine,om-spine1,Ethernet1,l3leaf,om-pe11,Ethernet1,True -spine,om-spine1,Ethernet2,l3leaf,om-pe12,Ethernet1,True -spine,om-spine1,Ethernet3,l3leaf,om-pe21,Ethernet1,True -spine,om-spine1,Ethernet4,l3leaf,om-pe22,Ethernet1,True -spine,om-spine2,Ethernet1,l3leaf,om-pe11,Ethernet2,True -spine,om-spine2,Ethernet2,l3leaf,om-pe12,Ethernet2,True -spine,om-spine2,Ethernet3,l3leaf,om-pe21,Ethernet2,True -spine,om-spine2,Ethernet4,l3leaf,om-pe22,Ethernet2,True diff --git a/src/gnmic-prometheus/gnmic.yml b/src/gnmic-prometheus/gnmic.yml deleted file mode 100644 index 996bee4d..00000000 --- a/src/gnmic-prometheus/gnmic.yml +++ /dev/null @@ -1,163 +0,0 @@ -username: admin -password: admin -port: 6030 -timeout: 10s -skip-verify: true -encoding: json_ietf -#debug: true - -targets: - om-spine1: - insecure: true - om-spine2: - insecure: true - om-pe11: - insecure: true - om-pe12: - insecure: true - om-pe21: - insecure: true - om-pe22: - insecure: true -subscriptions: - bgp_neighbors: - paths: - - /network-instances/network-instance[name=default]/protocols/protocol[name=BGP]/bgp/neighbors - mode: stream - stream-mode: sample - sample-interval: 5s - - cpu: - paths: - - components/component/cpu - mode: stream - stream-mode: sample - sample-interval: 5s - - cpu_load_avg: - paths: - - eos_native:/Kernel/sysinfo - mode: stream - stream-mode: sample - sample-interval: 5s - - - memory: - paths: - - components/component/state/memory/ - - system/memory/kernel/state - - system/memory/state - - mode: stream - stream-mode: sample - sample-interval: 5s - - intf_ctrs: - paths: - - /interfaces/interface[name=*]/state/counters - mode: stream - stream-mode: sample - sample-interval: 5s - - intf_admin_state: - paths: - - /interfaces/interface[name=*]/state/admin-status - mode: stream - stream-mode: sample - sample-interval: 5s - - intf_oper_state: - paths: - - /interfaces/interface[name=*]/state/oper-status - mode: stream - stream-mode: sample - sample-interval: 5s - - intf_config: - paths: - - interfaces/interface/subinterfaces/subinterface/ipv4/addresses/address/config - mode: stream - stream-mode: sample - sample-interval: 5s - - show_ver: - paths: - - eos_native:/Eos/image - mode: stream - stream-mode: sample - sample-interval: 60s - - boot_time: - paths: - - system/state/boot-time - mode: stream - stream-mode: sample - sample-interval: 60s - - hardware: - paths: - - components/component/state - - eos_native:/Sysdb/hardware/entmib - mode: stream - stream-mode: sample - sample-interval: 60s - -outputs: - prom: - type: prometheus - listen: :9273 - path: /metrics - metric-prefix: gnmic - append-subscription-name: true - strings-as-labels: true - export-timestamps: true - debug: false - event-processors: - - trim-prefixes - - bounce-map - - eos-version - # - tag-status - #- set-timestamp-processor - # stdout: - # type: file - # file-type: stdout - # event-processors: - # - proc-convert-strings-to-int - # - trim-prefixes - -processors: - eos-version: - event-strings: - value-names: - - ".*version$" - - ".*arch$" - transforms: - - replace: - apply-on: "value" - old: "EOS" - new: "eos" - # event-to-tag: - # value-names: - # - ".*version$" - # - ".*arch$" - trim-prefixes: - event-strings: - value-names: - - ".*" - transforms: - - path-base: - apply-on: "name" - bounce-map: - event-strings: - value-names: - - oper-status - - admin-status - transforms: - - replace: - apply-on: "value" - old: "UP" - new: "1" - - replace: - apply-on: "value" - old: "DOWN" - new: "0" diff --git a/src/gnmic-prometheus/grafana/provisioning/dashboards/dashboards.yml b/src/gnmic-prometheus/grafana/provisioning/dashboards/dashboards.yml deleted file mode 100644 index 51188506..00000000 --- a/src/gnmic-prometheus/grafana/provisioning/dashboards/dashboards.yml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: 1 - -providers: - - name: ArGNMI - type: file - updateIntervalSeconds: 10 - allowUiUpdates: false - options: - path: /etc/grafana/provisioning/dashboards - foldersFromFilesStructure: true diff --git a/src/gnmic-prometheus/grafana/provisioning/dashboards/device-overview.json b/src/gnmic-prometheus/grafana/provisioning/dashboards/device-overview.json deleted file mode 100644 index e178ba95..00000000 --- a/src/gnmic-prometheus/grafana/provisioning/dashboards/device-overview.json +++ /dev/null @@ -1,662 +0,0 @@ -{ - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": { - "type": "grafana", - "uid": "-- Grafana --" - }, - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] - }, - "editable": true, - "fiscalYearStartMonth": 0, - "graphTooltip": 0, - "id": 4, - "links": [], - "panels": [ - { - "datasource": { - "default": false, - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "custom": { - "align": "auto", - "cellOptions": { - "type": "auto" - }, - "inspect": false - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "ns" - }, - "overrides": [] - }, - "gridPos": { - "h": 4, - "w": 20, - "x": 0, - "y": 0 - }, - "id": 1, - "options": { - "cellHeight": "sm", - "footer": { - "countRows": false, - "fields": "", - "reducer": [ - "sum" - ], - "show": false - }, - "showHeader": true - }, - "pluginVersion": "11.2.0", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "disableTextWrap": false, - "editorMode": "builder", - "exemplar": false, - "expr": "(time() * 1000000000) - gnmic_boot_time_boot_time{job=\"gnmic\", source=\"$Device\"}", - "format": "table", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": true, - "legendFormat": "__auto", - "range": false, - "refId": "A", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "disableTextWrap": false, - "editorMode": "builder", - "exemplar": false, - "expr": "gnmic_intf_config_ip{source=\"$Device\", job=\"gnmic\", interface_name=\"Management0\"}", - "format": "table", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": true, - "legendFormat": "__auto", - "range": false, - "refId": "B", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "gnmic_show_ver_version{source=\"$Device\"}", - "format": "table", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "__auto", - "range": true, - "refId": "C", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "disableTextWrap": false, - "editorMode": "builder", - "exemplar": false, - "expr": "gnmic_hardware_serial_no{source=\"$Device\"}", - "format": "table", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": true, - "legendFormat": "Serial Number", - "range": false, - "refId": "D", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "disableTextWrap": false, - "editorMode": "builder", - "exemplar": false, - "expr": "gnmic_hardware_part_no{source=\"$Device\"}", - "format": "table", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": true, - "legendFormat": "__auto", - "range": false, - "refId": "E", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "disableTextWrap": false, - "editorMode": "builder", - "exemplar": false, - "expr": "gnmic_hardware_firmware_version{source=\"$Device\"}", - "format": "table", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": true, - "legendFormat": "__auto", - "range": false, - "refId": "F", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "disableTextWrap": false, - "editorMode": "builder", - "exemplar": false, - "expr": "gnmic_hardware_systemMacAddr{source=\"$Device\"}", - "format": "table", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": true, - "legendFormat": "__auto", - "range": false, - "refId": "G", - "useBackend": false - } - ], - "title": "System Details", - "transformations": [ - { - "id": "joinByField", - "options": { - "byField": "source", - "mode": "outer" - } - }, - { - "id": "organize", - "options": { - "excludeByName": { - "Time 1": true, - "Time 2": true, - "Time 3": true, - "Time 4": true, - "Time 5": true, - "Time 6": true, - "Time 7": true, - "Value #A": false, - "Value #B": true, - "Value #C": true, - "Value #D": true, - "Value #E": true, - "Value #F": true, - "Value #G": true, - "__name__": true, - "__name__ 2": true, - "__name__ 3": true, - "__name__ 4": true, - "__name__ 5": true, - "__name__ 6": true, - "address_ip": true, - "component_name": true, - "component_name 2": true, - "component_name 3": true, - "instance 1": true, - "instance 2": true, - "instance 3": true, - "instance 4": true, - "instance 5": true, - "instance 6": true, - "instance 7": true, - "job 1": true, - "job 2": true, - "job 3": true, - "job 4": true, - "job 5": true, - "job 6": true, - "job 7": true, - "name": true, - "subinterface_index": true, - "subscription_name 1": true, - "subscription_name 2": true, - "subscription_name 3": true, - "subscription_name 4": true, - "subscription_name 5": true, - "subscription_name 6": true, - "subscription_name 7": true - }, - "includeByName": {}, - "indexByName": { - "Time 1": 2, - "Time 2": 7, - "Time 3": 17, - "Time 4": 24, - "Time 5": 33, - "Time 6": 41, - "Time 7": 48, - "Value #A": 6, - "Value #B": 16, - "Value #C": 23, - "Value #D": 32, - "Value #E": 40, - "Value #F": 47, - "Value #G": 53, - "__name__ 1": 8, - "__name__ 2": 18, - "__name__ 3": 25, - "__name__ 4": 34, - "__name__ 5": 42, - "__name__ 6": 49, - "address_ip": 9, - "component_name 1": 26, - "component_name 2": 35, - "component_name 3": 43, - "firmware_version": 38, - "instance 1": 3, - "instance 2": 10, - "instance 3": 19, - "instance 4": 27, - "instance 5": 36, - "instance 6": 44, - "instance 7": 50, - "interface_name": 11, - "ip": 12, - "job 1": 4, - "job 2": 13, - "job 3": 20, - "job 4": 28, - "job 5": 37, - "job 6": 45, - "job 7": 51, - "part_no": 1, - "serial_no": 29, - "source": 0, - "subinterface_index": 14, - "subscription_name 1": 5, - "subscription_name 2": 15, - "subscription_name 3": 21, - "subscription_name 4": 31, - "subscription_name 5": 39, - "subscription_name 6": 46, - "subscription_name 7": 52, - "systemMacAddr": 30, - "version": 22 - }, - "renameByName": { - "Value #A": "Uptime", - "Value #E": "", - "firmware_version": "Firmware Version", - "interface_name": "", - "ip": "Management IP", - "part_no": "Model", - "serial_no": "Serial Number", - "source": "Hostname", - "version": "Software Version" - } - } - } - ], - "type": "table" - }, - { - "datasource": { - "default": false, - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "bytes" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 10, - "x": 0, - "y": 4 - }, - "id": 4, - "options": { - "displayMode": "gradient", - "maxVizHeight": 300, - "minVizHeight": 16, - "minVizWidth": 8, - "namePlacement": "auto", - "orientation": "horizontal", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showUnfilled": true, - "sizing": "auto", - "valueMode": "color" - }, - "pluginVersion": "11.2.0", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "gnmic_memory_active{source=\"$Device\"}", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "Active Memory", - "range": true, - "refId": "A", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "gnmic_memory_free{source=\"$Device\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "Available Memory", - "range": true, - "refId": "B", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "gnmic_memory_buffers{source=\"$Device\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "Buffers Memory", - "range": true, - "refId": "C", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "gnmic_memory_cached{source=\"$Device\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "Cached Memory", - "range": true, - "refId": "D", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "gnmic_memory_used{source=\"$Device\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "Used Memory", - "range": true, - "refId": "E", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "disableTextWrap": false, - "editorMode": "code", - "exemplar": false, - "expr": "gnmic_memory_available{job=\"gnmic\",source=\"$Device\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "Total Memory", - "range": true, - "refId": "F", - "useBackend": false - } - ], - "title": "Memory Overview", - "type": "bargauge" - }, - { - "datasource": { - "default": false, - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 10, - "x": 10, - "y": 4 - }, - "id": 3, - "options": { - "colorMode": "value", - "graphMode": "area", - "justifyMode": "auto", - "orientation": "auto", - "percentChangeColorMode": "standard", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "showPercentChange": false, - "textMode": "auto", - "wideLayout": true - }, - "pluginVersion": "11.2.0", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "gnmic_cpu_load_avg_loadAvg1m{source=\"$Device\"}", - "format": "time_series", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "1-minute CPU Load Avg", - "range": true, - "refId": "A", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "gnmic_cpu_load_avg_loadAvg5m{source=\"$Device\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "5-minute CPU Load Avg", - "range": true, - "refId": "B", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "gnmic_cpu_load_avg_loadAvg15m{source=\"$Device\"}", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "15-minute CPU Load Avg", - "range": true, - "refId": "C", - "useBackend": false - } - ], - "title": "CPU Overview", - "type": "stat" - } - ], - "schemaVersion": 39, - "tags": [], - "templating": { - "list": [ - { - "current": { - "selected": false, - "text": "om-pe11", - "value": "om-pe11" - }, - "datasource": { - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "definition": "label_values(source)", - "hide": 0, - "includeAll": false, - "multi": false, - "name": "Device", - "options": [], - "query": { - "qryType": 1, - "query": "label_values(source)", - "refId": "PrometheusVariableQueryEditor-VariableQuery" - }, - "refresh": 1, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "type": "query" - } - ] - }, - "time": { - "from": "now-6h", - "to": "now" - }, - "timepicker": {}, - "timezone": "browser", - "title": "Device Overview", - "uid": "ddyiqse9z0r28b", - "version": 9, - "weekStart": "" - } \ No newline at end of file diff --git a/src/gnmic-prometheus/grafana/provisioning/dashboards/fabric-health.json b/src/gnmic-prometheus/grafana/provisioning/dashboards/fabric-health.json deleted file mode 100644 index 8050ef89..00000000 --- a/src/gnmic-prometheus/grafana/provisioning/dashboards/fabric-health.json +++ /dev/null @@ -1,372 +0,0 @@ -{ - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": { - "type": "grafana", - "uid": "-- Grafana --" - }, - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] - }, - "editable": true, - "fiscalYearStartMonth": 0, - "graphTooltip": 0, - "id": 3, - "links": [], - "panels": [ - { - "datasource": { - "default": false, - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "custom": { - "align": "auto", - "cellOptions": { - "type": "auto" - }, - "inspect": false - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "ns" - }, - "overrides": [] - }, - "gridPos": { - "h": 9, - "w": 7, - "x": 0, - "y": 0 - }, - "id": 3, - "options": { - "cellHeight": "sm", - "footer": { - "countRows": false, - "fields": "", - "reducer": [ - "sum" - ], - "show": false - }, - "showHeader": true - }, - "pluginVersion": "11.2.0", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "disableTextWrap": false, - "editorMode": "code", - "exemplar": false, - "expr": "time()*1000000000-gnmic_boot_time_boot_time", - "format": "table", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": true, - "legendFormat": "__auto", - "range": false, - "refId": "A", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "editorMode": "code", - "exemplar": false, - "expr": "gnmic_intf_config_ip{job=\"gnmic\", interface_name=\"Management0\"}", - "format": "table", - "hide": false, - "instant": true, - "legendFormat": "__auto", - "range": false, - "refId": "B" - } - ], - "title": "Uptime", - "transformations": [ - { - "id": "joinByField", - "options": { - "byField": "source", - "mode": "outer" - } - }, - { - "id": "organize", - "options": { - "excludeByName": { - "Time": true, - "Value #B": true, - "__name__": true, - "address_ip": true, - "instance": true, - "instance 2": true, - "job": true, - "job 2": true, - "subinterface_index": true, - "subscription_name": true, - "subscription_name 2": true - }, - "includeByName": {}, - "indexByName": {}, - "renameByName": { - "Value #A": "Uptime", - "interface_name": "Management Interface", - "ip": "Management IP", - "source": "Hostname" - } - } - } - ], - "type": "table" - }, - { - "datasource": { - "default": false, - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "barWidthFactor": 0.6, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "bytes" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 9 - }, - "id": 2, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "gnmic_memory_utilized{job=\"gnmic\"}", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "__auto", - "range": true, - "refId": "A", - "useBackend": false - } - ], - "title": "Memory utilized", - "type": "timeseries" - }, - { - "datasource": { - "default": false, - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "barWidthFactor": 0.6, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 17 - }, - "id": 1, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "gnmic_cpu_avg{job=\"gnmic\"}", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "{{source}}/{{component_name}}", - "range": true, - "refId": "A", - "useBackend": false - } - ], - "title": "CPU Utilization", - "type": "timeseries" - } - ], - "schemaVersion": 39, - "tags": [], - "templating": { - "list": [] - }, - "time": { - "from": "now-1h", - "to": "now" - }, - "timepicker": {}, - "timezone": "browser", - "title": "Fabric Health", - "uid": "bdyhfszuksdmoe", - "version": 6, - "weekStart": "" - } \ No newline at end of file diff --git a/src/gnmic-prometheus/grafana/provisioning/dashboards/interface-stats.json b/src/gnmic-prometheus/grafana/provisioning/dashboards/interface-stats.json deleted file mode 100644 index fb09bd5a..00000000 --- a/src/gnmic-prometheus/grafana/provisioning/dashboards/interface-stats.json +++ /dev/null @@ -1,748 +0,0 @@ -{ - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": { - "type": "grafana", - "uid": "-- Grafana --" - }, - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] - }, - "editable": true, - "fiscalYearStartMonth": 0, - "graphTooltip": 0, - "id": 2, - "links": [], - "panels": [ - { - "datasource": { - "default": false, - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - } - }, - "mappings": [] - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "0" - }, - "properties": [ - { - "id": "displayName", - "value": "Down" - }, - { - "id": "color", - "value": { - "fixedColor": "red", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "1" - }, - "properties": [ - { - "id": "displayName", - "value": "Up" - }, - { - "id": "color", - "value": { - "fixedColor": "green", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 10, - "w": 5, - "x": 0, - "y": 0 - }, - "id": 1, - "options": { - "displayLabels": [ - "value", - "percent" - ], - "legend": { - "displayMode": "list", - "placement": "bottom", - "showLegend": true, - "values": [ - "value", - "percent" - ] - }, - "pieType": "donut", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "pluginVersion": "11.2.0", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "disableTextWrap": false, - "editorMode": "builder", - "exemplar": false, - "expr": "count_values by() (\"count\", gnmic_intf_admin_state_admin_status{job=\"gnmic\"})", - "format": "time_series", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": true, - "legendFormat": "__auto", - "range": false, - "refId": "A", - "useBackend": false - } - ], - "title": "Intf Admin Status", - "type": "piechart" - }, - { - "datasource": { - "default": false, - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - } - }, - "mappings": [ - { - "options": { - "0": { - "color": "red", - "index": 3, - "text": "DOWN" - }, - "1": { - "color": "green", - "index": 2, - "text": "UP" - }, - "DOWN": { - "color": "red", - "index": 0 - }, - "UP": { - "color": "green", - "index": 1 - } - }, - "type": "value" - } - ] - }, - "overrides": [ - { - "matcher": { - "id": "byName", - "options": "0" - }, - "properties": [ - { - "id": "displayName", - "value": "Down" - }, - { - "id": "color", - "value": { - "fixedColor": "red", - "mode": "fixed" - } - } - ] - }, - { - "matcher": { - "id": "byName", - "options": "1" - }, - "properties": [ - { - "id": "displayName", - "value": "Up" - }, - { - "id": "color", - "value": { - "fixedColor": "green", - "mode": "fixed" - } - } - ] - } - ] - }, - "gridPos": { - "h": 10, - "w": 5, - "x": 5, - "y": 0 - }, - "id": 2, - "options": { - "displayLabels": [ - "percent", - "value" - ], - "legend": { - "displayMode": "list", - "placement": "bottom", - "showLegend": true, - "values": [ - "value", - "percent" - ] - }, - "pieType": "donut", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "count_values by() (\"count\", gnmic_intf_oper_state_oper_status{job=\"gnmic\"})", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "__auto", - "range": true, - "refId": "A", - "useBackend": false - } - ], - "title": "Intf Oper State", - "type": "piechart" - }, - { - "datasource": { - "default": false, - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "custom": { - "align": "auto", - "cellOptions": { - "type": "auto" - }, - "inspect": false - }, - "fieldMinMax": true, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 10, - "w": 5, - "x": 10, - "y": 0 - }, - "id": 3, - "options": { - "cellHeight": "sm", - "footer": { - "countRows": false, - "fields": "", - "reducer": [ - "sum" - ], - "show": false - }, - "showHeader": true - }, - "pluginVersion": "11.2.0", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "disableTextWrap": false, - "editorMode": "builder", - "exemplar": false, - "expr": "gnmic_show_ver_version{job=\"gnmic\"}", - "format": "table", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": true, - "legendFormat": "__auto", - "range": false, - "refId": "A", - "useBackend": false - } - ], - "title": "EOS Versions", - "transformations": [ - { - "id": "organize", - "options": { - "excludeByName": { - "Time": true, - "Value": true, - "__name__": true, - "instance": true, - "job": true, - "subscription_name": true - }, - "includeByName": {}, - "indexByName": {}, - "renameByName": { - "source": "Hostname" - } - } - } - ], - "type": "table" - }, - { - "datasource": { - "default": false, - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "custom": { - "align": "auto", - "cellOptions": { - "type": "auto" - }, - "inspect": false - }, - "mappings": [ - { - "options": { - "0": { - "index": 1, - "text": "Down" - }, - "1": { - "index": 0, - "text": "Up" - } - }, - "type": "value" - } - ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 12, - "w": 10, - "x": 0, - "y": 10 - }, - "id": 4, - "options": { - "cellHeight": "sm", - "footer": { - "countRows": false, - "fields": "", - "reducer": [ - "sum" - ], - "show": false - }, - "showHeader": true - }, - "pluginVersion": "11.2.0", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "disableTextWrap": false, - "editorMode": "builder", - "exemplar": false, - "expr": "gnmic_intf_admin_state_admin_status{job=\"gnmic\"}", - "format": "table", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": true, - "legendFormat": "__auto", - "range": false, - "refId": "A", - "useBackend": false - } - ], - "title": "Interface Admin Status Table", - "transformations": [ - { - "id": "organize", - "options": { - "excludeByName": { - "__name__": true, - "instance": true, - "job": true, - "subscription_name": true - }, - "includeByName": {}, - "indexByName": {}, - "renameByName": { - "Value": "Status", - "interface_name": "Interface", - "source": "Hostname" - } - } - } - ], - "type": "table" - }, - { - "datasource": { - "default": false, - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "barWidthFactor": 0.6, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "bytes" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 22 - }, - "id": 5, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "rate(gnmic_intf_ctrs_in_octets[$__rate_interval])", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "{{source}}//{{interface_name}} - In", - "range": true, - "refId": "A", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "rate(gnmic_intf_ctrs_out_octets[$__rate_interval])", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "{{source}}//{{interface_name}} - Out", - "range": true, - "refId": "B", - "useBackend": false - } - ], - "title": "Interface traffic stats (bytes/sec)", - "type": "timeseries" - }, - { - "datasource": { - "default": false, - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "axisBorderShow": false, - "axisCenteredZero": false, - "axisColorMode": "text", - "axisLabel": "", - "axisPlacement": "auto", - "barAlignment": 0, - "barWidthFactor": 0.6, - "drawStyle": "line", - "fillOpacity": 0, - "gradientMode": "none", - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - }, - "insertNulls": false, - "lineInterpolation": "linear", - "lineWidth": 1, - "pointSize": 5, - "scaleDistribution": { - "type": "linear" - }, - "showPoints": "auto", - "spanNulls": false, - "stacking": { - "group": "A", - "mode": "none" - }, - "thresholdsStyle": { - "mode": "off" - } - }, - "mappings": [], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - }, - { - "color": "red", - "value": 80 - } - ] - }, - "unit": "bytes" - }, - "overrides": [] - }, - "gridPos": { - "h": 8, - "w": 12, - "x": 0, - "y": 30 - }, - "id": 6, - "options": { - "legend": { - "calcs": [], - "displayMode": "list", - "placement": "bottom", - "showLegend": true - }, - "tooltip": { - "mode": "single", - "sort": "none" - } - }, - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "rate(gnmic_intf_ctrs_in_discards[$__rate_interval])", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "{{source}}//{{interface_name}} - In", - "range": true, - "refId": "A", - "useBackend": false - }, - { - "datasource": { - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "disableTextWrap": false, - "editorMode": "builder", - "expr": "rate(gnmic_intf_ctrs_out_discards[$__rate_interval])", - "fullMetaSearch": false, - "hide": false, - "includeNullMetadata": true, - "instant": false, - "legendFormat": "{{source}}//{{interface_name}} - Out", - "range": true, - "refId": "B", - "useBackend": false - } - ], - "title": "Interface Discards per sec", - "type": "timeseries" - } - ], - "schemaVersion": 39, - "tags": [], - "templating": { - "list": [] - }, - "time": { - "from": "now-6h", - "to": "now" - }, - "timepicker": {}, - "timezone": "browser", - "title": "Interface Statistics", - "uid": "bdyh021fsya68e", - "version": 24, - "weekStart": "" - } \ No newline at end of file diff --git a/src/gnmic-prometheus/grafana/provisioning/dashboards/l3-telemetry.json b/src/gnmic-prometheus/grafana/provisioning/dashboards/l3-telemetry.json deleted file mode 100644 index e381c1a9..00000000 --- a/src/gnmic-prometheus/grafana/provisioning/dashboards/l3-telemetry.json +++ /dev/null @@ -1,168 +0,0 @@ -{ - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": { - "type": "grafana", - "uid": "-- Grafana --" - }, - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] - }, - "editable": true, - "fiscalYearStartMonth": 0, - "graphTooltip": 0, - "id": 5, - "links": [], - "panels": [ - { - "datasource": { - "default": false, - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "fieldConfig": { - "defaults": { - "color": { - "mode": "thresholds" - }, - "custom": { - "align": "auto", - "cellOptions": { - "type": "color-text" - }, - "inspect": false - }, - "mappings": [ - { - "options": { - "0": { - "color": "dark-red", - "index": 0 - } - }, - "type": "value" - } - ], - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 26, - "w": 9, - "x": 0, - "y": 0 - }, - "id": 1, - "options": { - "cellHeight": "sm", - "footer": { - "countRows": false, - "fields": "", - "reducer": [ - "sum" - ], - "show": false - }, - "showHeader": true, - "sortBy": [ - { - "desc": false, - "displayName": "source" - } - ] - }, - "pluginVersion": "11.2.0", - "targets": [ - { - "datasource": { - "type": "prometheus", - "uid": "PBFA97CFB590B2093" - }, - "disableTextWrap": false, - "editorMode": "builder", - "exemplar": false, - "expr": "gnmic_bgp_neighbors_installed{afi_safi_afi_safi_name=\"IPV4_UNICAST\"}", - "format": "table", - "fullMetaSearch": false, - "includeNullMetadata": true, - "instant": true, - "legendFormat": "__auto", - "range": false, - "refId": "A", - "useBackend": false - } - ], - "title": "BGP IPv4 Unicast Summary", - "transformations": [ - { - "id": "organize", - "options": { - "excludeByName": { - "Time": true, - "__name__": true, - "instance": true, - "job": true, - "network_instance_name": false, - "protocol_identifier": true, - "protocol_name": true, - "subscription_name": true - }, - "includeByName": {}, - "indexByName": { - "Time": 1, - "Value": 11, - "__name__": 2, - "afi_safi_afi_safi_name": 3, - "instance": 4, - "job": 5, - "neighbor_neighbor_address": 6, - "network_instance_name": 7, - "protocol_identifier": 8, - "protocol_name": 9, - "source": 0, - "subscription_name": 10 - }, - "renameByName": { - "Value": "PfxAcc", - "neighbor_neighbor_address": "Neighbor IP", - "network_instance_name": "VRF", - "source": "Hostname" - } - } - } - ], - "type": "table" - } - ], - "schemaVersion": 39, - "tags": [], - "templating": { - "list": [] - }, - "time": { - "from": "now-6h", - "to": "now" - }, - "timepicker": {}, - "timezone": "browser", - "title": "L3 Telemetry", - "uid": "edykq7cje2eioe", - "version": 3, - "weekStart": "" - } \ No newline at end of file diff --git a/src/gnmic-prometheus/grafana/provisioning/datasources/datasource.yaml b/src/gnmic-prometheus/grafana/provisioning/datasources/datasource.yaml deleted file mode 100644 index d6824c74..00000000 --- a/src/gnmic-prometheus/grafana/provisioning/datasources/datasource.yaml +++ /dev/null @@ -1,7 +0,0 @@ -# config file version -apiVersion: 1 - -datasources: - - name: Prometheus - type: prometheus - url: http://prometheus:9090 diff --git a/src/gnmic-prometheus/group_vars/AVD_LAB.yaml b/src/gnmic-prometheus/group_vars/AVD_LAB.yaml deleted file mode 100644 index 116f44fc..00000000 --- a/src/gnmic-prometheus/group_vars/AVD_LAB.yaml +++ /dev/null @@ -1,64 +0,0 @@ ---- -local_users: - - name: admin - privilege: 15 - role: network-admin - sha512_password: "$6$7GTxsrRjnwheeKfR$zhJ8qycVjAJz41rf5JRSfWIzp93IL5WL7sMS/Taz1yfShz.MAnoajCf7R2n1/EZW7PN5QA3Huayl0lVQesBYN1" - -name_servers: - - 1.1.1.1 - - 8.8.8.8 - -ntp: - servers: - - name: time.google.com - preferred: true - vrf: MGMT - iburst: true - -service_routing_protocols_model: multi-agent - -custom_structured_configuration_spanning_tree: - mode: mstp - -ip_routing: true - -# hardcoding management0 for cEOS lab compatibility (default: Management1) -mgmt_interface: Management0 -mgmt_gateway: 172.144.100.1 -mgmt_interface_vrf: MGMT - -# Management eAPI | Required for this Lab -custom_structured_configuration_management_api_http: - https_ssl_profile: eAPI - -# Management security required for SSL profile with strong ciphers -custom_structured_configuration_management_security: - ssl_profiles: - - name: eAPI - certificate: - file: eAPI.crt - key: eAPI.key - cipher_list: 'HIGH:!eNULL:!aNULL:!MD5:!ADH:!ANULL' - -# Management GNMI | Optional -management_api_gnmi: - provider: "eos-native" - transport: - grpc: - - name: MGMT - vrf: MGMT - notification_timestamp: "send-time" - - name: default - notification_timestamp: "send-time" - -# daemon_terminattr: -# cvaddrs: # For single cluster -# - 10.100.169.53:9910 -# cvvrf: MGMT -# cvauth: -# method: "token" -# token_file: "/mnt/flash/token" -# ingestexclude: "/Sysdb/cell/1/agent,/Sysdb/cell/2/agent" -# smashexcludes: "ale,flexCounter,hardware,kni,pulse,strata" -# disable_aaa: true diff --git a/src/gnmic-prometheus/group_vars/OM_CONNECTED_ENDPOINTS.yaml b/src/gnmic-prometheus/group_vars/OM_CONNECTED_ENDPOINTS.yaml deleted file mode 100644 index 707f99ad..00000000 --- a/src/gnmic-prometheus/group_vars/OM_CONNECTED_ENDPOINTS.yaml +++ /dev/null @@ -1,82 +0,0 @@ ---- -port_profiles: - - profile: Tenant_A_pod1_clientA - mode: trunk - vlans: '110' - - profile: Tenant_A_pod1_clientB - mode: trunk - vlans: '111' - -servers: - - name: server01 - rack: rack01 - adapters: - - endpoint_ports: - - Eth1 - - Eth2 - switch_ports: - - Ethernet3 - - Ethernet3 - switches: - - om-pe11 - - om-pe12 - profile: Tenant_A_pod1_clientA - spanning_tree_portfast: edge - port_channel: - description: PortChannel3 - mode: active - short_esi: 0101:0102:0033 - - name: server02 - rack: rack01 - adapters: - - endpoint_ports: - - Eth1 - - Eth2 - switch_ports: - - Ethernet4 - - Ethernet4 - switches: - - om-pe11 - - om-pe12 - profile: Tenant_A_pod1_clientB - spanning_tree_portfast: edge - port_channel: - description: PortChannel4 - mode: active - short_esi: 0101:0102:0044 - - name: server03 - rack: rack02 - adapters: - - endpoint_ports: - - Eth1 - - Eth2 - switch_ports: - - Ethernet3 - - Ethernet3 - switches: - - om-pe21 - - om-pe22 - profile: Tenant_A_pod1_clientA - spanning_tree_portfast: edge - port_channel: - description: PortChannel3 - mode: active - short_esi: 0201:0202:0033 - - name: server04 - rack: rack02 - adapters: - - endpoint_ports: - - Eth1 - - Eth2 - switch_ports: - - Ethernet4 - - Ethernet4 - switches: - - om-pe21 - - om-pe22 - profile: Tenant_A_pod1_clientB - spanning_tree_portfast: edge - port_channel: - description: PortChannel4 - mode: active - short_esi: 0201:0202:0044 diff --git a/src/gnmic-prometheus/group_vars/OM_FABRIC.yaml b/src/gnmic-prometheus/group_vars/OM_FABRIC.yaml deleted file mode 100644 index e5c7301f..00000000 --- a/src/gnmic-prometheus/group_vars/OM_FABRIC.yaml +++ /dev/null @@ -1,92 +0,0 @@ ---- -fabric_name: OM_FABRIC - -underlay_routing_protocol: ebgp - -overlay_routing_protocol: ebgp - -evpn_vlan_aware_bundles: false - -# bgp peer groups passwords -bgp_peer_groups: - ipv4_underlay_peers: - password: "AQQvKeimxJu+uGQ/yYvv9w==" - evpn_overlay_peers: - password: "q+VNViP5i4rVjW1cxFv2wA==" - -# BGP defaults -bgp_default_ipv4_unicast: false -bgp_update_wait_install: false -bgp_update_wait_for_convergence: false -bgp_distance: - external_routes: 20 - internal_routes: 200 - local_routes: 200 - -spine: - defaults: - platform: cEOS-LAB - bgp_as: '65001' - loopback_ipv4_pool: 192.168.255.0/24 - nodes: - - name: om-spine1 - id: 1 - mgmt_ip: 172.144.100.2/24 - - name: om-spine2 - id: 2 - mgmt_ip: 172.144.100.3/24 - -l3leaf: - defaults: - platform: cEOS-LAB - uplink_switches: - - om-spine1 - - om-spine2 - uplink_interfaces: - - Ethernet1 - - Ethernet2 - spanning_tree_mode: mstp - spanning_tree_priority: 4096 - evpn_services_l2_only: true - loopback_ipv4_pool: 192.168.255.0/24 - loopback_ipv4_offset: 2 - vtep_loopback_ipv4_pool: 192.168.254.0/24 - uplink_ipv4_pool: 172.31.255.0/24 - node_groups: - - group: POD_1 - mlag: false - nodes: - - name: om-pe11 - id: 1 - bgp_as: '65101' - mgmt_ip: 172.144.100.4/24 - uplink_switch_interfaces: - - Ethernet1 - - Ethernet1 - - name: om-pe12 - id: 2 - bgp_as: '65102' - mgmt_ip: 172.144.100.5/24 - uplink_switch_interfaces: - - Ethernet2 - - Ethernet2 - - group: POD_2 - mlag: false - nodes: - - name: om-pe21 - id: 3 - bgp_as: '65103' - mgmt_ip: 172.144.100.6/24 - uplink_switch_interfaces: - - Ethernet3 - - Ethernet3 - - name: om-pe22 - id: 4 - bgp_as: '65104' - mgmt_ip: 172.144.100.7/24 - uplink_switch_interfaces: - - Ethernet4 - - Ethernet4 - -# Enable Route Target Membership Constraint Address Family on EVPN overlay BGP peerings -evpn_overlay_bgp_rtc: true diff --git a/src/gnmic-prometheus/group_vars/OM_NETWORK_SERVICES.yaml b/src/gnmic-prometheus/group_vars/OM_NETWORK_SERVICES.yaml deleted file mode 100644 index 8accca3b..00000000 --- a/src/gnmic-prometheus/group_vars/OM_NETWORK_SERVICES.yaml +++ /dev/null @@ -1,14 +0,0 @@ ---- -tenants: - # Tenant A VRFs / VLANs - - name: Tenant_A - mac_vrf_vni_base: 10000 - l2vlans: - - id: 110 - name: Tenant_A_OP_Zone_1 - tags: - - opzone_pod1 - - id: 111 - name: Tenant_A_OP_Zone_2 - tags: - - opzone_pod1 \ No newline at end of file diff --git a/src/gnmic-prometheus/group_vars/OM_PES.yaml b/src/gnmic-prometheus/group_vars/OM_PES.yaml deleted file mode 100644 index f44a74a5..00000000 --- a/src/gnmic-prometheus/group_vars/OM_PES.yaml +++ /dev/null @@ -1,12 +0,0 @@ -type: l3leaf -custom_structured_configuration_list_merge: append -custom_structured_configuration_vlan_interfaces: - - name: Vlan110 - description: Tenant_A_OP_Zone_1 - shutdown: false - ip_address_virtual: 10.1.10.1/24 - - name: Vlan111 - description: Tenant_A_OP_Zone_2 - shutdown: false - ip_address_virtual: 10.1.11.1/24 -custom_structured_configuration_ip_virtual_router_mac_address: 00:00:00:00:00:01 \ No newline at end of file diff --git a/src/gnmic-prometheus/group_vars/OM_SPINES.yaml b/src/gnmic-prometheus/group_vars/OM_SPINES.yaml deleted file mode 100644 index 0633cbe0..00000000 --- a/src/gnmic-prometheus/group_vars/OM_SPINES.yaml +++ /dev/null @@ -1 +0,0 @@ -type: spine diff --git a/src/gnmic-prometheus/host_l3_config/l3_build.sh b/src/gnmic-prometheus/host_l3_config/l3_build.sh deleted file mode 100644 index db6be318..00000000 --- a/src/gnmic-prometheus/host_l3_config/l3_build.sh +++ /dev/null @@ -1,52 +0,0 @@ -#!/bin/bash - - -CMD1='cat /etc/hostname; \ -sudo vconfig add team0 110; \ -sudo ifconfig team0.110 10.1.10.101 netmask 255.255.255.0;\ -sudo ip link set up team0.110; \ -sudo ip route add 10.1.0.0/16 via 10.1.10.1 dev team0.110; \ -sudo ifconfig team0.110; \ -sudo route -n -' - -CMD2='cat /etc/hostname; \ -sudo vconfig add team0 111; \ -sudo ifconfig team0.111 10.1.11.102 netmask 255.255.255.0; \ -sudo ip link set up team0.111; \ -sudo ip route add 10.1.0.0/16 via 10.1.11.1 dev team0.111; \ -sudo ifconfig team0.111; \ -sudo route -n' - -CMD3='cat /etc/hostname; \ -sudo vconfig add team0 110; \ -sudo ifconfig team0.110 10.1.10.103 netmask 255.255.255.0; \ -sudo ip link set up team0.110; \ -sudo ip route add 10.1.0.0/16 via 10.1.10.1 dev team0.110; \ -sudo ifconfig team0.110; \ -sudo route -n -' - -CMD4='cat /etc/hostname; \ -sudo vconfig add team0 111; \ -sudo ifconfig team0.111 10.1.11.104 netmask 255.255.255.0; \ -sudo ip link set up team0.111; \ -sudo ip route add 10.1.0.0/16 via 10.1.11.1 dev team0.111; \ -sudo ifconfig team0.111; \ -sudo route -n' - -echo "[INFO] Configuring clab-aamh-client1" -docker exec -it clab-aamh-client1 /bin/sh -c "$CMD1" - -echo "[INFO] Configuring clab-aamh-client2" -docker exec -it clab-aamh-client2 /bin/sh -c "$CMD2" - -echo "[INFO] Configuring clab-aamh-client3" -docker exec -it clab-aamh-client3 /bin/sh -c "$CMD3" - -echo "[INFO] Configuring clab-aamh-client4" -docker exec -it clab-aamh-client4 /bin/sh -c "$CMD4" - -echo "[INFO] Completed" - -echo "Use [ docker exec -it clab-aamh-client /bin/sh ] to login in host." diff --git a/src/gnmic-prometheus/inventory.yaml b/src/gnmic-prometheus/inventory.yaml deleted file mode 100644 index 409282a1..00000000 --- a/src/gnmic-prometheus/inventory.yaml +++ /dev/null @@ -1,41 +0,0 @@ -all: - children: - AVD_LAB: - children: - OM_FABRIC: - children: - OM_SPINES: - hosts: - om-spine1: - ansible_host: 172.144.100.2 - om-spine2: - ansible_host: 172.144.100.3 - OM_PES: - hosts: - om-pe11: - ansible_host: 172.144.100.4 - om-pe12: - ansible_host: 172.144.100.5 - om-pe21: - ansible_host: 172.144.100.6 - om-pe22: - ansible_host: 172.144.100.7 - - vars: - ansible_connection: httpapi - ansible_httpapi_use_ssl: true - ansible_httpapi_validate_certs: false - ansible_user: admin - ansible_password: admin - ansible_become: true - ansible_become_method: enable - ansible_network_os: eos - ansible_httpapi_port: 443 - ansible_python_interpreter: $(which python3) - OM_NETWORK_SERVICES: - children: - OM_PES: - - OM_CONNECTED_ENDPOINTS: - children: - OM_PES: diff --git a/src/gnmic-prometheus/playbooks/fabric-deploy-config.yaml b/src/gnmic-prometheus/playbooks/fabric-deploy-config.yaml deleted file mode 100644 index 43ca6eac..00000000 --- a/src/gnmic-prometheus/playbooks/fabric-deploy-config.yaml +++ /dev/null @@ -1,25 +0,0 @@ -- name: Build cEOS EVPN VXLAN All-active Multi-homing IRB Fabric (eBGP Overlay and eBGP Underlay) - hosts: OM_FABRIC - tasks: - # - name: Generate EOS configuration Snapshots - # tags: [snapshot] - # import_role: - # name: arista.avd.eos_snapshot - - - name: Generate AVD Structured Configurations and Fabric Documentation - import_role: - name: arista.avd.eos_designs - - - name: Generate Switch Intended Configurations and Documentation - import_role: - name: arista.avd.eos_cli_config_gen - - - name: Deploy generated configuration to devices - tags: [deploy] - import_role: - name: arista.avd.eos_config_deploy_eapi - - # - name: Validate states on EOS devices - # tags: [verify, never] - # import_role: - # name: arista.avd.eos_validate_state diff --git a/src/gnmic-prometheus/prometheus/prometheus.yml b/src/gnmic-prometheus/prometheus/prometheus.yml deleted file mode 100644 index d10fb16b..00000000 --- a/src/gnmic-prometheus/prometheus/prometheus.yml +++ /dev/null @@ -1,9 +0,0 @@ -global: - scrape_interval: 5s - -# metrics_path defaults to '/metrics' -# scheme defaults to 'http'. -scrape_configs: - - job_name: "gnmic" - static_configs: - - targets: ["gnmic:9273"] diff --git a/src/gnmic-prometheus/resources/topology.drawio b/src/gnmic-prometheus/resources/topology.drawio deleted file mode 100644 index c89d6fcc..00000000 --- a/src/gnmic-prometheus/resources/topology.drawio +++ /dev/null @@ -1,241 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/src/gnmic-prometheus/sn/pe11.txt b/src/gnmic-prometheus/sn/pe11.txt deleted file mode 100644 index e53219bb..00000000 --- a/src/gnmic-prometheus/sn/pe11.txt +++ /dev/null @@ -1,2 +0,0 @@ -SERIALNUMBER=OMLEAF1 -SYSTEMMACADDR=001c.aaaa.aa11 diff --git a/src/gnmic-prometheus/sn/pe12.txt b/src/gnmic-prometheus/sn/pe12.txt deleted file mode 100644 index f3a9c60c..00000000 --- a/src/gnmic-prometheus/sn/pe12.txt +++ /dev/null @@ -1,2 +0,0 @@ -SERIALNUMBER=OMLEAF2 -SYSTEMMACADDR=001c.aaab.aa12 \ No newline at end of file diff --git a/src/gnmic-prometheus/sn/pe21.txt b/src/gnmic-prometheus/sn/pe21.txt deleted file mode 100644 index 65cd40e0..00000000 --- a/src/gnmic-prometheus/sn/pe21.txt +++ /dev/null @@ -1,2 +0,0 @@ -SERIALNUMBER=OMLEAF3 -SYSTEMMACADDR=001c.aaac.aa21 \ No newline at end of file diff --git a/src/gnmic-prometheus/sn/pe22.txt b/src/gnmic-prometheus/sn/pe22.txt deleted file mode 100644 index 92973c95..00000000 --- a/src/gnmic-prometheus/sn/pe22.txt +++ /dev/null @@ -1,2 +0,0 @@ -SERIALNUMBER=OMLEAF4 -SYSTEMMACADDR=001c.aaad.aa22 \ No newline at end of file diff --git a/src/gnmic-prometheus/sn/spine1.txt b/src/gnmic-prometheus/sn/spine1.txt deleted file mode 100644 index 31d0df9c..00000000 --- a/src/gnmic-prometheus/sn/spine1.txt +++ /dev/null @@ -1,2 +0,0 @@ -SERIALNUMBER=OMSPINE1 -SYSTEMMACADDR=001c.aaae.aaa1 \ No newline at end of file diff --git a/src/gnmic-prometheus/sn/spine2.txt b/src/gnmic-prometheus/sn/spine2.txt deleted file mode 100644 index cbd5dec2..00000000 --- a/src/gnmic-prometheus/sn/spine2.txt +++ /dev/null @@ -1,2 +0,0 @@ -SERIALNUMBER=OMSPINE2 -SYSTEMMACADDR=001c.aaaf.aaa2 \ No newline at end of file diff --git a/src/gnmic-prometheus/topology.yaml b/src/gnmic-prometheus/topology.yaml deleted file mode 100644 index 48c24901..00000000 --- a/src/gnmic-prometheus/topology.yaml +++ /dev/null @@ -1,121 +0,0 @@ -name: om - -topology: - kinds: - ceos: - startup-config: ./ceos.cfg.tpl - image: ceosimage:4.32.2F - exec: - - sleep 10 - - FastCli -p 15 -c 'security pki key generate rsa 4096 eAPI.key' - - FastCli -p 15 -c 'security pki certificate generate self-signed eAPI.crt key eAPI.key generate rsa 4096 validity 30000 parameters common-name eAPI' - linux: - image: alpine-host - defaults: - kind: ceos - nodes: - om-spine1: - mgmt-ipv4: 172.144.100.2 - binds: - - ./sn/spine1.txt:/mnt/flash/ceos-config:ro - om-spine2: - mgmt-ipv4: 172.144.100.3 - binds: - - ./sn/spine2.txt:/mnt/flash/ceos-config:ro - om-pe11: - mgmt-ipv4: 172.144.100.4 - binds: - - ./sn/pe11.txt:/mnt/flash/ceos-config:ro - om-pe12: - mgmt-ipv4: 172.144.100.5 - binds: - - ./sn/pe12.txt:/mnt/flash/ceos-config:ro - om-pe21: - mgmt-ipv4: 172.144.100.6 - binds: - - ./sn/pe21.txt:/mnt/flash/ceos-config:ro - om-pe22: - mgmt-ipv4: 172.144.100.7 - binds: - - ./sn/pe22.txt:/mnt/flash/ceos-config:ro - client1: - kind: linux - mgmt-ipv4: 172.144.100.8 - env: - TMODE: lacp - client2: - kind: linux - mgmt-ipv4: 172.144.100.9 - env: - TMODE: lacp - client3: - kind: linux - mgmt-ipv4: 172.144.100.10 - env: - TMODE: lacp - client4: - kind: linux - mgmt-ipv4: 172.144.100.11 - env: - TMODE: lacp - # Telemetry stack - gnmic: - kind: linux - mgmt-ipv4: 172.144.100.200 - image: ghcr.io/openconfig/gnmic:0.38.2 - binds: - - ./gnmic.yml:/gnmic.yml:ro - cmd: --config gnmic.yml --log subscribe - group: gpromg - prometheus: - kind: linux - mgmt-ipv4: 172.144.100.210 - image: prom/prometheus:v2.54.1 - binds: - - prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro - cmd: --config.file=/etc/prometheus/prometheus.yml - ports: - - 9090:9090 - group: gpromg - grafana: - kind: linux - mgmt-ipv4: 172.144.100.220 - env: - GF_SECURITY_ADMIN_USER: arista - GF_SECURITY_ADMIN_PASSWORD: arista - ports: - - '3001:3000' - image: grafana/grafana:11.2.0 - binds: - - ./grafana/provisioning/:/etc/grafana/provisioning/ - group: gpromg - avd: - kind: linux - mgmt-ipv4: 172.144.100.230 - image: ghcr.io/aristanetworks/avd/universal:python3.12-avd-v4.10.2 - binds: - - ./:/project - group: gpromg - - links: - - endpoints: ["om-pe11:eth1", "om-spine1:eth1"] - - endpoints: ["om-pe12:eth1", "om-spine1:eth2"] - - endpoints: ["om-pe21:eth1", "om-spine1:eth3"] - - endpoints: ["om-pe22:eth1", "om-spine1:eth4"] - - endpoints: ["om-pe11:eth2", "om-spine2:eth1"] - - endpoints: ["om-pe12:eth2", "om-spine2:eth2"] - - endpoints: ["om-pe21:eth2", "om-spine2:eth3"] - - endpoints: ["om-pe22:eth2", "om-spine2:eth4"] - - endpoints: ["om-pe11:eth3", "client1:eth1"] - - endpoints: ["om-pe12:eth3", "client1:eth2"] - - endpoints: ["om-pe11:eth4", "client2:eth1"] - - endpoints: ["om-pe12:eth4", "client2:eth2"] - - endpoints: ["om-pe21:eth3", "client3:eth1"] - - endpoints: ["om-pe22:eth3", "client3:eth2"] - - endpoints: ["om-pe21:eth4", "client4:eth1"] - - endpoints: ["om-pe22:eth4", "client4:eth2"] - -mgmt: - network: om_clab - ipv4-subnet: 172.144.100.0/24 - ipv6-subnet: 2001:172:144:100::/80 \ No newline at end of file