S9300 ETH-TRUNK fail to load balance for MPLS packets.

Publication Date:  2013-12-13 Views:  694 Downloads:  0
Issue Description
When I configured  ETH-TRUNK link between S9300, and Carry  MPLS traffic on this virtual link ,But unfortunately , all the MPLS traffic is  passing through with the same  physical  link, it seems that load balance is working on ETH-TRUNK link.
Alarm Information
Handling Process
On S9300,we can configure load balance profile for  MPLS packets , such as , load balancing based on the top label of MPLS packets.

<Quidway> system-view
[Quidway] load-balance-profile test
[Quidway-load-balance-profile-test] mpls field top-label
[Quidway] interface Eth-Trunk 20
[Quidway-Eth-Trunk20] load-balance enhanced profile test
Root Cause
Because ETH-TRUNK distribute traffic to each physical link by hash algorithm, for IP packets it uses” IP address” key words  and for NON-IP packets it uses “MAC address”    key words. But for MPLS packets ,all the IP address information is concealed by MPLS LABEL ,so by default , this kind of packets were distributed by  hash with MAC address.

However ,we can also find that MPLS packets with the same source  MAC  and destination MAC(the source MAC  is corresponding to local VLANIF interface and destination MAC is  related to layer 3 interface of another side of ETH-TRUNK  ).
That why all the traffic pass trough ETH-TRUNK will be distributed to  the same physical  link.