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
Next revisionBoth sides next revision
documentation:examples:ecmp [2019/11/01 08:49] – [VM 2 (ECMP router)] olivierdocumentation:examples:ecmp [2020/02/19 10:45] – [Testing Load balancing] olivier
Line 1: Line 1:
 ====== Equal-cost multi-path routing (ECMP) ====== ====== Equal-cost multi-path routing (ECMP) ======
  
-This lab show an ECMP (feature called RADIX_MPATH on FreeBSD) routing example.+This lab is testing new ECMP routing code.
  
 ===== Presentation ===== ===== Presentation =====
Line 84: Line 84:
  
 <code> <code>
-sysrc hostname=VM1 +sysrc hostname=VM1 \ 
-sysrc gateway_enable=NO + gateway_enable=NO \ 
-sysrc ipv6_gateway_enable=NO + ipv6_gateway_enable=NO \ 
-sysrc ifconfig_vtnet0="inet 10.0.12.1/24" + ifconfig_vtnet0="inet 10.0.12.1/24" \ 
-sysrc ifconfig_vtnet0_alias1="inet 10.0.12.11/32" + ifconfig_vtnet0_alias1="inet 10.0.12.11/32" \ 
-sysrc ifconfig_vtnet0_alias2="inet 10.0.12.21/32" + ifconfig_vtnet0_alias2="inet 10.0.12.21/32" \ 
-sysrc ifconfig_vtnet0_alias3="inet 10.0.12.31/32" + ifconfig_vtnet0_alias3="inet 10.0.12.31/32" \ 
-sysrc ifconfig_vtnet0_alias4="inet 10.0.12.41/32" + ifconfig_vtnet0_alias4="inet 10.0.12.41/32" \ 
-sysrc ifconfig_vtnet0_alias5="inet 10.0.12.51/32" + ifconfig_vtnet0_alias5="inet 10.0.12.51/32" \ 
-sysrc ifconfig_vtnet0_ipv6="inet6 2001:db8:12::1 prefixlen 64" + ifconfig_vtnet0_ipv6="inet6 2001:db8:12::1 prefixlen 64" \ 
-sysrc ifconfig_vtnet0_alias61="inet6 2001:db8:12::11 prefixlen 64" + ifconfig_vtnet0_alias61="inet6 2001:db8:12::11 prefixlen 64" \ 
-sysrc ifconfig_vtnet0_alias62="inet6 2001:db8:12::21 prefixlen 64" + ifconfig_vtnet0_alias62="inet6 2001:db8:12::21 prefixlen 64" \ 
-sysrc ifconfig_vtnet0_alias63="inet6 2001:db8:12::31 prefixlen 64" + ifconfig_vtnet0_alias63="inet6 2001:db8:12::31 prefixlen 64" \ 
-sysrc ifconfig_vtnet0_alias64="inet6 2001:db8:12::41 prefixlen 64" + ifconfig_vtnet0_alias64="inet6 2001:db8:12::41 prefixlen 64" \ 
-sysrc ifconfig_vtnet0_alias65="inet6 2001:db8:12::51 prefixlen 64" + ifconfig_vtnet0_alias65="inet6 2001:db8:12::51 prefixlen 64" \ 
-sysrc defaultrouter="10.0.12.2" + defaultrouter="10.0.12.2" \ 
-sysrc ipv6_defaultrouter="2001:db8:12::2"+ ipv6_defaultrouter="2001:db8:12::2"
 service hostname restart service hostname restart
 service netif restart service netif restart
Line 110: Line 110:
  
 VM 2 is a router with ECMP: 2 static routes toward the same destination but using 2 different next-hop. VM 2 is a router with ECMP: 2 static routes toward the same destination but using 2 different next-hop.
-Need to disable fastforward by re-enabling ICMP redirect (disabled on BSDRP by default). 
  
 <code> <code>
-sysrc hostname=VM2 +sysrc hostname=VM2 \ 
-sysrc ifconfig_vtnet0="inet 10.0.12.2/24" + ifconfig_vtnet0="inet 10.0.12.2/24" \ 
-sysrc ifconfig_vtnet1="inet 10.0.23.2/24" + ifconfig_vtnet1="inet 10.0.23.2/24" \ 
-sysrc ifconfig_vtnet2="inet 10.0.24.2/24" + ifconfig_vtnet2="inet 10.0.24.2/24" \ 
-sysrc ifconfig_vtnet0_ipv6="inet6 2001:db8:12::2 prefixlen 64" + ifconfig_vtnet0_ipv6="inet6 2001:db8:12::2 prefixlen 64" \ 
-sysrc ifconfig_vtnet1_ipv6="inet6 2001:db8:23::2 prefixlen 64" + ifconfig_vtnet1_ipv6="inet6 2001:db8:23::2 prefixlen 64" \ 
-sysrc ifconfig_vtnet2_ipv6="inet6 2001:db8:24::2 prefixlen 64" + ifconfig_vtnet2_ipv6="inet6 2001:db8:24::2 prefixlen 64" \ 
-sysrc static_routes="VM3VM6 VM3VM5 VM4VM6 VM4VM5" + static_routes="VM3VM6 VM3VM5 VM4VM6 VM4VM5" \ 
-sysrc route_VM3VM6="-net 10.0.56.0/24 10.0.23.3" + route_VM3VM6="-net 10.0.56.0/24 10.0.23.3" \ 
-sysrc route_VM3VM5="-net 10.0.35.0/24 10.0.23.3" + route_VM3VM5="-net 10.0.35.0/24 10.0.23.3" \ 
-sysrc route_VM4VM6="-net 10.0.56.0/24 10.0.24.4" + route_VM4VM6="-net 10.0.56.0/24 10.0.24.4" \ 
-sysrc route_VM4VM5="-net 10.0.45.0/24 10.0.24.4" + route_VM4VM5="-net 10.0.45.0/24 10.0.24.4" \ 
-sysrc ipv6_static_routes="VM3VM6 VM3VM5 VM4VM6 VM4VM5" + ipv6_static_routes="VM3VM6 VM3VM5 VM4VM6 VM4VM5" \ 
-sysrc ipv6_route_VM3VM6="2001:db8:56:: -prefixlen 64 2001:db8:23::3" + ipv6_route_VM3VM6="2001:db8:56:: -prefixlen 64 2001:db8:23::3" \ 
-sysrc ipv6_route_VM3VM5="2001:db8:35:: -prefixlen 64 2001:db8:23::3" + ipv6_route_VM3VM5="2001:db8:35:: -prefixlen 64 2001:db8:23::3" \ 
-sysrc ipv6_route_VM4VM6="2001:db8:56:: -prefixlen 64 2001:db8:24::4" + ipv6_route_VM4VM6="2001:db8:56:: -prefixlen 64 2001:db8:24::4" \ 
-sysrc ipv6_route_VM4VM5="2001:db8:45:: -prefixlen 64 2001:db8:24::4" + ipv6_route_VM4VM5="2001:db8:45:: -prefixlen 64 2001:db8:24::4"
-sed -i '' -e '/net.inet.ip.redirect=0/d' /etc/sysctl.conf +
-sed -i '' -e '/net.inet6.ip6.redirect=0/d' /etc/sysctl.conf +
-sysctl net.inet.ip.redirect=1 +
-sysctl net.inet6.ip6.redirect=1+
 service hostname restart service hostname restart
 service netif restart service netif restart
Line 140: Line 135:
 </code> </code>
  
-And first problem using static route:+Checking static route with multiple next-hop:
  
 <code> <code>
-add net 10.0.56.0: gateway 10.0.23.3 fib +[root@VM2]~# netstat -rn4 | grep 10.0.56.0 
-add net 10.0.35.0: gateway 10.0.23.3 fib 0 +10.0.56.0/24       10.0.24.4          UGS      vtnet2 
-add net 10.0.56.0: gateway 10.0.24.4 fib 0: route already in table +10.0.56.0/24       10.0.23.3          UGS      vtnet1 
-add net 10.0.45.0: gateway 10.0.24.4 fib 0 +[root@VM2]~# route -n get 10.0.56.0/24
-add net 2001:db8:56::: gateway 2001:db8:23::fib 0 +
-add net 2001:db8:35::: gateway 2001:db8:23::3 fib 0 +
-add net 2001:db8:56::: gateway 2001:db8:24::4 fib 0: route already in table +
-add net 2001:db8:45::: gateway 2001:db8:24::4 fib 0 +
-[root@VM2]~# route get 10.0.56.0/24+
    route to: 10.0.56.0    route to: 10.0.56.0
 destination: 10.0.56.0 destination: 10.0.56.0
        mask: 255.255.255.0        mask: 255.255.255.0
-    gateway: 10.0.23.3+    gateway: 10.0.24.4
         fib: 0         fib: 0
-  interface: vtnet1+  interface: vtnet2
       flags: <UP,GATEWAY,DONE,STATIC>       flags: <UP,GATEWAY,DONE,STATIC>
  recvpipe  sendpipe  ssthresh  rtt,msec    mtu        weight    expire  recvpipe  sendpipe  ssthresh  rtt,msec    mtu        weight    expire
-                                    1500                 0+                                    1500       100         
 +[root@VM2]~# netstat -4onW 
 +Nexthop data 
 + 
 +Internet: 
 +Idx   Type         IFA                Gateway             Flags      Use Mtu         Netif     Addrif Refcnt Prepend 
 +4       v4/resolve 10.0.23.2          vtnet1/resolve                     1500     vtnet1               1 
 +6       v4/resolve 10.0.24.2          vtnet2/resolve                     1500     vtnet2               1 
 +2       v4/resolve 10.0.12.2          vtnet0/resolve                     1500     vtnet0               1 
 +1       v4/resolve 127.0.0.1          lo0/resolve        HS            6  16384        lo0               1 
 +7       v4/resolve 127.0.0.1          lo0/resolve        HS            0  16384        lo0    vtnet2     1 
 +5       v4/resolve 127.0.0.1          lo0/resolve        HS            0  16384        lo0    vtnet1     1 
 +3       v4/resolve 127.0.0.1          lo0/resolve        HS            0  16384        lo0    vtnet0     1 
 +9            v4/gw 10.0.24.2          10.0.24.4          GS            3   1500     vtnet2               2 
 +8            v4/gw 10.0.23.2          10.0.23.3          GS            0   1500     vtnet1               2 
 +Nexthop groups data 
 +BUF: 192 
 + 
 +Internet: 
 +MpIdx NHIdx Weigh Slots            Gateway Netif      Refcnt 
 +1      ---- ---- ----              ----      ----    1 
 +          9   100              10.0.24.4    vtnet2 
 +          8   100              10.0.23.3    vtnet1
 </code> </code>
 ==== VM 3 (router) ==== ==== VM 3 (router) ====
Line 167: Line 179:
  
 <code> <code>
-sysrc hostname=VM3 +sysrc hostname=VM3 \ 
-sysrc ifconfig_vtnet1="inet 10.0.23.3/24" + ifconfig_vtnet1="inet 10.0.23.3/24" \ 
-sysrc ifconfig_vtnet3="inet 10.0.35.3/24" + ifconfig_vtnet3="inet 10.0.35.3/24" \ 
-sysrc ifconfig_vtnet1_ipv6="inet6 2001:db8:23::3 prefixlen 64" + ifconfig_vtnet1_ipv6="inet6 2001:db8:23::3 prefixlen 64" \ 
-sysrc ifconfig_vtnet3_ipv6="inet6 2001:db8:35::3 prefixlen 64" + ifconfig_vtnet3_ipv6="inet6 2001:db8:35::3 prefixlen 64" \ 
-sysrc static_routes="VM6 VM1" + static_routes="VM6 VM1" \ 
-sysrc route_VM1="-net 10.0.12.0/24 10.0.23.2" + route_VM1="-net 10.0.12.0/24 10.0.23.2" \ 
-sysrc route_VM6="-net 10.0.56.0/24 10.0.35.5" + route_VM6="-net 10.0.56.0/24 10.0.35.5" \ 
-sysrc ipv6_static_routes="VM6 VM1" + ipv6_static_routes="VM6 VM1" \ 
-sysrc ipv6_route_VM1="2001:db8:12:: -prefixlen 64 2001:db8:23::2" + ipv6_route_VM1="2001:db8:12:: -prefixlen 64 2001:db8:23::2" \ 
-sysrc ipv6_route_VM6="2001:db8:56:: -prefixlen 64 2001:db8:35::5"+ ipv6_route_VM6="2001:db8:56:: -prefixlen 64 2001:db8:35::5"
 service hostname restart service hostname restart
 service netif restart service netif restart
Line 189: Line 201:
  
 <code> <code>
-sysrc hostname=VM4 +sysrc hostname=VM4 \ 
-sysrc ifconfig_vtnet1="inet 10.0.24.4/24" + ifconfig_vtnet1="inet 10.0.24.4/24" \ 
-sysrc ifconfig_vtnet3="inet 10.0.45.4/24" + ifconfig_vtnet3="inet 10.0.45.4/24" \ 
-sysrc ifconfig_vtnet1_ipv6="inet6 2001:db8:24::4 prefixlen 64" + ifconfig_vtnet1_ipv6="inet6 2001:db8:24::4 prefixlen 64" \ 
-sysrc ifconfig_vtnet3_ipv6="inet6 2001:db8:45::4 prefixlen 64" + ifconfig_vtnet3_ipv6="inet6 2001:db8:45::4 prefixlen 64" \ 
-sysrc static_routes="VM6 VM1" + static_routes="VM6 VM1" \ 
-sysrc route_VM1="-net 10.0.12.0/24 10.0.24.2" + route_VM1="-net 10.0.12.0/24 10.0.24.2" \ 
-sysrc route_VM6="-net 10.0.56.0/24 10.0.45.5" + route_VM6="-net 10.0.56.0/24 10.0.45.5" \ 
-sysrc ipv6_static_routes="VM6 VM1" + ipv6_static_routes="VM6 VM1" \ 
-sysrc ipv6_route_VM1="2001:db8:12:: -prefixlen 64 2001:db8:24::2" + ipv6_route_VM1="2001:db8:12:: -prefixlen 64 2001:db8:24::2" \ 
-sysrc ipv6_route_VM6="2001:db8:56:: -prefixlen 64 2001:db8:45::5"+ ipv6_route_VM6="2001:db8:56:: -prefixlen 64 2001:db8:45::5"
 service hostname restart service hostname restart
 service netif restart service netif restart
Line 211: Line 223:
  
 <code> <code>
-sysrc hostname=VM5 +sysrc hostname=VM5 \ 
-sysrc ifconfig_vtnet2="inet 10.0.35.5/24" + ifconfig_vtnet2="inet 10.0.35.5/24" \ 
-sysrc ifconfig_vtnet3="inet 10.0.45.5/24" + ifconfig_vtnet3="inet 10.0.45.5/24" \ 
-sysrc ifconfig_vtnet4="inet 10.0.56.5/24" + ifconfig_vtnet4="inet 10.0.56.5/24" \ 
-sysrc ifconfig_vtnet2_ipv6="inet6 2001:db8:35::5 prefixlen 64" + ifconfig_vtnet2_ipv6="inet6 2001:db8:35::5 prefixlen 64" \ 
-sysrc ifconfig_vtnet3_ipv6="inet6 2001:db8:45::5 prefixlen 64" + ifconfig_vtnet3_ipv6="inet6 2001:db8:45::5 prefixlen 64" \ 
-sysrc ifconfig_vtnet4_ipv6="inet6 2001:db8:56::5 prefixlen 64" + ifconfig_vtnet4_ipv6="inet6 2001:db8:56::5 prefixlen 64" \ 
-sysrc static_routes="VM3VM1 VM3VM2 VM4VM1 VM4VM2" + static_routes="VM3VM1 VM3VM2 VM4VM1 VM4VM2" \ 
-sysrc route_VM3VM1="-net 10.0.12.0/24 10.0.35.3" + route_VM3VM1="-net 10.0.12.0/24 10.0.35.3" \ 
-sysrc route_VM3VM2="-net 10.0.23.0/24 10.0.35.3" + route_VM3VM2="-net 10.0.23.0/24 10.0.35.3" \ 
-sysrc route_VM4VM1="-net 10.0.12.0/24 10.0.45.4" + route_VM4VM1="-net 10.0.12.0/24 10.0.45.4" \ 
-sysrc route_VM4VM2="-net 10.0.24.0/24 10.0.45.4" + route_VM4VM2="-net 10.0.24.0/24 10.0.45.4" \ 
-sysrc ipv6_static_routes="VM3VM1 VM3VM2 VM4VM1 VM4VM2" + ipv6_static_routes="VM3VM1 VM3VM2 VM4VM1 VM4VM2" \ 
-sysrc ipv6_route_VM3VM1="2001:db8:12:: -prefixlen 64 2001:db8:35::3" + ipv6_route_VM3VM1="2001:db8:12:: -prefixlen 64 2001:db8:35::3" \ 
-sysrc ipv6_route_VM3VM2="2001:db8:23:: -prefixlen 64 2001:db8:35::3" + ipv6_route_VM3VM2="2001:db8:23:: -prefixlen 64 2001:db8:35::3" \ 
-sysrc ipv6_route_VM4VM1="2001:db8:12:: -prefixlen 64 2001:db8:45::4" + ipv6_route_VM4VM1="2001:db8:12:: -prefixlen 64 2001:db8:45::4" \ 
-sysrc ipv6_route_VM4VM2="2001:db8:24:: -prefixlen 64 2001:db8:45::4" + ipv6_route_VM4VM2="2001:db8:24:: -prefixlen 64 2001:db8:45::4"
-sed -i '' -e '/net.inet.ip.redirect=0/d' /etc/sysctl.conf +
-sed -i '' -e '/net.inet6.ip6.redirect=0/d' /etc/sysctl.conf +
-sysctl net.inet.ip.redirect=1 +
-sysctl net.inet6.ip6.redirect=1+
 service hostname restart service hostname restart
 service netif restart service netif restart
Line 243: Line 251:
  
 <code> <code>
-sysrc hostname=VM6 +sysrc hostname=VM6 \ 
-sysrc gateway_enable=NO + gateway_enable=NO \ 
-sysrc ipv6_gateway_enable=NO + ipv6_gateway_enable=NO \ 
-sysrc ifconfig_vtnet4="inet 10.0.56.6/24" + ifconfig_vtnet4="inet 10.0.56.6/24" \ 
-sysrc ifconfig_vtnet4_alias1="inet 10.0.56.16/32" + ifconfig_vtnet4_alias1="inet 10.0.56.16/32" \ 
-sysrc ifconfig_vtnet4_alias2="inet 10.0.56.26/32" + ifconfig_vtnet4_alias2="inet 10.0.56.26/32" \ 
-sysrc ifconfig_vtnet4_alias3="inet 10.0.56.36/32" + ifconfig_vtnet4_alias3="inet 10.0.56.36/32" \ 
-sysrc ifconfig_vtnet4_alias4="inet 10.0.56.46/32" + ifconfig_vtnet4_alias4="inet 10.0.56.46/32" \ 
-sysrc ifconfig_vtnet4_alias5="inet 10.0.56.56/32" + ifconfig_vtnet4_alias5="inet 10.0.56.56/32" \ 
-sysrc ifconfig_vtnet4_ipv6="inet6 2001:db8:56::6 prefixlen 64" + ifconfig_vtnet4_ipv6="inet6 2001:db8:56::6 prefixlen 64" \ 
-sysrc ifconfig_vtnet4_alias61="inet6 2001:db8:56::16 prefixlen 64" + ifconfig_vtnet4_alias61="inet6 2001:db8:56::16 prefixlen 64" \ 
-sysrc ifconfig_vtnet4_alias62="inet6 2001:db8:56::26 prefixlen 64" + ifconfig_vtnet4_alias62="inet6 2001:db8:56::26 prefixlen 64" \ 
-sysrc ifconfig_vtnet4_alias63="inet6 2001:db8:56::36 prefixlen 64" + ifconfig_vtnet4_alias63="inet6 2001:db8:56::36 prefixlen 64" \ 
-sysrc ifconfig_vtnet4_alias64="inet6 2001:db8:56::46 prefixlen 64" + ifconfig_vtnet4_alias64="inet6 2001:db8:56::46 prefixlen 64" \ 
-sysrc ifconfig_vtnet4_alias65="inet6 2001:db8:56::56 prefixlen 64" + ifconfig_vtnet4_alias65="inet6 2001:db8:56::56 prefixlen 64" \ 
-sysrc defaultrouter="10.0.56.5" + defaultrouter="10.0.56.5" \ 
-sysrc ipv6_defaultrouter="2001:db8:56::5"+ ipv6_defaultrouter="2001:db8:56::5"
 service hostname restart service hostname restart
 service netif restart service netif restart
Line 268: Line 276:
 ==== Testing Load balancing ==== ==== Testing Load balancing ====
  
-Flows from VM1 to VM6 should be load-balanced by VM2 toward VM3 and VM4. Let's check using multiple sources and destination IP addresses.+Flows from VM1 to VM6 should be "flow-id shared" by VM2 toward VM3 and VM4. Let's check using multiple sources and destination IP addresses.
 Using ping record feature like with this example: Using ping record feature like with this example:
 <code> <code>
 [root@VM1]~# ping -c1 -R -S 10.0.12.21 10.0.56.26 [root@VM1]~# ping -c1 -R -S 10.0.12.21 10.0.56.26
 PING 10.0.56.26 (10.0.56.26) from 10.0.12.21: 56 data bytes PING 10.0.56.26 (10.0.56.26) from 10.0.12.21: 56 data bytes
-64 bytes from 10.0.56.26: icmp_seq=0 ttl=61 time=0.358 ms +64 bytes from 10.0.56.26: icmp_seq=0 ttl=61 time=0.455 ms 
-RR:     10.0.23.2 +RR:     10.0.24.2 
-        10.0.35.3+        10.0.45.4
         10.0.56.5         10.0.56.5
         10.0.56.26         10.0.56.26
-        10.0.35.5 +        10.0.45.5 
-        10.0.23.3+        10.0.24.4
         10.0.12.2         10.0.12.2
         10.0.12.21         10.0.12.21
Line 285: Line 293:
 --- 10.0.56.26 ping statistics --- --- 10.0.56.26 ping statistics ---
 1 packets transmitted, 1 packets received, 0.0% packet loss 1 packets transmitted, 1 packets received, 0.0% packet loss
-round-trip min/avg/max/stddev = 0.358/0.358/0.358/0.000 ms+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^ ^ Source ^ Destination ^ Ongoing path selected by VM2 ^ Returning path selected by VM5^
-| 10.0.12.1 | 10.0.56.6 | VM3 VM3 +| 10.0.12.1 | 10.0.35.5 | VM3 | VM4 | 
-| 10.0.12.11 | 10.0.56.16 | VM3 VM3 +| 10.0.12.1 | 10.0.45.5 | VM4 | VM4 | 
-| 10.0.12.21 | 10.0.56.26 | VM3 VM3 +| 10.0.12.1 | 10.0.56.6 | VM4 VM4 
-| 10.0.12.31 | 10.0.56.36 | VM3 VM3 +| 10.0.12.11 | 10.0.56.16 | VM4 VM4 
-| 10.0.12.41 | 10.0.56.46 | VM3 VM3 +| 10.0.12.21 | 10.0.56.26 | VM4 VM4 
-| 10.0.12.51 | 10.0.56.56 | VM3 VM3 +| 10.0.12.31 | 10.0.56.36 | VM4 VM4 
-| 2001:db8:12::1 | 2001:db8:56::6 | VM3 VM3 +| 10.0.12.41 | 10.0.56.46 | VM4 VM4 
-| 2001:db8:12::11 | 2001:db8:56::16 | VM3 VM3 +| 10.0.12.51 | 10.0.56.56 | VM4 VM4 
-| 2001:db8:12::21 | 2001:db8:56::26 | VM3 VM3 +| 2001:db8:12::1 | 2001:db8:56::6 | error error 
-| 2001:db8:12::31 | 2001:db8:56::36 | VM3 VM3 +| 2001:db8:12::11 | 2001:db8:56::16 | error error 
-| 2001:db8:12::41 | 2001:db8:56::46 | VM3 VM3 +| 2001:db8:12::21 | 2001:db8:56::26 | error error 
-| 2001:db8:12::51 | 2001:db8:56::56 | VM3 VM3 | +| 2001:db8:12::31 | 2001:db8:56::36 | error error 
-| 10.0.12.1 | 10.0.45.5 | VM4 | VM3 |+| 2001:db8:12::41 | 2001:db8:56::46 | error error 
 +| 2001:db8:12::51 | 2001:db8:56::56 | error error |
  
-<note>There is no flow load-balancing with RADIX MPATH since FreeBSD 11, [[https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=225792|seems broken with tryforward]], put proposed patch disable tryforward(fastforward) if RADIX_MPATH is enabled.</note> 
  
 +Notice inet6 bug: Cannot ping itself neither neighbor
 +<code>
 +[root@VM1]~# ifconfig vtnet0 inet6
 +vtnet0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
 +        options=80028<VLAN_MTU,JUMBO_MTU,LINKSTATE>
 +        inet6 fe80::5a9c:fcff:fe01:201%vtnet0 prefixlen 64 scopeid 0x1
 +        inet6 2001:db8:12::1 prefixlen 64
 +        inet6 2001:db8:12::11 prefixlen 64
 +        inet6 2001:db8:12::21 prefixlen 64
 +        inet6 2001:db8:12::31 prefixlen 64
 +        inet6 2001:db8:12::41 prefixlen 64
 +        inet6 2001:db8:12::51 prefixlen 64
 +        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
 +[root@VM1]~# ping6 -c 1 fe80::5a9c:fcff:fe01:201%vtnet0
 +PING6(56=40+8+8 bytes) fe80::5a9c:fcff:fe01:201%vtnet0 --> fe80::5a9c:fcff:fe01:201%vtnet0
 +
 +--- fe80::5a9c:fcff:fe01:201%vtnet0 ping6 statistics ---
 +1 packets transmitted, 0 packets received, 100.0% packet loss
 +[root@VM1]~# ping6 -c 12001:db8:12::2
 +ping6: illegal number of packets -- 12001:db8:12::2
 +[root@VM1]~# ping6 -c 1 2001:db8:12::2
 +PING6(56=40+8+8 bytes) 2001:db8:12::1 --> 2001:db8:12::2
 +
 +--- 2001:db8:12::2 ping6 statistics ---
 +1 packets transmitted, 0 packets received, 100.0% packet loss
 +</code>
 +
 +==== Testing Fail Over ====
 +
 +VM4 is the preferred hop, so shutdown this VM to check behavior:
 +
 +<code>
 +[root@VM4]~# shutdown -p now
 +Shutdown NOW!
 +</code>
 +
 +<code>
 +[root@VM2]~# netstat -4onW
 +Nexthop data
 +
 +Internet:
 +Idx   Type         IFA                Gateway             Flags      Use Mtu         Netif     Addrif Refcnt Prepend
 +4       v4/resolve 10.0.23.2          vtnet1/resolve                     1500     vtnet1               1
 +6       v4/resolve 10.0.24.2          vtnet2/resolve                     1500     vtnet2               1
 +2       v4/resolve 10.0.12.2          vtnet0/resolve                  11   1500     vtnet0               1
 +1       v4/resolve 127.0.0.1          lo0/resolve        HS            6  16384        lo0               1
 +7       v4/resolve 127.0.0.1          lo0/resolve        HS            0  16384        lo0    vtnet2     1
 +5       v4/resolve 127.0.0.1          lo0/resolve        HS            0  16384        lo0    vtnet1     1
 +3       v4/resolve 127.0.0.1          lo0/resolve        HS            0  16384        lo0    vtnet0     1
 +9            v4/gw 10.0.24.2          10.0.24.4          GS           10   1500     vtnet2               2
 +8            v4/gw 10.0.23.2          10.0.23.3          GS            2   1500     vtnet1               2
 +Nexthop groups data
 +BUF: 192
 +
 +Internet:
 +MpIdx NHIdx Weigh Slots            Gateway Netif      Refcnt
 +1      ---- ---- ----              ----      ----    1
 +          9   100              10.0.24.4    vtnet2
 +          8   100              10.0.23.3    vtnet1
 +</code>
 +
 +<code>
 +[root@VM1]~# ping -c1 -R -S 10.0.12.21 10.0.56.26
 +PING 10.0.56.26 (10.0.56.26) from 10.0.12.21: 56 data bytes
 +
 +--- 10.0.56.26 ping statistics ---
 +1 packets transmitted, 0 packets received, 100.0% packet loss
 +</code>
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