# Dos emisores, un cuello de botella y un receptor.
#
#   s1 --\
#         r1 ==== cuello de botella ==== r2 --- rx
#   s2 --/
#
# La cola se forma en la salida de r1 hacia r2 (eth3). El retardo y la pérdida se aplican en
# la salida de r2 hacia rx (eth2). Las reglas de tc las pone bench.py link.
name: w11-dumbbell
mgmt:
  network: redes-w11
  ipv4-subnet: 172.90.11.0/26
  ipv6-subnet: 3fff:172:90:11::/64
topology:
  defaults:
    kind: linux
    image: redes-router
    binds: [..:/lab]
  nodes:
    s1:
      exec:
        - ip route del default
        - sysctl -w net.ipv6.conf.all.disable_ipv6=1
        - sysctl -w net.ipv4.tcp_no_metrics_save=1
        - ip addr add 10.211.1.10/24 dev eth1
        - ip route add default via 10.211.1.1
    s2:
      exec:
        - ip route del default
        - sysctl -w net.ipv6.conf.all.disable_ipv6=1
        - sysctl -w net.ipv4.tcp_no_metrics_save=1
        - ip addr add 10.211.2.10/24 dev eth1
        - ip route add default via 10.211.2.1
    r1:
      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.211.1.1/24 dev eth1
        - ip addr add 10.211.2.1/24 dev eth2
        - ip addr add 10.211.3.1/24 dev eth3
        - ip route add 10.211.4.0/24 via 10.211.3.2
    r2:
      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.211.3.2/24 dev eth1
        - ip addr add 10.211.4.1/24 dev eth2
        - ip route add 10.211.1.0/24 via 10.211.3.1
        - ip route add 10.211.2.0/24 via 10.211.3.1
    rx:
      exec:
        - ip route del default
        - sysctl -w net.ipv6.conf.all.disable_ipv6=1
        - ip addr add 10.211.4.10/24 dev eth1
        - ip route add default via 10.211.4.1
  links:
    - endpoints: ["s1:eth1", "r1:eth1"]
      mtu: 1500
    - endpoints: ["s2:eth1", "r1:eth2"]
      mtu: 1500
    - endpoints: ["r1:eth3", "r2:eth1"]
      mtu: 1500
    - endpoints: ["r2:eth2", "rx:eth1"]
      mtu: 1500
