documentation:examples:ecmp
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
documentation:examples:ecmp [2022/12/11 18:14] – [R1 (ECMP router)] olivier | documentation:examples:ecmp [2025/01/17 18:53] (current) – [R2 (ECMP router)] olivier | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Equal-cost multi-path routing (ECMP) ====== | ====== Equal-cost multi-path routing (ECMP) ====== | ||
- | This lab need a FreeBSD 13-head r366390 minimum ([[https:// | ||
===== Presentation ===== | ===== Presentation ===== | ||
Line 22: | Line 21: | ||
==== Client ==== | ==== Client ==== | ||
- | A simple host with multiples aliases: | + | A simple host with static routes: |
< | < | ||
Line 29: | Line 28: | ||
ipv6_gateway_enable=NO \ | ipv6_gateway_enable=NO \ | ||
ifconfig_igb1=" | ifconfig_igb1=" | ||
- | ifconfig_igb1_alias1=" | ||
- | ifconfig_igb1_alias2=" | ||
- | ifconfig_igb1_alias3=" | ||
- | ifconfig_igb1_alias4=" | ||
- | ifconfig_igb1_alias5=" | ||
ifconfig_igb1_ipv6=" | ifconfig_igb1_ipv6=" | ||
- | ifconfig_igb1_alias61=" | ||
- | ifconfig_igb1_alias62=" | ||
- | ifconfig_igb1_alias63=" | ||
- | ifconfig_igb1_alias64=" | ||
- | ifconfig_igb1_alias65=" | ||
- | static_routes=" | ||
route_LAB=" | route_LAB=" | ||
+ | static_routes=" | ||
ipv6_static_routes=" | ipv6_static_routes=" | ||
ipv6_route_LAB=" | ipv6_route_LAB=" | ||
Line 131: | Line 120: | ||
ifconfig_igb2=" | ifconfig_igb2=" | ||
ifconfig_igb2_ipv6=" | ifconfig_igb2_ipv6=" | ||
- | static_routes=" | + | static_routes=" |
- | | + | |
- | | + | |
- | route_SRC1=" | + | ipv6_static_routes=" |
- | route_SRC2=" | + | ipv6_route_MPATH1=" |
- | ipv6_static_routes=" | + | ipv6_route_MPATH2=" |
- | ipv6_route_MPATH1=" | + | |
- | ipv6_route_MPATH2=" | + | |
- | ipv6_route_SRC1=" | + | |
- | ipv6_route_SRC2=" | + | |
service hostname restart | service hostname restart | ||
service netif restart | service netif restart | ||
Line 148: | Line 133: | ||
==== Server ==== | ==== Server ==== | ||
- | A simple host with multiple aliases: | + | A simple host with some static routes: |
< | < | ||
Line 155: | Line 140: | ||
ipv6_gateway_enable=NO \ | ipv6_gateway_enable=NO \ | ||
ifconfig_igb1=" | ifconfig_igb1=" | ||
- | ifconfig_igb1_alias1=" | ||
- | ifconfig_igb1_alias2=" | ||
- | ifconfig_igb1_alias3=" | ||
- | ifconfig_igb1_alias4=" | ||
- | ifconfig_igb1_alias5=" | ||
ifconfig_igb1_ipv6=" | ifconfig_igb1_ipv6=" | ||
- | | + | static_routes=" |
- | ifconfig_igb1_alias62=" | + | |
- | ifconfig_igb1_alias63=" | + | ipv6_static_routes=" |
- | ifconfig_igb1_alias64=" | + | |
- | ifconfig_igb1_alias65=" | + | |
- | | + | |
- | | + | |
- | route_231=" | + | |
- | route_232=" | + | |
- | ipv6_static_routes=" | + | |
- | | + | |
- | ipv6_route_231=" | + | |
- | ipv6_route_232=" | + | |
service hostname restart | service hostname restart | ||
service netif restart | service netif restart | ||
Line 196: | Line 167: | ||
cat > / | cat > / | ||
- | frr version | + | frr version |
frr defaults traditional | frr defaults traditional | ||
hostname R1 | hostname R1 | ||
! | ! | ||
interface igb0 | interface igb0 | ||
+ | ip ospf passive | ||
+ | ipv6 ospf6 area 0.0.0.0 | ||
ipv6 ospf6 passive | 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 | router ospf | ||
ospf router-id 1.1.1.1 | ospf router-id 1.1.1.1 | ||
- | | ||
| | ||
| | ||
| | ||
+ | exit | ||
! | ! | ||
router ospf6 | router ospf6 | ||
- | | + | exit |
- | | + | |
- | | + | |
- | ! | + | |
- | line vty | + | |
! | ! | ||
EOF | EOF | ||
Line 224: | Line 202: | ||
==== R2 (ECMP router) ==== | ==== R2 (ECMP router) ==== | ||
- | In place of static routes, | + | Same as R1 with OSPF and FRR: |
< | < | ||
sysrc frr_vtysh_boot=" | sysrc frr_vtysh_boot=" | ||
frr_enable=" | frr_enable=" | ||
- | frr_daemons=" | + | frr_daemons=" |
watchfrr_flags=" | watchfrr_flags=" | ||
watchfrr_enable=" | watchfrr_enable=" | ||
cat > / | cat > / | ||
- | frr version | + | frr version |
frr defaults traditional | frr defaults traditional | ||
hostname R2 | hostname R2 | ||
+ | ! | ||
+ | ip route 10.0.0.0/16 10.0.34.4 | ||
+ | ipv6 route 2001: | ||
! | ! | ||
interface igb0 | interface igb0 | ||
+ | ip ospf passive | ||
+ | ipv6 ospf6 area 0.0.0.0 | ||
ipv6 ospf6 passive | 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 | router ospf | ||
ospf router-id 2.2.2.2 | ospf router-id 2.2.2.2 | ||
- | passive-interface igb0 | + | redistribute static |
| | ||
| | ||
| | ||
+ | exit | ||
! | ! | ||
router ospf6 | router ospf6 | ||
- | interface igb0 area 0.0.0.0 | + | redistribute static |
- | interface igb1 area 0.0.0.0 | + | exit |
- | | + | |
- | ! | + | |
- | line vty | + | |
! | ! | ||
EOF | EOF | ||
Line 263: | Line 253: | ||
On R1: | On R1: | ||
< | < | ||
- | [root@router1]~# vtysh | + | root@R1:~ # vtysh |
- | + | Hello, this is FRRouting (version | |
- | Hello, this is FRRouting (version | + | |
Copyright 1996-2005 Kunihiro Ishiguro, et al. | Copyright 1996-2005 Kunihiro Ishiguro, et al. | ||
- | router1# sh ip route 10.0.24.0/24 | + | R1# sh ip route 10.0.0.0 |
- | Routing entry for 10.0.24.0/24 | + | Routing entry for 10.0.0.0/16 |
Known via " | Known via " | ||
- | Last update 00:06:39 ago | + | Last update 00:02:26 ago |
- | * 10.0.112.2, via igb1, weight 1 | + | * 10.0.231.3, via igb1, weight 1 |
- | * 10.0.212.2, via igb2, weight 1 | + | * 10.0.232.3, via igb2, weight 1 |
- | route1# sh ipv6 route 2001:db8:24::/64 | + | R1# sh ipv6 route 2001: |
- | Routing entry for 2001:db8:24::/64 | + | Routing entry for 2001:db8::/32 |
Known via " | Known via " | ||
- | Last update 00:02:42 ago | + | Last update 00:02:39 ago |
* fe80:: | * fe80:: | ||
* fe80:: | * fe80:: | ||
- | |||
- | |||
- | router1# exit | ||
- | |||
- | [root@router1]~# | ||
- | 10.0.24.0/ | ||
- | 10.0.24.0/ | ||
- | |||
- | [root@router1]~# | ||
- | 2001: | ||
- | 2001: | ||
- | |||
</ | </ | ||
documentation/examples/ecmp.1670778883.txt.gz · Last modified: 2022/12/11 18:14 by olivier