Interface Cost
This feature adds multiple extensions to various objects and rules, increasing the flexibility of how SD-WAN can be set up.
The cost parameter is added for SD-WAN members, to support assigning a cost value to each interface. It can be used in SLA mode rules to select the lowest cost link from the links that otherwise satisfy the SLA. The lowest possible cost for a link is 0. If the costs are the same, the Interface preference order is used to select a link.
Interface selection based on quality now balances across all matching links that satisfy the quality SLA. Traffic can also be restricted to a specific subset of interfaces.
To configure interface cost:
config system virtual-wan-link
config members
edit 1
set cost 10
next
edit 2
set cost 5
next
... ...
end
end
Example
In this example:
- The SD-WAN has four members:
- Member 1 and member 2 can satisfy the SLA and are selected as candidates.
- Member 3 and member 4 are slower and cannot satisfy the SLA.
- The
costparameter only applies to candidates, even though the interface cost of members 3 and 4 are lower than that of members 1 and 2.
The ISP of member 1 is more expensive, so the its cost is set higher than the member 2 cost. Consequently, member 2, with the lower cost, is the first choice. If the cost parameters for all of the members were not set, or were all set to the same value, the selection would be the highest priority member that satisfies the SLA.
To configure the SD-WAN:
config system virtual-wan-link
set status enable
set load-balance-mode usage-based
config members
edit 1
set interface "port13"
set gateway 10.100.1.1
set cost 10
next
edit 2
set interface "port12"
set cost 5
next
edit 3
set interface "agg1"
set gateway 172.16.203.2
set cost 1
next
edit 4
set interface "vlan200"
set gateway 172.16.216.2
set cost 1
next
end
config health-check
edit "ping"
set server "10.100.2.22"
set threshold-warning-latency 2
set threshold-alert-latency 5
set members 2 1 3 4
config sla
edit 1
set link-cost-factor latency
next
edit 2
set link-cost-factor latency
set latency-threshold 4
next
end
next
end
config service
edit 2
set name "google-dns"
set mode sla
set src "all"
set internet-service enable
set internet-service-id 65539
config sla
edit "ping"
set id 2
next
end
set priority-members 3 4 1 2
next
end
end
To check the link status and sequence:
diagnose sys virtual-wan-link health-check <<<<<<<< check link status, pay attention to state(alive or dead) and the link quality
Health Check(ping):
Seq(2): state(alive), packet-loss(0.000%) latency(0.244), jitter(0.028) sla_map=0x2
Seq(1): state(alive), packet-loss(0.000%) latency(0.697), jitter(0.094) sla_map=0x2
Seq(3): state(alive), packet-loss(0.000%) latency(21.835), jitter(1.159) sla_map=0x0
Seq(4): state(alive), packet-loss(3.333%) latency(21.975), jitter(1.271) sla_map=0x0
diagnose sys virtual-wan-link service <<<<<<<< check link sequence and pay attention to "sla(0x)" value
Service(2): Address Mode(IPV4) flags=0x0
TOS(0x0/0x0), Protocol(0: 1->65535), Mode(sla)
Members:
1: Seq_num(2), alive, sla(0x1),cfg_order(3), selected
2: Seq_num(1), alive, sla(0x1),cfg_order(2), selected
3: Seq_num(3), alive, sla(0x0),cfg_order(0), selected
4: Seq_num(4), alive, sla(0x0),cfg_order(1), selected
Internet Service: Google-DNS(65539)
Src address: 0.0.0.0-255.255.255.255