Let us know what you think.

Do you have time for a two-minute survey?

# Multipath Forwarding in a Virtual Chassis Fabric

In a VCF, unicast packet forwarding is based on the Dijkstra Shortest Path First (SPF) algorithm. All shortest path routes from any switch to any other switch across the fabric are utilized.

Multiple equal cost paths are used to carry unicast traffic from any switch in a VCF to any other switch in the same VCF. The transmitting switch in a VCF sprays packets across the VCF based on the bandwidth ratio of the end-to-end path bandwidths.

The VCF traffic management algorithm allocates weights across paths to avoid traffic congestions while transmitting traffic. The weights are based on the bandwidth available for each path across the VCF.

The SPF algorithm used in VCF is enhanced to record the minimum bandwidth—also known as the bottleneck bandwidth—of each path across the VCF. The path’s minimum bandwidth is then allocated to related next-hop links according to their link bandwidth. In this setup, each switch independently calculates its multipath weight to other switches and configures its own traffic spraying ratios. The overall traffic distribution is achieved on a hop-by-hop basis.

Figure 1 illustrates this multipath forwarding scheme.

Figure 1: Multipath Bandwidth Allocation Example

In Figure 1, switch 1 is a leaf device transmitting traffic, switches 2 and 3 are spine devices, and switches 4 and 5 are receiving traffic from switch 1.

For the first multipath topology in Figure 1, the packets traveling from switch 1 to switch 5 have 2 shortest paths, with path bandwidths of 40-Gbps and 20-Gbps as listed in Table 1. When transmitting packets destined to switch 5, switch 1 allocates weights to the two paths based on the end-to-end path bandwidth ratio of 2:1, so that traffic from switch 1 to switch 5 is transmitted twice as often through the 1 → 2 → 5 path as it is through the 1 → 3 → 5 path. For traffic destined to switch 4 from switch 1, switch 1 has the same two next-hop end-to-end path bandwidth ratios to forward the packets, but switch 1 transmits twice the number of flows through switch 3 as opposed to switch 2, as listed in Table 1.

Table 1: Virtual Chassis Fabric Bandwidth Allocation Example

Node 1

Description

Path Bandwidth

1 → 5

1 → 2 → 5

40 Gbps

1 → 2

67%

1 → 3 → 5

20 Gbps

1 → 3

33%

1 → 4

1 → 2 → 4

20 Gbps

1 → 2

33%

1 → 3 → 4

40 Gbps

1 → 3

67%

This example illustrates that the link bandwidth used in downstream connections impacts bandwidth distribution on upstream links. For example, if the downstream links are connected as in the second illustration of Figure 1, the end-to-end bandwidth ratio for the next hop links are inverted. This behavior of using the end-to-end bandwidth ratio is in contrast to traditional practices of allocating path weight based on the next-hop link bandwidth only. The link weight ratios for flows that are destined to switch 4 and switch 5 are different, which is in contrast to using a single ratio for traffic exiting at different nodes.

The capability of allocating link weights based on end-to-end path bandwidth and the capability of differentiating traffic according to its final egress nodes are referred to as smart trunking. VCF’s smart trunking can, in most cases, allow better utilization of fabric bandwidth and reduce unnecessary congestions because of improper allocation of traffic flows inside the VCF.