I'm trying to setup a load balancing environment with redundancy.
I have this situation:
R1 -> Wireless Link -> R2 -> Wireless link -> R3
R1 -> Wireless Link -> R4 -> Wireless link -> R3
So I can reach R3 with two different paths.
I'm currently using OSPF with ECMP, so I've set on all routers "10" as cost for each interface.
It works correctly and traffic is per-connection balanced.
Both wireless link have the same capacity in normal conditions, but when rain comes up, link capacity can be reduced (they're microwave links).
I would like to do routing decisions based on how much bandwidth I have on each link.
How to know the available bandwidth it's not an issue. I can use an API for that so I can create a custom script in the router if needed.
Let's say the first link (R2 to R3) is 100Mbps and the second link (R4 to R3) is 400Mbps.
I would like to balance connections as 1/4 to R2->R3 and 3/4 to R4->R3.
In R3 I can balance upload traffic doing this:
Code: Select all
/routing filters
add action=accept chain=ospf-in comment="ECMP - upload only" \
disabled=yes prefix=0.0.0.0/0 set-in-nexthop=\
R4,R4,R4,R2
But how can I do it for download traffic?
I can't understand what I have to do in R1, because there are lots of prefixes announced through R3 and it's not possible to do it statically.
Any idea?
Maybe OSPF only is not enough for this purpose... Do you think something else can help?
For example: Simple TE?
Thank you!