# El grafo de seis nodos del capítulo, hecho red: cada nodo es un router y cada
# arista es un enlace cuyo costo de OSPF es el peso del grafo.
#
#        3       2        7
#     a ---- b ----- d ------ f
#      \     |     / |       /
#       \1   |4  5/  |1    /2
#        \   |  /    |   /
#         \  | /     |  /
#           c ------ e
#               5
name: w05-six
mgmt:
  network: redes-w05-six
  ipv4-subnet: 172.90.5.0/26
  ipv6-subnet: 3fff:172:90:5::/80
topology:
  defaults:
    kind: linux
    image: redes-router
    # Sin ruta por defecto de gestión: lo que un router no sabe a dónde mandar debe
    # fallar, no irse por Docker. Sin IPv6 para que no aparezca ruido en las capturas.
    exec:
      - ip route del default
      - ip -6 route del default
      - sysctl -w net.ipv6.conf.all.disable_ipv6=1
  nodes:
    a:
      binds: [a/frr.conf:/etc/frr/frr.conf:ro]
    b:
      binds: [b/frr.conf:/etc/frr/frr.conf:ro]
    c:
      binds: [c/frr.conf:/etc/frr/frr.conf:ro]
    d:
      binds: [d/frr.conf:/etc/frr/frr.conf:ro]
    e:
      binds: [e/frr.conf:/etc/frr/frr.conf:ro]
    f:
      binds: [f/frr.conf:/etc/frr/frr.conf:ro]
  # Containerlab usa MTU 9500 por defecto; aquí queremos el valor de Ethernet.
  links:
    - endpoints: ["a:eth1", "b:eth1"]
      mtu: 1500
    - endpoints: ["a:eth2", "c:eth1"]
      mtu: 1500
    - endpoints: ["b:eth2", "c:eth2"]
      mtu: 1500
    - endpoints: ["b:eth3", "d:eth1"]
      mtu: 1500
    - endpoints: ["c:eth3", "d:eth2"]
      mtu: 1500
    - endpoints: ["c:eth4", "e:eth1"]
      mtu: 1500
    - endpoints: ["d:eth3", "e:eth2"]
      mtu: 1500
    - endpoints: ["d:eth4", "f:eth1"]
      mtu: 1500
    - endpoints: ["e:eth3", "f:eth2"]
      mtu: 1500
