# Dos hosts unidos por un enlace que se puede empeorar a propósito. El router m está en el
# medio para que la pérdida ocurra fuera de los hosts: así una captura en a ve el segmento
# antes de perderse, y una captura en b ve lo que de verdad llegó.
#
#     a  10.210.1.10 ---- eth1 m eth2 ---- 10.210.2.10  b
#
# La carpeta bin/ tiene los programas de la semana compilados con -static, y captures/ es
# donde quedan los .pcap, visibles también desde el contenedor del curso.
name: w10-tcp
mgmt:
  network: redes-w10-tcp
  ipv4-subnet: 172.90.10.0/26
  ipv6-subnet: 3fff:172:90:10::/64
topology:
  defaults:
    kind: linux
    image: redes-router
    binds:
      - ../bin:/w10:ro
      - ../captures:/captures
  nodes:
    a:
      exec:
        - ip route del default
        - sysctl -w net.ipv6.conf.all.disable_ipv6=1
        - ip addr add 10.210.1.10/24 dev eth1
        - ip addr add 10.210.1.20/24 dev eth1
        - ip route add default via 10.210.1.1
    b:
      exec:
        - ip route del default
        - sysctl -w net.ipv6.conf.all.disable_ipv6=1
        - ip addr add 10.210.2.10/24 dev eth1
        - ip route add default via 10.210.2.1
    m:
      exec:
        - ip route del default
        - sysctl -w net.ipv6.conf.all.disable_ipv6=1
        - sysctl -w net.ipv4.ip_forward=1
        - ip addr add 10.210.1.1/24 dev eth1
        - ip addr add 10.210.2.1/24 dev eth2
  # Containerlab usa MTU 9500 por defecto; aquí queremos el valor de Ethernet.
  links:
    - {endpoints: ["a:eth1", "m:eth1"], mtu: 1500}
    - {endpoints: ["m:eth2", "b:eth1"], mtu: 1500}
