User Tools

Site Tools


documentation:examples:ecmp

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
documentation:examples:ecmp [2020/09/21 12:23] – [VM 2 (ECMP router)] olivierdocumentation:examples:ecmp [2024/03/28 23:19] (current) – [Equal-cost multi-path routing (ECMP)] olivier
Line 1: Line 1:
 ====== Equal-cost multi-path routing (ECMP) ====== ====== Equal-cost multi-path routing (ECMP) ======
  
-This lab is testing new ECMP routing code from [[https://reviews.freebsd.org/D26449|FreeBSD's review D26449]] 
 ===== Presentation ===== ===== Presentation =====
  
Line 20: Line 19:
 ===== Static routing setup ===== ===== Static routing setup =====
  
-==== VM 1 (client) ====+==== Client ====
  
-VM1 is configured as a simple host with multiples aliases:+simple host with static routes:
  
 <code> <code>
-sysrc hostname=VM1 \+sysrc hostname=client \
   gateway_enable=NO \   gateway_enable=NO \
   ipv6_gateway_enable=NO \   ipv6_gateway_enable=NO \
-  ifconfig_igb1="inet 10.0.31.3/24" \ +  ifconfig_igb1="inet 10.0.12.1/24" \ 
-  ifconfig_igb1_alias1="inet 10.0.31.13/32"+  ifconfig_igb1_ipv6="inet6 2001:db8:12::3 prefixlen 64" \ 
-  ifconfig_igb1_alias2="inet 10.0.31.23/32"+  static_routes="LAB"
-  ifconfig_igb1_alias3="inet 10.0.31.33/32"+  route_LAB="-net 10.0.0.0/16 10.0.12.2" \ 
-  ifconfig_igb1_alias4="inet 10.0.31.43/32"+  ipv6_static_routes="LAB"
-  ifconfig_igb1_alias5="inet 10.0.31.53/32" \ +  ipv6_route_LAB="2001:db8:: -prefixlen 32 2001:db8:12::2"
-  ifconfig_igb1_ipv6="inet6 2001:db8:31::3 prefixlen 64" \ +
-  ifconfig_igb1_alias61="inet6 2001:db8:31::13 prefixlen 64" \ +
-  ifconfig_igb1_alias62="inet6 2001:db8:31::23 prefixlen 64" \ +
-  ifconfig_igb1_alias63="inet6 2001:db8:31::33 prefixlen 64" \ +
-  ifconfig_igb1_alias64="inet6 2001:db8:31::43 prefixlen 64" \ +
-  ifconfig_igb1_alias65="inet6 2001:db8:31::53 prefixlen 64" \ +
-  static_routes="LAB" \  +
-  route_LAB="-net 10.0.0.0/16 10.0.31.1" \  +
-  ipv6_static_routes="LAB" \  +
-  ipv6_route_LAB="2001:db8:: -prefixlen 32 2001:db8:31::1"+
 service hostname restart service hostname restart
 service netif restart service netif restart
Line 50: Line 39:
 </code> </code>
  
-==== VM 2 (ECMP router) ====+==== R1 (ECMP router) ====
  
-VM 2 is a router with ECMP: 2 static routes toward the same destination but using 2 different next-hop.+R1 is a router with ECMP: 2 static routes toward the same destination but using 2 different next-hop.
  
 <code> <code>
-sysrc hostname=VM2 \+ 
 +sysrc hostname=R1 \
   gateway_enable=YES \   gateway_enable=YES \
   ipv6_gateway_enable=YES \   ipv6_gateway_enable=YES \
-  ifconfig_igb0="inet 10.0.31.1/24" \  +  ifconfig_igb0="inet 10.0.12.2/24" \ 
-  ifconfig_igb1_ipv6="inet6 2001:db8:31::prefixlen 64" \ +  ifconfig_igb0_ipv6="inet6 2001:db8:12::prefixlen 64" \ 
-  ifconfig_igb1="inet 10.0.112.1/24" \ +  ifconfig_igb1="inet 10.0.231.2/24" \ 
-  ifconfig_igb1_ipv6="inet6 2001:db8:112::prefixlen 64" \ +  ifconfig_igb1_ipv6="inet6 2001:db8:231::prefixlen 64" \ 
-  ifconfig_igb2="inet 10.0.212.1/24" \ +  ifconfig_igb2="inet 10.0.232.2/24" \ 
-  ifconfig_igb1_ipv6="inet6 2001:db8:212::prefixlen 64" \+  ifconfig_igb2_ipv6="inet6 2001:db8:232::prefixlen 64" \
   static_routes="MPATH1 MPATH2" \   static_routes="MPATH1 MPATH2" \
-  route_MPATH1="-net 10.0.0.0/16 10.0.112.2" \ +  route_MPATH1="-net 10.0.0.0/16 10.0.231.3" \ 
-  route_MPATH2="-net 10.0.0.0/16 10.0.212.2" \+  route_MPATH2="-net 10.0.0.0/16 10.0.232.3" \
   ipv6_static_routes="MPATH1 MPATH2" \   ipv6_static_routes="MPATH1 MPATH2" \
-  ipv6_route_MPATH1="2001:db8:: -prefixlen 32 2001:db8:112::2" \ +  ipv6_route_MPATH1="2001:db8:: -prefixlen 32 2001:db8:231::3" \ 
-  ipv6_route_MPATH2="2001:db8:: -prefixlen 32 2001:db8:212::2"+  ipv6_route_MPATH2="2001:db8:: -prefixlen 32 2001:db8:232::3"
 service hostname restart service hostname restart
 service netif restart service netif restart
Line 79: Line 69:
  
 <code> <code>
-[root@VM2]~# netstat -rn4 | grep 10.0.0.0/16 +root@R1:~ # netstat -rn4 | grep 10.0.0.0/16 
-10.0.0.0/16        10.0.112.        UGS        igb1 +10.0.0.0/16        10.0.231.        UGS        igb1 
-10.0.0.0/16        10.0.212.        UGS        igb2+10.0.0.0/16        10.0.232.        UGS        igb2
  
-[root@VM2]~# route -n get 10.0.0.0/16 +root@R1:~ # netstat -4onW
-   route to10.0.0.0 +
-destination: 10.0.0.0 +
-       mask: 255.255.0.0 +
-    gateway: 10.0.112.2 +
-        fib: 0 +
-  interface: igb1 +
-      flags: <UP,GATEWAY,DONE,STATIC> +
- recvpipe  sendpipe  ssthresh  rtt,msec    mtu        weight    expire +
-                                    1500                 0 +
- +
-[root@VM2]~# netstat -4onW+
 Nexthop data Nexthop data
  
 Internet: Internet:
 Idx   Type         IFA                Gateway             Flags      Use Mtu         Netif     Addrif Refcnt Prepend Idx   Type         IFA                Gateway             Flags      Use Mtu         Netif     Addrif Refcnt Prepend
-1       v4/resolve 127.0.0.1          lo0/resolve        HS            0  16384        lo0               1 +1       v4/resolve 127.0.0.1          lo0/resolve        H             0  16384        lo0               2 
-2       v4/resolve 10.0.31.         igb0/resolve                       1500       igb0               1 +2       v4/resolve 10.0.12.         igb0/resolve                       1500       igb0               2 
-3       v4/resolve 127.0.0.1          lo0/resolve        HS            0  16384        lo0      igb0     1 +3       v4/resolve 127.0.0.1          lo0/resolve        HS            0  16384        lo0      igb0     2 
-4       v4/resolve 10.0.112.        igb1/resolve                       1500       igb1               1 +4       v4/resolve 10.0.231.        igb1/resolve                       1500       igb1               2 
-5       v4/resolve 127.0.0.1          lo0/resolve        HS            0  16384        lo0      igb1     1 +5       v4/resolve 127.0.0.1          lo0/resolve        HS            0  16384        lo0      igb1     2 
-6       v4/resolve 10.0.212.        igb2/resolve                       1500       igb2               1 +6       v4/resolve 10.0.232.        igb2/resolve                       1500       igb2               2 
-7       v4/resolve 127.0.0.1          lo0/resolve        HS            0  16384        lo0      igb2     1 +7       v4/resolve 127.0.0.1          lo0/resolve        HS            0  16384        lo0      igb2     2 
-8            v4/gw 10.0.112.        10.0.112.        GS            0   1500       igb1               1 +8            v4/gw 10.0.231.        10.0.231.        GS            0   1500       igb1               1 
-9            v4/gw 10.0.212.        10.0.212.        GS            0   1500       igb2               1 +9            v4/gw 10.0.232.        10.0.232.        GS            0   1500       igb2               1
-           +
-[root@VM2]~# route -n6 get 2001:db8::/32 +
-    route to: 2001:db8:: +
-destination: 2001:db8:: +
-       mask: ffff:ffff:: +
-    gateway: 2001:db8:212::+
-        fib: 0 +
-  interface: igb1 +
-      flags: <UP,GATEWAY,DONE,STATIC> +
- recvpipe  sendpipe  ssthresh  rtt,msec    mtu        weight    expire +
-                                    1500                 0+
  
-[root@VM2]~# netstat -6onW+root@R1:~ # netstat -6onW
 Nexthop data Nexthop data
  
 Internet6: Internet6:
 Idx   Type         IFA                           Gateway                        Flags      Use Mtu       Netif   Addrif Refcnt Prepend Idx   Type         IFA                           Gateway                        Flags      Use Mtu       Netif   Addrif Refcnt Prepend
-1       v6/resolve ::1                           lo0/resolve                   H             0  16384      lo0             1 +1       v6/resolve ::1                           lo0/resolve                   HS            0  16384      lo0             2 
-2       v6/resolve fe80::1%lo0                   lo0/resolve                   HS            0  16384      lo0             1 +2       v6/resolve fe80::1%lo0                   lo0/resolve                   HS            0  16384      lo0             2 
-3       v6/resolve fe80::1%lo0                   lo0/resolve                                  16384      lo0             1 +3       v6/resolve fe80::1%lo0                   lo0/resolve                                  16384      lo0             2 
-4       v6/resolve ::1                           lo0/resolve                   HS            0  16384      lo0    igb0     1 +4       v6/resolve ::1                           lo0/resolve                   HS            0  16384      lo0    igb0     3 
-5       v6/resolve fe80::20d:b9ff:fe45:79e4%igb0 igb0/resolve                                0   1500     igb0             1 +5       v6/resolve fe80::20d:b9ff:fe41:ca3c%igb0 igb0/resolve                                0   1500     igb0             3 
-6       v6/resolve ::1                           lo0/resolve                   HS            0  16384      lo0    igb1     2 +6       v6/resolve ::1                           lo0/resolve                   HS            0  16384      lo0    igb1     3 
-7       v6/resolve fe80::20d:b9ff:fe45:79e5%igb1 igb1/resolve                                0   1500     igb1             1 +7       v6/resolve fe80::20d:b9ff:fe41:ca3d%igb1 igb1/resolve                                0   1500     igb1             3 
-8       v6/resolve ::1                           lo0/resolve                   HS            0  16384      lo0    igb2     1 +8       v6/resolve ::1                           lo0/resolve                   HS            0  16384      lo0    igb2     3 
-9       v6/resolve fe80::20d:b9ff:fe45:79e6%igb2 igb2/resolve                                0   1500     igb2             1 +9       v6/resolve fe80::20d:b9ff:fe41:ca3e%igb2 igb2/resolve                                0   1500     igb2             3 
-10           v6/gw ::1                           ::                          GRS            16384      lo0             4 +10           v6/gw ::1                           ::                          GRS            16384      lo0             5 
-11      v6/resolve 2001:db8:212::              igb1/resolve                                0   1500     igb1             1 +11           v6/gw 2001:db8:231::              2001:db8:231::              GS            0   1500     igb1             1 
-12           v6/gw 2001:db8:212::              2001:db8:212::              GS            0   1500     igb1             1+12           v6/gw 2001:db8:232::              2001:db8:232::              GS            0   1500     igb2             1
 </code> </code>
 +==== R2 (ECMP router) ====
  
- +R2 is like R1, a router with ECMP: 2 static routing toward the same destination but using 2 different next-hop..
-==== VM 5 (ECMP router) ==== +
- +
-VM 5 is like VM 2, a router with ECMP: 2 static routing toward the same destination but using 2 different next-hop..+
  
 <code> <code>
-sysrc hostname=VM5 +sysrc hostname=R2 \ 
-  ifconfig_igb0="inet 10.0.24.2/24" \ +  gateway_enable=YES \ 
-  ifconfig_igb1_ipv6="inet6 2001:db8:24::prefixlen 64" \ +  ipv6_gateway_enable=YES 
-  ifconfig_igb1="inet 10.0.112.2/24" \ +  ifconfig_igb0="inet 10.0.34.3/24" \ 
-  ifconfig_igb1_ipv6="inet6 2001:db8:112::prefixlen 64" \ +  ifconfig_igb0_ipv6="inet6 2001:db8:34::prefixlen 64" \ 
-  ifconfig_igb2="inet 10.0.212.2/24" \ +  ifconfig_igb1="inet 10.0.231.3/24" \ 
-  ifconfig_igb1_ipv6="inet6 2001:db8:212::prefixlen 64" \ +  ifconfig_igb1_ipv6="inet6 2001:db8:231::prefixlen 64" \ 
-  static_routes="MPATH1 MPATH2" \ +  ifconfig_igb2="inet 10.0.232.3/24" \ 
-  route_MPATH1="-net 10.0.0.0/16 10.0.112.1" \ +  ifconfig_igb2_ipv6="inet6 2001:db8:232::prefixlen 64" \ 
-  route_MPATH2="-net 10.0.0.0/16 10.0.212.1" \ +  static_routes="DST1 DST2 SRC1 SRC2" \ 
-  ipv6_static_routes="MPATH1 MPATH2" \ +  route_DST1="-net 10.0.0.0/16 10.0.231.4" \ 
-  ipv6_route_MPATH1="2001:db8:: -prefixlen 32 2001:db8:112::1" \ +  route_DST2="-net 10.0.0.0/16 10.0.232.4" \ 
-  ipv6_route_MPATH2="2001:db8:: -prefixlen 32 2001:db8:212::1"+  route_SRC1="-net 10.0.12.0/24 10.0.231.2"
 +  route_SRC2="-net 10.0.12.0/24 10.0.232.2" \ 
 +  ipv6_static_routes="DST1 DST2 SRC1 SRC2" \ 
 +  ipv6_route_MPATH1="2001:db8:: -prefixlen 32 2001:db8:231::4" \ 
 +  ipv6_route_MPATH2="2001:db8:: -prefixlen 32 2001:db8:231::4" \ 
 +  ipv6_route_SRC1="2001:db8:12:: -prefixlen 64 2001:db8:231::2"
 +  ipv6_route_SRC2="2001:db8:12:: -prefixlen 64 2001:db8:231::2"
 service hostname restart service hostname restart
 service netif restart service netif restart
Line 163: Line 135:
 config save config save
 </code> </code>
 +==== Server ====
  
-==== VM 6 (server) ==== +simple host with some static routes:
- +
-VM 6, like VM 1 is configured as a simple host with multiple aliases:+
  
 <code> <code>
-sysrc hostname=VM6 +sysrc hostname=server 
- gateway_enable=NO \ +  gateway_enable=NO \ 
- ipv6_gateway_enable=NO \ +  ipv6_gateway_enable=NO \ 
- ifconfig_vtnet4="inet 10.0.56.6/24" \ +  ifconfig_igb1="inet 10.0.34.4/24" \ 
- ifconfig_vtnet4_alias1="inet 10.0.56.16/32" \ +  ifconfig_igb1_ipv6="inet6 2001:db8:34::4 prefixlen 64" \ 
- ifconfig_vtnet4_alias2="inet 10.0.56.26/32" \ +  static_routes="12 231 232" \ 
- ifconfig_vtnet4_alias3="inet 10.0.56.36/32" \ +  route_12="-net 10.0.12.0/24 10.0.34.3" \ 
- ifconfig_vtnet4_alias4="inet 10.0.56.46/32" \ +  route_231="-net 10.0.231.0/24 10.0.34.3" \ 
- ifconfig_vtnet4_alias5="inet 10.0.56.56/32" \ +  route_232="-net 10.0.232.0/24 10.0.34.3" \ 
- ifconfig_vtnet4_ipv6="inet6 2001:db8:56::6 prefixlen 64" \ +  ipv6_static_routes="12 231 232" \ 
- ifconfig_vtnet4_alias61="inet6 2001:db8:56::16 prefixlen 64" \ +  ipv6_route_12="2001:db8:12:: -prefixlen 64 2001:db8:34::3" \ 
- ifconfig_vtnet4_alias62="inet6 2001:db8:56::26 prefixlen 64" \ +  ipv6_route_231="2001:db8:231:: -prefixlen 64 2001:db8:34::3" \ 
- ifconfig_vtnet4_alias63="inet6 2001:db8:56::36 prefixlen 64" \ +  ipv6_route_232="2001:db8:232:: -prefixlen 64 2001:db8:34::3"
- ifconfig_vtnet4_alias64="inet6 2001:db8:56::46 prefixlen 64" \ +
- ifconfig_vtnet4_alias65="inet6 2001:db8:56::56 prefixlen 64" \ +
- defaultrouter="10.0.56.5"+
- ipv6_defaultrouter="2001:db8:56::5"+
 service hostname restart service hostname restart
 service netif restart service netif restart
Line 192: Line 159:
 </code> </code>
  
-==== Testing Load balancing ====+===== FRR Multipath setup ===== 
 + 
 +Replacing static routes by FRR (OSPF) compiled with MULTIPATH option. 
 + 
 +==== R1 (ECMP router) ==== 
 + 
 +In place of static routes, OSPF with FRR is used:
  
-Flows from the client to the server should be "flow-id shared" between the 2 paths. Let's check using multiple sources and destination IP addresses. 
-Using ping record feature like with this example: 
 <code> <code>
-[root@VM1]~# ping -c1 --10.0.12.21 10.0.56.26 +sysrc frr_vtysh_boot="YES"
-PING 10.0.56.26 (10.0.56.26) from 10.0.12.2156 data bytes +  frr_enable="YES"
-64 bytes from 10.0.56.26: icmp_seq=ttl=61 time=0.455 ms +  frr_daemons="zebra ospfd ospf6d"
-RR:     10.0.24.2 +  watchfrr_flags=" --r /usr/sbin/servicebBfrrbBrestartbB%s -s /usr/sbin/servicebBfrrbBstartbB%s -k /usr/sbin/servicebBfrrbBstopbB%s -b bB -t 30 zebra ospfd ospf6d"
-        10.0.45.4 +  watchfrr_enable="YES" 
-        10.0.56.5 + 
-        10.0.56.26 +cat > /usr/local/etc/frr/frr.conf <EOF 
-        10.0.45.5 +frr version 8.4.1 
-        10.0.24.4 +frr defaults traditional 
-        10.0.12.2 +hostname R1 
-        10.0.12.21+
 +interface igb0 
 + ip ospf passive 
 + ipv6 ospf6 area 0.0.0.0 
 + ipv6 ospf6 passive 
 +exit 
 +
 +interface igb1 
 + ipv6 ospf6 area 0.0.0.0 
 +exit 
 +
 +interface igb2 
 + ipv6 ospf6 area 0.0.0.0 
 +exit 
 +
 +router ospf 
 + ospf router-id 1.1.1.1 
 + network 10.0.12.0/24 area 0 
 + network 10.0.231.0/24 area 0 
 + network 10.0.232.0/24 area 0 
 +exit 
 +
 +router ospf6 
 +exit 
 +
 +EOF 
 +service frr start 
 +service watchfrr start 
 +</code> 
 + 
 +==== R2 (ECMP router) ==== 
 + 
 +Same as R1 with OSPF and FRR: 
 +<code> 
 +sysrc frr_vtysh_boot="YES"
 +  frr_enable="YES"
 +  frr_daemons="zebra staticd ospfd ospf6d"
 +  watchfrr_flags=" -d -r /usr/sbin/servicebBfrrbBrestartbB%s -s /usr/sbin/servicebBfrrbBstartbB%s -k /usr/sbin/servicebBfrrbBstopbB%s -b bB -t 30 zebra ospfd ospf6d"
 +  watchfrr_enable="YES" 
 + 
 +cat > /usr/local/etc/frr/frr.conf <EOF 
 +frr version 8.4.1 
 +frr defaults traditional 
 +hostname R2 
 +
 +ip route 10.0.0.0/16 10.0.34.
 +ipv6 route 2001:db8::/32 2001:db8:231::4 
 +
 +interface igb0 
 + ip ospf passive 
 + ipv6 ospf6 area 0.0.0.0 
 + ipv6 ospf6 passive 
 +exit 
 +
 +interface igb1 
 + ipv6 ospf6 area 0.0.0.0 
 +exit 
 +
 +interface igb2 
 + ipv6 ospf6 area 0.0.0.0 
 +exit 
 +
 +router ospf 
 + ospf router-id 2.2.2.2 
 + redistribute static 
 + network 10.0.34.0/24 area 0 
 + network 10.0.231.0/24 area 0 
 + network 10.0.232.0/24 area 0 
 +exit 
 +
 +router ospf6 
 + redistribute static 
 +exit 
 +
 +EOF 
 +service frr start 
 +service watchfrr start 
 +</code> 
 + 
 +==== Checking routes installed ==== 
 + 
 +On R1: 
 +<code> 
 +root@R1:~ # vtysh 
 +Hello, this is FRRouting (version 8.4.1). 
 +Copyright 1996-2005 Kunihiro Ishiguro, et al. 
 + 
 +R1# sh ip route 10.0.0.0 
 +Routing entry for 10.0.0.0/16 
 +  Known via "ospf", distance 110, metric 20, best 
 +  Last update 00:02:26 ago 
 +  10.0.231.3, via igb1, weight 1 
 +  10.0.232.3, via igb2, weight 1 
 + 
 +R1# sh ipv6 route 2001:db8:: 
 +Routing entry for 2001:db8::/32 
 +  Known via "ospf6", distance 110, metric 20, best 
 +  Last update 00:02:39 ago 
 +  * fe80::20d:b9ff:fe45:7ad5, via igb1, weight 1 
 +  * fe80::20d:b9ff:fe45:7ad6, via igb2, weight 1 
 +</code> 
 + 
 +===== Test Load balancing IP packets ===== 
 + 
 +Flows from the client to the server should be "flow-id shared" between the 2 paths. Let's check using multiple sources and destination IP addresses using pkt-gen on client and server, then using systat on R1 and R2 to check their load-distribution. 
 + 
 +On server: 
 +<code> 
 +root@server:~ # pkt-gen -i igb1 -f rx 
 +</code> 
 + 
 +On client: 
 +<code> 
 +root@client:~ # pkt-gen -i igb1 -f tx -n 8000000 -l 60 -d 10.0.255.1:2000-10.0.255.254 -D 00:0d:b9:41:ca:3c -s 10.0.254.1:2000-10.0.254.254 -S 00:0d:b9:45:7f:b0 -w 4 -R 20000 
 +</code> 
 + 
 +On R1: 
 +<code> 
 +systat -ifstat -match igb0,igb1,igb2 -pps 
 + 
 +                    /0   /  /  /3   /  /  /  /  /  /  /10 
 +     Load Average   | 
 + 
 +      Interface           Traffic               Peak                Total 
 +           igb2  in      0.000 Kp/s          0.000 Kp/s           71.247 Mp 
 +                 out     9.762 Kp/s          9.777 Kp/s           76.892 Mp 
 + 
 +           igb1  in      0.000 Kp/s          0.000 Kp/s           71.392 Mp 
 +                 out     9.770 Kp/s          9.771 Kp/s           80.341 Mp 
 + 
 +           igb0  in     19.533 Kp/s         19.534 Kp/s           90.007 Mp 
 +                 out     0.000 Kp/s          0.000 Kp/s            0.243 Kp 
 +                  
 +</code> 
 + 
 +=> We confirm that 20 Kps entering igb0 and are equally split by exiting by igb1 and igb2 
 + 
 +On R2: 
 +<code> 
 +systat -ifstat -match igb0,igb1,igb2 -pps 
 + 
 +                    /0   /  /  /  /  /  /  /  /  /  /10 
 +     Load Average   | 
 + 
 +      Interface           Traffic               Peak                Total 
 +           igb2  in      9.768 Kp/s          9.771 Kp/s          300.830 Kp 
 +                 out     0.000 Kp/s          0.000 Kp/s            0.000 Kp 
 + 
 +           igb1  in      9.763 Kp/s          9.768 Kp/s          300.785 Kp 
 +                 out     0.000 Kp/s          0.000 Kp/s            0.006 Kp
  
---- 10.0.56.26 ping statistics --- +           igb0  in      0.000 Kp/s          0.001 Kp/s            0.240 Kp 
-1 packets transmitted, 1 packets received, 0.0% packet loss +                 out    19.530 Kp/s         19.531 Kp/s          601.615 Kp
-round-trip min/avg/max/stddev = 0.455/0.455/0.455/0.000 ms+
 </code> </code>
  
-^ Source ^ Destination ^ Ongoing path selected by VM2 ^ Returning path selected by VM5^ +=> R2 has no choice than receiving packets from igb1 and igb2, and forwarding them through igb0.
-| 10.0.12.1 | 10.0.35.5 | VM3 | VM4 | +
-| 10.0.12.1 | 10.0.45.5 | VM4 | VM4 | +
-| 10.0.12.1 | 10.0.56.6 | VM4 | VM4 | +
-| 10.0.12.11 | 10.0.56.16 | VM4 | VM4 | +
-| 10.0.12.21 | 10.0.56.26 | VM4 | VM4 | +
-| 10.0.12.31 | 10.0.56.36 | VM4 | VM4 | +
-| 10.0.12.41 | 10.0.56.46 | VM4 | VM4 | +
-| 10.0.12.51 | 10.0.56.56 | VM4 | VM4 | +
-| 2001:db8:12::1 | 2001:db8:56::6 | VM4 | VM4 | +
-| 2001:db8:12::11 | 2001:db8:56::16 | VM4 | VM4 | +
-| 2001:db8:12::21 | 2001:db8:56::26 | VM4 | VM4 | +
-| 2001:db8:12::31 | 2001:db8:56::36 | VM4 | VM4 | +
-| 2001:db8:12::41 | 2001:db8:56::46 | VM4 | VM4 | +
-| 2001:db8:12::51 | 2001:db8:56::56 | VM4 | VM4 |+
  
documentation/examples/ecmp.1600683826.txt.gz · Last modified: 2020/09/21 12:23 by olivier

Except where otherwise noted, content on this wiki is licensed under the following license: BSD 2-Clause
Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki