# Dos clientes y un servidor, separados por un router. Es la red de la Sesión A: sirve para
# ver la demultiplexación y para medir un protocolo real de stop-and-wait.
#
#    h1 ---\
#           r --- srv        los datos de una transferencia van de srv hacia h1
#    h2 ---/
name: w09-par
mgmt:
  network: redes-w09-par
  ipv4-subnet: 172.90.9.0/26
  ipv6-subnet: 3fff:172:90:9::/80
topology:
  defaults:
    kind: linux
    image: redes-router
    binds: [..:/w09]
  nodes:
    r:
      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.209.21.1/24 dev eth1
        - ip addr add 10.209.22.1/24 dev eth2
        - ip addr add 10.209.23.1/24 dev eth3
    h1:
      exec:
        - ip route del default
        - sysctl -w net.ipv6.conf.all.disable_ipv6=1
        - ip addr add 10.209.21.10/24 dev eth1
        - ip route add default via 10.209.21.1
    h2:
      exec:
        - ip route del default
        - sysctl -w net.ipv6.conf.all.disable_ipv6=1
        - ip addr add 10.209.22.10/24 dev eth1
        - ip route add default via 10.209.22.1
    srv:
      exec:
        - ip route del default
        - sysctl -w net.ipv6.conf.all.disable_ipv6=1
        - ip addr add 10.209.23.10/24 dev eth1
        - ip route add default via 10.209.23.1
  # Containerlab usa MTU 9500 por defecto; aquí queremos el valor de Ethernet.
  links:
    - {endpoints: ["h1:eth1", "r:eth1"], mtu: 1500}
    - {endpoints: ["h2:eth1", "r:eth2"], mtu: 1500}
    - {endpoints: ["srv:eth1", "r:eth3"], mtu: 1500}
