VPWS with FAT-PW
Load vpws.fat.pw.init.cfg
Configure a VPWS between CE1 and CE8. Enable FAT-PW so that traffic is load balanced in the core using the multiple available ECMP paths between R1 and R6.
CE1 and CE8 are already pre-configured with multiple IP addresses for testing. Configure load balancing for both SRC/DST IP.
Answer
Explanation
The FAT-PW feature (Flow-aware Transport for Pseudowires) enables proper per-flow load balancing in the MPLS core. When this feature is enabled, the router adds an additional label at the bottom of the stack that identifies a flow. The egress PE simply discards this label. Its only purpose is to force LSRs to properly keep all flows in the same ECMP path.
Without this feature, all traffic would take the same single path. This is because all traffic in the pseudowire will have the same bottom service label. When MPLS is used, P routers use the bottom label for the ECMP hash. This allows a P router to not need to inspect upper layer headers such as the L3 src/dst IP.
Negotiation of the FAT-PW feature requires LDP, because both routers must agree that they will receive a “bogus” bottom label that must be discarded.
To enable FAT-PW we must define the load balancing method, and then enable the flow-label in either one or both directions.
We can see that the flow label is negotioated in the LDP mapping message for FEC128:
We can also verify this on the CLI:
We can see that traffic sourced from CE1 now has three labels as it leaves R1. The bottom label is the flow label.
Note that this can also be enabled on IOS-XR using:
Further Reading
Nick Russo, SPv4 Guide, pg. 1582
Last updated