# Ensayo del hackathon: cuatro equipos de un solo router y dos proveedores de tránsito.
# La red trae cuatro fallas a propósito, de las que se ven en un hackathon de verdad. Diagnostíquenlas
# con tablero.py y vtysh; sus arreglos van en lab/.
#
#            t1 ------- peer ------- t2         AS 64901 y 64902
#          /  |  \                 /  |  \
#         /   |   \_____ e2 ______/   |   \
#        /    |                       |    \
#      e1     \________ e3 ___________/     e4
#                       \_______ peer ______/
#
# AS 64911 a 64914, prefijos 100.64.11.0/24 a 100.64.14.0/24. Las direcciones no chocan con las de
# ningún equipo del curso, que usan 100.(64 + X) con X desde 1.
name: w09-ensayo
mgmt:
  network: redes-w09-ensayo
  ipv4-subnet: 172.90.9.64/26
  ipv6-subnet: 3fff:172:90:9:1::/80
topology:
  defaults:
    kind: linux
    image: redes-router
  nodes:
    t1:
      binds: [t1/frr.conf:/etc/frr/frr.conf:ro]
      exec:
        - ip route del default
        - sysctl -w net.ipv6.conf.all.disable_ipv6=1
    t2:
      binds: [t2/frr.conf:/etc/frr/frr.conf:ro]
      exec:
        - ip route del default
        - sysctl -w net.ipv6.conf.all.disable_ipv6=1
    e1:
      binds: [e1/frr.conf:/etc/frr/frr.conf:ro]
      exec:
        - ip route del default
        - sysctl -w net.ipv6.conf.all.disable_ipv6=1
        - ip link add dum0 type dummy
        - ip link set dum0 up
    e2:
      binds: [e2/frr.conf:/etc/frr/frr.conf:ro]
      exec:
        - ip route del default
        - sysctl -w net.ipv6.conf.all.disable_ipv6=1
        - ip link add dum0 type dummy
        - ip link set dum0 up
    e3:
      binds: [e3/frr.conf:/etc/frr/frr.conf:ro]
      exec:
        - ip route del default
        - sysctl -w net.ipv6.conf.all.disable_ipv6=1
        - ip link add dum0 type dummy
        - ip link set dum0 up
    e4:
      binds: [e4/frr.conf:/etc/frr/frr.conf:ro]
      exec:
        - ip route del default
        - sysctl -w net.ipv6.conf.all.disable_ipv6=1
        - ip link add dum0 type dummy
        - ip link set dum0 up
  # Containerlab usa MTU 9500 por defecto; aquí queremos el valor de Ethernet.
  links:
    - {endpoints: ["t1:eth1", "t2:eth1"], mtu: 1500}
    - {endpoints: ["t1:eth2", "e1:eth1"], mtu: 1500}
    - {endpoints: ["t1:eth3", "e2:eth1"], mtu: 1500}
    - {endpoints: ["t1:eth4", "e3:eth1"], mtu: 1500}
    - {endpoints: ["t2:eth2", "e2:eth2"], mtu: 1500}
    - {endpoints: ["t2:eth3", "e3:eth2"], mtu: 1500}
    - {endpoints: ["t2:eth4", "e4:eth1"], mtu: 1500}
    - {endpoints: ["e3:eth3", "e4:eth2"], mtu: 1500}
