Skip to content

Instantly share code, notes, and snippets.

@rwestphal
Created June 19, 2019 16:20
Show Gist options
  • Save rwestphal/532566e2ce004e3f397aa53cb68d17de to your computer and use it in GitHub Desktop.
Save rwestphal/532566e2ce004e3f397aa53cb68d17de to your computer and use it in GitHub Desktop.
#
# +-------+ +-------+
# | | | |
# | CE1 | | CE2 |
# | | | |
# +---+---+ +---+---+
# |fd00:10:0::1/64 fd00:10:0::2/64|
# | |
# | |
# | |
# | |
# +---+---+ +-------+ +-------+ +---+---+
# | | | | | | | |
# | R11 +-------------+ R12 +-------------+ R13 +-------------+ R14 |
# | | | | | | | |
# +---+---+ +--+-+--+ +--+-+--+ +---+---+
# | | | | | |
# | | | | | |
# +---------+ +--------+ +--------+ +--------+ +--------+ +---------+
# | | | | | |
# | | | | | |
# +--+-+--+ +--+-+--+ +--+-+--+
# | | | | | |
# | R21 +-------------+ R22 +-------------+ R23 |
# | | | | | |
# +--+-+--+ +--+-+--+ +--+-+--+
# | | | | | |
# | | | | | |
# +---------+ +--------+ +--------+ +--------+ +--------+ +---------+
# | | | | | |
# | | | | | |
# +---+---+ +--+-+--+ +--+-+--+ +---+---+
# | | | | | | | |
# | R31 +-------------+ R32 +-------------+ R33 +-------------+ R34 |
# | | | | | | | |
# +---+---+ +-------+ +-------+ +---+---+
# | |
# | |
# | |
# | |
# |fd00:10:0::3/64 fd00:10:0::4/64|
# +---+---+ +---+---+
# | | | |
# | CE3 | | CE4 |
# | | | |
# +-------+ +-------+
#
---
routers:
ce1:
links:
eth-rt11:
peer: [rt11, eth-ce1]
ipv6: fd00:10:0::1/64
frr:
zebra:
config: |
ce2:
links:
eth-rt11:
peer: [rt14, eth-ce2]
ipv6: fd00:10:0::2/64
frr:
zebra:
config: |
ce3:
links:
eth-rt31:
peer: [rt31, eth-ce3]
ipv6: fd00:10:0::3/64
frr:
zebra:
config: |
ce4:
links:
eth-rt34:
peer: [rt34, eth-ce4]
ipv6: fd00:10:0::4/64
frr:
zebra:
config: |
rt11:
links:
vrf-RED:
type: vrf
table: 10
lo:
ipv4: 10.0.0.11/32
ipv6: 5000::11/128
mpls: yes
eth-ce1:
vrf: vrf-RED
peer: [ce1, eth-rt11]
ipv6: fd00:10:0::11/64
eth-rt12:
peer: [rt12, eth-rt11]
mpls: yes
eth-rt21:
peer: [rt21, eth-rt11]
mpls: yes
br0:
mpw-rt14:
mpw-rt31:
mpw-rt34:
frr:
zebra:
config: |
isisd:
config: |
interface lo
ipv6 router isis 1
!
interface eth-rt12
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
interface eth-rt21
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
router isis 1
net 49.0000.0000.0000.0011.00
is-type level-1
topology ipv6-unicast
segment-routing on
segment-routing global-block 16000 23999
segment-routing node-msd 8
segment-routing prefix 5000::11/128 index 11 no-php-flag
!
ldpd:
config: |
mpls ldp
router-id 10.0.0.11
!
address-family ipv6
discovery transport-address 5000::11
ttl-security disable
!
!
!
l2vpn CUST_A type vpls
bridge br0
member interface eth-ce1
!
member pseudowire mpw-rt14
neighbor lsr-id 10.0.0.14
neighbor address 5000::14
pw-id 100
!
member pseudowire mpw-rt31
neighbor lsr-id 10.0.0.31
neighbor address 5000::31
pw-id 100
!
member pseudowire mpw-rt34
neighbor lsr-id 10.0.0.34
neighbor address 5000::34
pw-id 100
!
!
rt12:
links:
lo:
ipv4: 10.0.0.12/32
ipv6: 5000::12/128
mpls: yes
eth-rt11:
peer: [rt11, eth-rt12]
mpls: yes
eth-rt13:
peer: [rt13, eth-rt12]
mpls: yes
eth-rt21:
peer: [rt21, eth-rt12]
mpls: yes
eth-rt22:
peer: [rt22, eth-rt12]
mpls: yes
frr:
zebra:
config: |
isisd:
config: |
interface lo
ipv6 router isis 1
!
interface eth-rt11
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
interface eth-rt13
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
interface eth-rt21
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
interface eth-rt22
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
router isis 1
net 49.0000.0000.0000.0012.00
is-type level-1
topology ipv6-unicast
segment-routing on
segment-routing global-block 16000 23999
segment-routing node-msd 8
segment-routing prefix 5000::12/128 index 12 no-php-flag
!
rt13:
links:
lo:
ipv4: 10.0.0.13/32
ipv6: 5000::13/128
mpls: yes
eth-rt12:
peer: [rt12, eth-rt13]
mpls: yes
eth-rt14:
peer: [rt14, eth-rt13]
mpls: yes
eth-rt22:
peer: [rt22, eth-rt13]
mpls: yes
eth-rt23:
peer: [rt23, eth-rt13]
mpls: yes
frr:
zebra:
config: |
isisd:
config: |
interface lo
ipv6 router isis 1
!
interface eth-rt12
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
interface eth-rt14
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
interface eth-rt22
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
interface eth-rt23
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
router isis 1
net 49.0000.0000.0000.0013.00
is-type level-1
topology ipv6-unicast
segment-routing on
segment-routing global-block 16000 23999
segment-routing node-msd 8
segment-routing prefix 5000::13/128 index 13 no-php-flag
!
rt14:
links:
vrf-RED:
type: vrf
table: 10
lo:
ipv4: 10.0.0.14/32
ipv6: 5000::14/128
mpls: yes
eth-ce2:
vrf: vrf-RED
peer: [ce2, eth-rt14]
ipv6: fd00:20:0::14/64
eth-rt13:
peer: [rt13, eth-rt14]
mpls: yes
eth-rt23:
peer: [rt23, eth-rt14]
mpls: yes
br0:
mpw-rt11:
mpw-rt31:
mpw-rt34:
frr:
zebra:
config: |
isisd:
config: |
interface lo
ipv6 router isis 1
!
interface eth-rt13
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
interface eth-rt23
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
router isis 1
net 49.0000.0000.0000.0014.00
is-type level-1
topology ipv6-unicast
segment-routing on
segment-routing global-block 16000 23999
segment-routing node-msd 8
segment-routing prefix 5000::14/128 index 14 no-php-flag
!
ldpd:
config: |
mpls ldp
router-id 10.0.0.14
!
address-family ipv6
discovery transport-address 5000::14
ttl-security disable
!
!
!
l2vpn CUST_A type vpls
bridge br0
member interface eth-ce1
!
member pseudowire mpw-rt14
neighbor lsr-id 10.0.0.11
neighbor address 5000::11
pw-id 100
!
member pseudowire mpw-rt31
neighbor lsr-id 10.0.0.31
neighbor address 5000::31
pw-id 100
!
member pseudowire mpw-rt34
neighbor lsr-id 10.0.0.34
neighbor address 5000::34
pw-id 100
!
!
rt21:
links:
lo:
ipv4: 10.0.0.21/32
ipv6: 5000::21/128
mpls: yes
eth-rt11:
peer: [rt11, eth-rt21]
mpls: yes
eth-rt12:
peer: [rt12, eth-rt21]
mpls: yes
eth-rt22:
peer: [rt22, eth-rt21]
mpls: yes
eth-rt31:
peer: [rt31, eth-rt21]
mpls: yes
eth-rt32:
peer: [rt32, eth-rt21]
mpls: yes
frr:
zebra:
config: |
isisd:
config: |
interface lo
ipv6 router isis 1
!
interface eth-rt11
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
interface eth-rt12
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
interface eth-rt22
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
interface eth-rt31
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
interface eth-rt32
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
router isis 1
net 49.0000.0000.0000.0021.00
is-type level-1
topology ipv6-unicast
segment-routing on
segment-routing global-block 16000 23999
segment-routing node-msd 8
segment-routing prefix 5000::21/128 index 21 no-php-flag
!
rt22:
links:
lo:
ipv4: 10.0.0.22/32
ipv6: 5000::22/128
mpls: yes
eth-rt12:
peer: [rt12, eth-rt22]
mpls: yes
eth-rt13:
peer: [rt13, eth-rt22]
mpls: yes
eth-rt21:
peer: [rt21, eth-rt22]
mpls: yes
eth-rt23:
peer: [rt23, eth-rt22]
mpls: yes
eth-rt32:
peer: [rt32, eth-rt22]
mpls: yes
eth-rt33:
peer: [rt33, eth-rt22]
mpls: yes
frr:
zebra:
config: |
isisd:
config: |
interface lo
ipv6 router isis 1
!
interface eth-rt12
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
interface eth-rt13
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
interface eth-rt21
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
interface eth-rt23
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
interface eth-rt32
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
interface eth-rt33
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
router isis 1
net 49.0000.0000.0000.0022.00
is-type level-1
topology ipv6-unicast
segment-routing on
segment-routing global-block 16000 23999
segment-routing node-msd 8
segment-routing prefix 5000::22/128 index 22 no-php-flag
!
rt23:
links:
lo:
ipv4: 10.0.0.23/32
ipv6: 5000::23/128
mpls: yes
eth-rt13:
peer: [rt13, eth-rt23]
mpls: yes
eth-rt14:
peer: [rt14, eth-rt23]
mpls: yes
eth-rt22:
peer: [rt22, eth-rt23]
mpls: yes
eth-rt33:
peer: [rt33, eth-rt23]
mpls: yes
eth-rt34:
peer: [rt34, eth-rt23]
mpls: yes
frr:
zebra:
config: |
isisd:
config: |
interface lo
ipv6 router isis 1
!
interface eth-rt13
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
interface eth-rt14
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
interface eth-rt22
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
interface eth-rt33
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
interface eth-rt34
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
router isis 1
net 49.0000.0000.0000.0023.00
is-type level-1
topology ipv6-unicast
segment-routing on
segment-routing global-block 16000 23999
segment-routing node-msd 8
segment-routing prefix 5000::23/128 index 23 no-php-flag
!
rt31:
links:
vrf-RED:
type: vrf
table: 10
lo:
ipv4: 10.0.0.31/32
ipv6: 5000::31/128
mpls: yes
eth-ce3:
vrf: vrf-RED
peer: [ce3, eth-rt31]
ipv6: fd00:30:0::31/64
eth-rt21:
peer: [rt21, eth-rt31]
mpls: yes
eth-rt32:
peer: [rt32, eth-rt31]
mpls: yes
br0:
mpw-rt11:
mpw-rt14:
mpw-rt34:
frr:
zebra:
config: |
isisd:
config: |
interface lo
ipv6 router isis 1
!
interface eth-rt21
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
interface eth-rt32
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
router isis 1
net 49.0000.0000.0000.0031.00
is-type level-1
topology ipv6-unicast
segment-routing on
segment-routing global-block 16000 23999
segment-routing node-msd 8
segment-routing prefix 5000::31/128 index 31 no-php-flag
!
ldpd:
config: |
mpls ldp
router-id 10.0.0.31
!
address-family ipv6
discovery transport-address 5000::31
ttl-security disable
!
!
!
l2vpn CUST_A type vpls
bridge br0
member interface eth-ce1
!
member pseudowire mpw-rt11
neighbor lsr-id 10.0.0.11
neighbor address 5000::11
pw-id 100
!
member pseudowire mpw-rt14
neighbor lsr-id 10.0.0.14
neighbor address 5000::14
pw-id 100
!
member pseudowire mpw-rt34
neighbor lsr-id 10.0.0.34
neighbor address 5000::34
pw-id 100
!
!
rt32:
links:
lo:
ipv4: 10.0.0.32/32
ipv6: 5000::32/128
mpls: yes
eth-rt21:
peer: [rt21, eth-rt32]
mpls: yes
eth-rt22:
peer: [rt22, eth-rt32]
mpls: yes
eth-rt31:
peer: [rt31, eth-rt32]
mpls: yes
eth-rt33:
peer: [rt33, eth-rt32]
mpls: yes
frr:
zebra:
config: |
isisd:
config: |
interface lo
ipv6 router isis 1
!
interface eth-rt21
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
interface eth-rt22
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
interface eth-rt31
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
interface eth-rt33
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
router isis 1
net 49.0000.0000.0000.0032.00
is-type level-1
topology ipv6-unicast
segment-routing on
segment-routing global-block 16000 23999
segment-routing node-msd 8
segment-routing prefix 5000::32/128 index 32 no-php-flag
!
rt33:
links:
lo:
ipv4: 10.0.0.33/32
ipv6: 5000::33/128
mpls: yes
eth-rt22:
peer: [rt22, eth-rt33]
mpls: yes
eth-rt23:
peer: [rt23, eth-rt33]
mpls: yes
eth-rt32:
peer: [rt32, eth-rt33]
mpls: yes
eth-rt34:
peer: [rt34, eth-rt33]
mpls: yes
frr:
zebra:
config: |
isisd:
config: |
interface lo
ipv6 router isis 1
!
interface eth-rt22
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
interface eth-rt23
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
interface eth-rt32
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
interface eth-rt34
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
router isis 1
net 49.0000.0000.0000.0033.00
is-type level-1
topology ipv6-unicast
segment-routing on
segment-routing global-block 16000 23999
segment-routing node-msd 8
segment-routing prefix 5000::33/128 index 33 no-php-flag
!
rt34:
links:
vrf-RED:
type: vrf
table: 10
lo:
ipv4: 10.0.0.34/32
ipv6: 5000::34/128
mpls: yes
eth-ce4:
vrf: vrf-RED
peer: [ce4, eth-rt34]
ipv6: fd00:40:0::34/64
eth-rt23:
peer: [rt23, eth-rt34]
mpls: yes
eth-rt33:
peer: [rt33, eth-rt34]
mpls: yes
br0:
mpw-rt11:
mpw-rt14:
mpw-rt31:
frr:
zebra:
config: |
isisd:
config: |
interface lo
ipv6 router isis 1
!
interface eth-rt23
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
interface eth-rt33
ipv6 router isis 1
isis network point-to-point
isis hello-interval 3
!
router isis 1
net 49.0000.0000.0000.0034.00
is-type level-1
topology ipv6-unicast
segment-routing on
segment-routing global-block 16000 23999
segment-routing node-msd 8
segment-routing prefix 5000::34/128 index 34 no-php-flag
!
ldpd:
config: |
mpls ldp
router-id 10.0.0.34
!
address-family ipv6
discovery transport-address 5000::34
ttl-security disable
!
!
!
l2vpn CUST_A type vpls
bridge br0
member interface eth-ce1
!
member pseudowire mpw-rt11
neighbor lsr-id 10.0.0.11
neighbor address 5000::11
pw-id 100
!
member pseudowire mpw-rt14
neighbor lsr-id 10.0.0.14
neighbor address 5000::14
pw-id 100
!
member pseudowire mpw-rt31
neighbor lsr-id 10.0.0.31
neighbor address 5000::31
pw-id 100
!
!
switches:
frr:
base-configs:
all: |
hostname %(node)-%(daemon)
password 1
log file %(logdir)/%(node)-%(daemon).log
log commands
zebra: |
debug zebra kernel
debug zebra packet
isisd: |
debug isis events
debug isis route-events
debug isis spf-events
debug isis sr-events
debug isis lsp-gen
ldpd: |
debug mpls ldp zebra
debug mpls ldp event
debug mpls ldp errors
debug mpls ldp messages recv
debug mpls ldp messages sent
debug mpls ldp discovery hello recv
debug mpls ldp discovery hello sent
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment