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
Last revisionBoth sides next revision
documentation:examples:ecmp [2020/09/21 12:23] – [VM 5 (ECMP router)] olivierdocumentation:examples:ecmp [2022/12/11 18:40] – [Checking routes installed] 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]]+This lab need a FreeBSD 13-head r366390 minimum ([[https://reviews.freebsd.org/D26449|new ECMP routing code ]])
 ===== Presentation ===== ===== Presentation =====
  
Line 20: Line 20:
 ===== 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 40:
 </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 70:
  
 <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 \
   gateway_enable=YES \   gateway_enable=YES \
   ipv6_gateway_enable=YES \   ipv6_gateway_enable=YES \
-  ifconfig_igb0="inet 10.0.24.2/24" \ +  ifconfig_igb0="inet 10.0.34.3/24" \ 
-  ifconfig_igb1_ipv6="inet6 2001:db8:24::prefixlen 64" \ +  ifconfig_igb0_ipv6="inet6 2001:db8:34::prefixlen 64" \ 
-  ifconfig_igb1="inet 10.0.112.2/24" \ +  ifconfig_igb1="inet 10.0.231.3/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.2/24" \ +  ifconfig_igb2="inet 10.0.232.3/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="DST1 DST2 SRC1 SRC2" \ 
-  route_MPATH1="-net 10.0.0.0/16 10.0.112.1" \ +  route_DST1="-net 10.0.0.0/16 10.0.231.4" \ 
-  route_MPATH2="-net 10.0.0.0/16 10.0.212.1" \ +  route_DST2="-net 10.0.0.0/16 10.0.232.4" \ 
-  ipv6_static_routes="MPATH1 MPATH2" \ +  route_SRC1="-net 10.0.12.0/24 10.0.231.2"
-  ipv6_route_MPATH1="2001:db8:: -prefixlen 32 2001:db8:112::1" \ +  route_SRC2="-net 10.0.12.0/24 10.0.232.2" \ 
-  ipv6_route_MPATH2="2001:db8:: -prefixlen 32 2001:db8:212::1"+  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 165: Line 136:
 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 194: Line 160:
 </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.txt · Last modified: 2024/03/28 23:19 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