Skip to content

Instantly share code, notes, and snippets.

@rwestphal
Created September 20, 2023 23:29
Show Gist options
  • Save rwestphal/f481bbe3f7c023c033f37ad688d13d5d to your computer and use it in GitHub Desktop.
Save rwestphal/f481bbe3f7c023c033f37ad688d13d5d to your computer and use it in GitHub Desktop.
#
# +---------+
# | |
# | RT1 |
# | 1.1.1.1 |
# | |
# +---------+
# |eth-sw1
# |
# |
# |
# +---------+ | +---------+
# | | | | |
# | RT2 |eth-sw1 | eth-sw1| RT3 |
# | 2.2.2.2 +----------+----------+ 3.3.3.3 |
# | | 10.0.1.0/24 | |
# +---------+ +---------+
# eth-rt4-1| |eth-rt4-2 eth-rt5-1| |eth-rt5-2
# | | | |
# 10.0.2.0/24| |10.0.3.0/24 10.0.4.0/24| |10.0.5.0/24
# | | | |
# eth-rt2-1| |eth-rt2-2 eth-rt3-1| |eth-rt3-2
# +---------+ +---------+
# | | | |
# | RT4 | 10.0.6.0/24 | RT5 |
# | 4.4.4.4 +---------------------+ 5.5.5.5 |
# | |eth-rt5 eth-rt4| |
# +---------+ +---------+
# eth-rt6| |eth-rt6
# | |
# 10.0.7.0/24| |10.0.8.0/24
# | +---------+ |
# | | | |
# | | RT6 | |
# +----------+ 6.6.6.6 +-----------+
# eth-rt4| |eth-rt5
# +---------+
#
---
routers:
rt1:
links:
lo:
ipv4: 1.1.1.1/32
eth-sw1:
peer: [sw1, sw1-rt1]
ipv4: 10.0.1.1/24
frr:
zebra:
holod:
config: |
interfaces interface lo
type iana-if-type:ethernetCsmacd
ipv4
ipv6
!
interfaces interface eth-sw1
type iana-if-type:ethernetCsmacd
ipv4
ipv6
!
key-chains key-chain KEYCHAIN
!
key 1
crypto-algorithm ietf-key-chain:hmac-sha-256
key-string keystring HOLO
lifetime send-accept-lifetime start-date-time 2022-01-01T01:00:00.0-03:00
lifetime send-accept-lifetime end-date-time 2023-01-01T01:00:00.0-03:00
!
!
key 2
crypto-algorithm ietf-key-chain:hmac-sha-256
key-string hexadecimal-string 01:02:03:04
lifetime send-accept-lifetime start-date-time 2023-01-01T01:00:00.0-03:00
lifetime send-accept-lifetime end-date-time 2025-01-01T01:00:00.0-03:00
!
!
!
routing segment-routing sr-mpls srgb srgb 16000 23999
!
routing segment-routing sr-mpls bindings connected-prefix-sid-map connected-prefix-sid 1.1.1.1/32 ietf-segment-routing-common:prefix-sid-algorithm-shortest-path
start-sid 10
last-hop-behavior no-php
!
routing control-plane-protocols control-plane-protocol ietf-ospf:ospfv3 main
ospf explicit-router-id 1.1.1.1
ospf address-family ipv4
ospf extended-lsa-support true
ospf segment-routing enabled true
!
ospf areas area 0.0.0.0
interfaces interface lo
interfaces interface eth-sw1
priority 1
hello-interval 3
dead-interval 12
authentication ospfv3-key-chain KEYCHAIN
bfd enabled true
!
!
!
rt2:
links:
lo:
ipv4: 2.2.2.2/32
eth-sw1:
peer: [sw1, sw1-rt2]
ipv4: 10.0.1.2/24
eth-rt4-1:
peer: [rt4, eth-rt2-1]
ipv4: 10.0.2.2/24
eth-rt4-2:
peer: [rt4, eth-rt2-2]
ipv4: 10.0.3.2/24
frr:
zebra:
holod:
config: |
interfaces interface lo
type iana-if-type:ethernetCsmacd
ipv4
ipv6
!
interfaces interface eth-sw1
type iana-if-type:ethernetCsmacd
ipv4
ipv6
!
interfaces interface eth-rt4-1
type iana-if-type:ethernetCsmacd
ipv4
ipv6
!
interfaces interface eth-rt4-2
type iana-if-type:ethernetCsmacd
ipv4
ipv6
!
!
key-chains key-chain KEYCHAIN
!
key 1
crypto-algorithm ietf-key-chain:hmac-sha-256
key-string keystring HOLO
lifetime send-accept-lifetime start-date-time 2022-01-01T01:00:00.0-03:00
lifetime send-accept-lifetime end-date-time 2023-01-01T01:00:00.0-03:00
!
!
key 2
crypto-algorithm ietf-key-chain:hmac-sha-256
key-string hexadecimal-string 01:02:03:04
lifetime send-accept-lifetime start-date-time 2023-01-01T01:00:00.0-03:00
lifetime send-accept-lifetime end-date-time 2025-01-01T01:00:00.0-03:00
!
!
!
routing segment-routing sr-mpls srgb srgb 16000 23999
!
routing segment-routing sr-mpls bindings connected-prefix-sid-map connected-prefix-sid 2.2.2.2/32 ietf-segment-routing-common:prefix-sid-algorithm-shortest-path
start-sid 20
last-hop-behavior no-php
!
routing control-plane-protocols control-plane-protocol ietf-ospf:ospfv3 main
ospf explicit-router-id 2.2.2.2
ospf address-family ipv4
ospf extended-lsa-support true
ospf segment-routing enabled true
!
ospf areas area 0.0.0.0
interfaces interface lo
interfaces interface eth-sw1
priority 2
hello-interval 3
dead-interval 12
authentication ospfv3-key-chain KEYCHAIN
bfd enabled true
!
interfaces interface eth-rt4-1
interface-type point-to-point
hello-interval 3
dead-interval 12
authentication ospfv3-key-chain KEYCHAIN
bfd enabled true
!
interfaces interface eth-rt4-2
interface-type point-to-point
hello-interval 3
dead-interval 12
authentication ospfv3-key-chain KEYCHAIN
bfd enabled true
!
!
!
rt3:
links:
lo:
ipv4: 3.3.3.3/32
eth-sw1:
peer: [sw1, sw1-rt3]
ipv4: 10.0.1.3/24
eth-rt5-1:
peer: [rt5, eth-rt3-1]
ipv4: 10.0.4.3/24
eth-rt5-2:
peer: [rt5, eth-rt3-2]
ipv4: 10.0.5.3/24
frr:
zebra:
holod:
config: |
interfaces interface lo
type iana-if-type:ethernetCsmacd
ipv4
ipv6
!
interfaces interface eth-sw1
type iana-if-type:ethernetCsmacd
ipv4
ipv6
!
interfaces interface eth-rt5-1
type iana-if-type:ethernetCsmacd
ipv4
ipv6
!
interfaces interface eth-rt5-2
type iana-if-type:ethernetCsmacd
ipv4
ipv6
!
!
key-chains key-chain KEYCHAIN
!
key 1
crypto-algorithm ietf-key-chain:hmac-sha-256
key-string keystring HOLO
lifetime send-accept-lifetime start-date-time 2022-01-01T01:00:00.0-03:00
lifetime send-accept-lifetime end-date-time 2023-01-01T01:00:00.0-03:00
!
!
key 2
crypto-algorithm ietf-key-chain:hmac-sha-256
key-string hexadecimal-string 01:02:03:04
lifetime send-accept-lifetime start-date-time 2023-01-01T01:00:00.0-03:00
lifetime send-accept-lifetime end-date-time 2025-01-01T01:00:00.0-03:00
!
!
!
routing segment-routing sr-mpls srgb srgb 16000 23999
!
routing segment-routing sr-mpls bindings connected-prefix-sid-map connected-prefix-sid 3.3.3.3/32 ietf-segment-routing-common:prefix-sid-algorithm-shortest-path
start-sid 30
last-hop-behavior no-php
!
routing control-plane-protocols control-plane-protocol ietf-ospf:ospfv3 main
ospf explicit-router-id 3.3.3.3
ospf address-family ipv4
ospf extended-lsa-support true
ospf segment-routing enabled true
!
ospf areas area 0.0.0.0
interfaces interface lo
interfaces interface eth-sw1
priority 3
hello-interval 3
dead-interval 12
authentication ospfv3-key-chain KEYCHAIN
bfd enabled true
!
interfaces interface eth-rt5-1
interface-type point-to-point
hello-interval 3
dead-interval 12
authentication ospfv3-key-chain KEYCHAIN
bfd enabled true
!
interfaces interface eth-rt5-2
interface-type point-to-point
hello-interval 3
dead-interval 12
authentication ospfv3-key-chain KEYCHAIN
bfd enabled true
!
!
!
rt4:
links:
lo:
ipv4: 4.4.4.4/32
eth-rt2-1:
peer: [rt2, eth-rt4-1]
ipv4: 10.0.2.4/24
eth-rt2-2:
peer: [rt2, eth-rt4-2]
ipv4: 10.0.3.4/24
eth-rt5:
peer: [rt5, eth-rt4]
ipv4: 10.0.6.4/24
eth-rt6:
peer: [rt6, eth-rt4]
ipv4: 10.0.7.4/24
frr:
zebra:
holod:
config: |
interfaces interface lo
type iana-if-type:ethernetCsmacd
ipv4
ipv6
!
interfaces interface eth-rt2-1
type iana-if-type:ethernetCsmacd
ipv4
ipv6
!
interfaces interface eth-rt2-2
type iana-if-type:ethernetCsmacd
ipv4
ipv6
!
interfaces interface eth-rt5
type iana-if-type:ethernetCsmacd
ipv4
ipv6
!
interfaces interface eth-rt6
type iana-if-type:ethernetCsmacd
ipv4
ipv6
!
!
key-chains key-chain KEYCHAIN
!
key 1
crypto-algorithm ietf-key-chain:hmac-sha-256
key-string keystring HOLO
lifetime send-accept-lifetime start-date-time 2022-01-01T01:00:00.0-03:00
lifetime send-accept-lifetime end-date-time 2023-01-01T01:00:00.0-03:00
!
!
key 2
crypto-algorithm ietf-key-chain:hmac-sha-256
key-string hexadecimal-string 01:02:03:04
lifetime send-accept-lifetime start-date-time 2023-01-01T01:00:00.0-03:00
lifetime send-accept-lifetime end-date-time 2025-01-01T01:00:00.0-03:00
!
!
!
routing segment-routing sr-mpls srgb srgb 16000 23999
!
routing segment-routing sr-mpls bindings connected-prefix-sid-map connected-prefix-sid 4.4.4.4/32 ietf-segment-routing-common:prefix-sid-algorithm-shortest-path
start-sid 40
last-hop-behavior no-php
!
routing control-plane-protocols control-plane-protocol ietf-ospf:ospfv3 main
ospf explicit-router-id 4.4.4.4
ospf address-family ipv4
ospf extended-lsa-support true
ospf segment-routing enabled true
!
ospf areas area 0.0.0.0
interfaces interface eth-rt2-1
interface-type point-to-point
hello-interval 3
dead-interval 12
authentication ospfv3-key-chain KEYCHAIN
bfd enabled true
!
interfaces interface eth-rt2-2
interface-type point-to-point
hello-interval 3
dead-interval 12
authentication ospfv3-key-chain KEYCHAIN
bfd enabled true
!
!
ospf areas area 0.0.0.1
interfaces interface lo
interfaces interface eth-rt5
interface-type point-to-point
hello-interval 3
dead-interval 12
authentication ospfv3-key-chain KEYCHAIN
bfd enabled true
!
interfaces interface eth-rt6
interface-type point-to-point
hello-interval 3
dead-interval 12
authentication ospfv3-key-chain KEYCHAIN
bfd enabled true
!
!
!
rt5:
links:
lo:
ipv4: 5.5.5.5/32
eth-rt3-1:
peer: [rt3, eth-rt5-1]
ipv4: 10.0.4.5/24
eth-rt3-2:
peer: [rt3, eth-rt5-2]
ipv4: 10.0.5.5/24
eth-rt4:
peer: [rt4, eth-rt5]
ipv4: 10.0.6.5/24
eth-rt6:
peer: [rt6, eth-rt5]
ipv4: 10.0.8.5/24
frr:
zebra:
holod:
config: |
interfaces interface lo
type iana-if-type:ethernetCsmacd
ipv4
ipv6
!
interfaces interface eth-rt3-1
type iana-if-type:ethernetCsmacd
ipv4
ipv6
!
interfaces interface eth-rt3-2
type iana-if-type:ethernetCsmacd
ipv4
ipv6
!
interfaces interface eth-rt4
type iana-if-type:ethernetCsmacd
ipv4
ipv6
!
interfaces interface eth-rt6
type iana-if-type:ethernetCsmacd
ipv4
ipv6
!
!
key-chains key-chain KEYCHAIN
!
key 1
crypto-algorithm ietf-key-chain:hmac-sha-256
key-string keystring HOLO
lifetime send-accept-lifetime start-date-time 2022-01-01T01:00:00.0-03:00
lifetime send-accept-lifetime end-date-time 2023-01-01T01:00:00.0-03:00
!
!
key 2
crypto-algorithm ietf-key-chain:hmac-sha-256
key-string hexadecimal-string 01:02:03:04
lifetime send-accept-lifetime start-date-time 2023-01-01T01:00:00.0-03:00
lifetime send-accept-lifetime end-date-time 2025-01-01T01:00:00.0-03:00
!
!
!
routing segment-routing sr-mpls srgb srgb 16000 23999
!
routing segment-routing sr-mpls bindings connected-prefix-sid-map connected-prefix-sid 5.5.5.5/32 ietf-segment-routing-common:prefix-sid-algorithm-shortest-path
start-sid 50
last-hop-behavior no-php
!
routing control-plane-protocols control-plane-protocol ietf-ospf:ospfv3 main
ospf explicit-router-id 5.5.5.5
ospf address-family ipv4
ospf extended-lsa-support true
ospf segment-routing enabled true
!
ospf areas area 0.0.0.0
interfaces interface eth-rt3-1
interface-type point-to-point
hello-interval 3
dead-interval 12
authentication ospfv3-key-chain KEYCHAIN
bfd enabled true
!
interfaces interface eth-rt3-2
interface-type point-to-point
hello-interval 3
dead-interval 12
authentication ospfv3-key-chain KEYCHAIN
bfd enabled true
!
!
ospf areas area 0.0.0.1
interfaces interface lo
interfaces interface eth-rt4
interface-type point-to-point
hello-interval 3
dead-interval 12
authentication ospfv3-key-chain KEYCHAIN
bfd enabled true
!
interfaces interface eth-rt6
interface-type point-to-point
hello-interval 3
dead-interval 12
authentication ospfv3-key-chain KEYCHAIN
bfd enabled true
!
!
!
rt6:
links:
lo:
ipv4: 6.6.6.6/32
eth-rt4:
peer: [rt4, eth-rt6]
ipv4: 10.0.7.6/24
eth-rt5:
peer: [rt5, eth-rt6]
ipv4: 10.0.8.6/24
frr:
zebra:
holod:
config: |
interfaces interface lo
type iana-if-type:ethernetCsmacd
ipv4
ipv6
!
interfaces interface eth-rt4
type iana-if-type:ethernetCsmacd
ipv4
ipv6
!
interfaces interface eth-rt5
type iana-if-type:ethernetCsmacd
ipv4
ipv6
!
!
key-chains key-chain KEYCHAIN
!
key 1
crypto-algorithm ietf-key-chain:hmac-sha-256
key-string keystring HOLO
lifetime send-accept-lifetime start-date-time 2022-01-01T01:00:00.0-03:00
lifetime send-accept-lifetime end-date-time 2023-01-01T01:00:00.0-03:00
!
!
key 2
crypto-algorithm ietf-key-chain:hmac-sha-256
key-string hexadecimal-string 01:02:03:04
lifetime send-accept-lifetime start-date-time 2023-01-01T01:00:00.0-03:00
lifetime send-accept-lifetime end-date-time 2025-01-01T01:00:00.0-03:00
!
!
!
routing segment-routing sr-mpls srgb srgb 16000 23999
!
routing segment-routing sr-mpls bindings connected-prefix-sid-map connected-prefix-sid 6.6.6.6/32 ietf-segment-routing-common:prefix-sid-algorithm-shortest-path
start-sid 60
last-hop-behavior no-php
!
routing control-plane-protocols control-plane-protocol ietf-ospf:ospfv3 main
ospf explicit-router-id 6.6.6.6
ospf address-family ipv4
ospf extended-lsa-support true
ospf segment-routing enabled true
!
ospf areas area 0.0.0.1
interfaces interface lo
interfaces interface eth-rt4
interface-type point-to-point
hello-interval 3
dead-interval 12
authentication ospfv3-key-chain KEYCHAIN
bfd enabled true
!
interfaces interface eth-rt5
interface-type point-to-point
hello-interval 3
dead-interval 12
authentication ospfv3-key-chain KEYCHAIN
bfd enabled true
!
!
!
switches:
sw1:
links:
sw1-rt1:
peer: [rt1, rt1-sw1]
sw1-rt2:
peer: [rt2, rt2-sw1]
sw1-rt3:
peer: [rt3, rt3-sw1]
frr:
#valgrind: yes
#perf: yes
base-configs:
all: |
hostname %(node)-%(daemon)
password 1
log file %(logdir)/%(node)-%(daemon).log
no log unique-id
log commands
debug northbound callbacks
zebra: |
debug zebra event
debug zebra rib
debug zebra kernel
debug zebra packet
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment