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
cost
parameter 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