One comprehensive
system: a processor (600a, 600b, 600c) and a non-transitory storage medium (608a, 608b, 608c) that stores instructions (610a, 610b, 610c) which, when executed on the processor, cause the
system to: determines that a network
traffic load of a first
branch gateway, BG, (104a, 604a) of a local network, LAN, (102) is different from a network
traffic load of a second BG (104b, 604b) of the LAN; determines that a first network
traffic load skew between the first BG and the second BG is greater than a first threshold; selects a first virtual
local area network, VLAN, from a set of VLANs (114a, 114b, 114c, 114d) of the LAN, setting up a first
virtual router for the first VLAN and a second
virtual router for a second VLAN from the set of VLANs, with network traffic from
client devices of the first VLAN, sent to the first
virtual router, being routed through the first BG, based on the first BG being a master BG for the first VLAN according to a configuration of the first virtual
router; and sends a reconfiguration message to at least one of the first BG and the second BG, which changes the configuration of the first virtual
router set up for the first VLAN, whereby by changing the configuration of the first virtual
router the second BG is reassigned as the master BG for the first VLAN, whereby after the change in the configuration of the first virtual router the network traffic from
client devices of the first VLAN is henceforth routed via the second BG.