No relevant resource is found in the selected language.

This site uses cookies. By continuing to browse the site you are agreeing to our use of cookies. Read our privacy policy>

Reminder

To have a better experience, please upgrade your IE browser.

upgrade

ECMP load-balancing on NE5000E in case of CR56LPUI100C and CR56LPUF100B boards

Publication Date:  2013-10-31 Views:  67 Downloads:  0
Issue Description
Customer uses two NE5000E
SW is V8R3C00SPC700
And the NE5000E is PE role.
Each NE has 7 interfaces which are involved into ECMP load-balancing.
And the traffic in NE5000E is out of PE device. It means the packet will pop the lebel then go native IP forward.
ECMP evenly load-balances traffic over multiple equal-cost paths to a single destination, irrespective of bandwidth. This results in congestion on some paths with lower bandwidth. ECMP is automatically supported by routing protocols, without being configured.

After installing LPUI-100 and LPUF-100 boards, there was unbalacing occured. Some interface had more traffic then another ones.  
Handling Process
1. Checked interface load

 

<SPB-P-NE5000E-1>dis int b m

GigabitEthernet5/1/1(10G)   up    up         16%  8.43%        717          0

GigabitEthernet8/0/0(10G)   up    up         15%  8.38%        130          0

GigabitEthernet8/1/0(10G)   up    up         15%  8.92%        948          0

GigabitEthernet9/0/1(10G)   up    up         16%    71%        135          0

GigabitEthernet9/1/0(10G)   up    up         15%  8.10%         26          0

GigabitEthernet11/1/0(10G)  up    up         15%  8.26%         67          0


2. Checked routing table


<SPB-P-NE5000E-1>dis ip rou 10.222.253.41

Route Flags: R - relay, D - download for forwarding

------------------------------------------------------------------------------

Routing Table : _public_

Summary Count : 1

 

Destination/Mask    Proto  Pre  Cost        Flags NextHop         Interface

 

 10.222.253.41/32  ISIS   15   90            D  10.222.241.70   GigabitEthernet5/1/1

                    ISIS   15   90            D  10.222.241.150  GigabitEthernet9/0/1

                    ISIS   15   90            D  10.222.241.146  GigabitEthernet9/1/0

                    ISIS   15   90            D  10.222.241.26   GigabitEthernet9/1/1

                    ISIS   15   90            D  10.222.241.17   GigabitEthernet8/0/0

                    ISIS   15   90            D  10.222.241.122  GigabitEthernet8/1/0

                    ISIS   15   90            D  10.222.241.46   GigabitEthernet11/1/0

 

 

<SPB-P-NE5000E-2>dis ip rou 10.222.253.41

Route Flags: R - relay, D - download for forwarding

------------------------------------------------------------------------------

Routing Table : _public_

Summary Count : 1

 

Destination/Mask    Proto  Pre  Cost        Flags NextHop         Interface

 

  10.222.253.41/32  ISIS   15   90            D  10.222.241.34   GigabitEthernet5/1/1

                    ISIS   15   90            D  10.222.241.30   GigabitEthernet12/1/1

                    ISIS   15   90            D  10.222.241.114  GigabitEthernet9/0/1

                    ISIS   15   90            D  10.222.241.38   GigabitEthernet9/1/1

                    ISIS   15   90            D  10.222.241.5    GigabitEthernet7/0/0

                    ISIS   15   90            D  10.222.241.42   GigabitEthernet11/0/1

                    ISIS   15   90            D  10.222.241.21   GigabitEthernet8/0/0


<SPB-P-NE5000E-2>dis mpls lsp outgoing-interface GigabitEthernet 9/1/1 | i 10.222.253.41

-------------------------------------------------------------------------------

                 LSP Information: LDP LSP

-------------------------------------------------------------------------------

FEC                In/Out Label    In/Out IF                      Vrf Name

10.222.253.41/32   NULL/3          -/GE9/1/1

10.222.253.41/32   6031/3          -/GE9/1/1

 

Because it is PE roules, so the packet come into the device with one label that is private label.
If we use per instance per label, the different traffic in same VPN-instance will have the same private label. In the sence of the ECMP in NE5000E, it will use private lebel for the hash key by default.So the traffic with the same label will go to the same port.It looks like unload-balance.   

 

 

<SPB-P-NE5000E-2>dis ip routing-table 10.222.253.41 verbose

Route Flags: R - relay, D - download for forwarding

------------------------------------------------------------------------------

Routing Table : _public_

Summary Count : 1

 

Destination: 10.222.253.41/32

     Protocol: ISIS            Process ID: 1

   Preference: 15                    Cost: 90

      NextHop: 10.222.241.34    Neighbour: 0.0.0.0

        State: Active Adv             Age: 18h04m03s

          Tag: 0                 Priority: medium

        Label: NULL               QoSInfo: 0x0

   IndirectID: 0x2B0002A7

 RelayNextHop: 0.0.0.0          Interface: GigabitEthernet5/1/1

     TunnelID: 0x0                  Flags: D

 

Destination: 10.222.253.41/32

     Protocol: ISIS            Process ID: 1

   Preference: 15                    Cost: 90

      NextHop: 10.222.241.30    Neighbour: 0.0.0.0

        State: Active Adv             Age: 18h04m03s

          Tag: 0                 Priority: medium

        Label: NULL               QoSInfo: 0x0

   IndirectID: 0x2B0002A7

 RelayNextHop: 0.0.0.0          Interface: GigabitEthernet12/1/1

     TunnelID: 0x0                  Flags: D

 

Destination: 10.222.253.41/32

     Protocol: ISIS            Process ID: 1

   Preference: 15                    Cost: 90

      NextHop: 10.222.241.114   Neighbour: 0.0.0.0

        State: Active Adv             Age: 18h04m03s

          Tag: 0                 Priority: medium

        Label: NULL               QoSInfo: 0x0

   IndirectID: 0x2B0002A7

 RelayNextHop: 0.0.0.0          Interface: GigabitEthernet9/0/1

     TunnelID: 0x0                  Flags: D

 

Destination: 10.222.253.41/32

     Protocol: ISIS            Process ID: 1

   Preference: 15                    Cost: 90

      NextHop: 10.222.241.38    Neighbour: 0.0.0.0

        State: Active Adv             Age: 18h04m03s

          Tag: 0                 Priority: medium

        Label: NULL               QoSInfo: 0x0

   IndirectID: 0x2B0002A7

 RelayNextHop: 0.0.0.0          Interface: GigabitEthernet9/1/1

     TunnelID: 0x0                  Flags: D

 

Destination: 10.222.253.41/32

     Protocol: ISIS            Process ID: 1

   Preference: 15                    Cost: 90

      NextHop: 10.222.241.5     Neighbour: 0.0.0.0

        State: Active Adv             Age: 18h04m03s

          Tag: 0                 Priority: medium

        Label: NULL               QoSInfo: 0x0

   IndirectID: 0x2B0002A7

 RelayNextHop: 0.0.0.0          Interface: GigabitEthernet7/0/0

     TunnelID: 0x0                  Flags: D

 

Destination: 10.222.253.41/32

     Protocol: ISIS            Process ID: 1

   Preference: 15                    Cost: 90

      NextHop: 10.222.241.42    Neighbour: 0.0.0.0

        State: Active Adv             Age: 18h04m03s

          Tag: 0                 Priority: medium

        Label: NULL               QoSInfo: 0x0

   IndirectID: 0x2B0002A7

 RelayNextHop: 0.0.0.0          Interface: GigabitEthernet11/0/1

     TunnelID: 0x0                  Flags: D

 

Destination: 10.222.253.41/32

     Protocol: ISIS            Process ID: 1

   Preference: 15                    Cost: 90

      NextHop: 10.222.241.21    Neighbour: 0.0.0.0

        State: Active Adv             Age: 18h04m03s

          Tag: 0                 Priority: medium

        Label: NULL               QoSInfo: 0x0

   IndirectID: 0x2B0002A7

 RelayNextHop: 0.0.0.0          Interface: GigabitEthernet8/0/0

     TunnelID: 0x0                  Flags: D



As you can see, route's cost is equal on all interfaces. But some interface has much more traffic then another ones

Root Cause
By default, label is configured as the hash factor an interface board uses to perform hash calculation to load balance MPLS traffic per flow.
In that case, the same label will hash to the same interface, if the traffic for one label is large,traffic will hash to one interface,the traffic of this interface will larger than the others ones.

Solution
Change hash factor to payload-header by the following commands:


slot XX

load-balance hash-fields mpls payload-header


XX- mens the LPUI-100 and LPUF-100 slots id



Check interface load:


GigabitEthernet5/1/1(10G)   up    up         16%  18%        717          0

GigabitEthernet8/0/0(10G)   up    up         15%  19%        130          0

GigabitEthernet8/1/0(10G)   up    up         15%  18%        948          0

GigabitEthernet9/0/1(10G)   up    up         16%  18%        135          0

GigabitEthernet9/1/0(10G)   up    up         15%  19%         26          0

GigabitEthernet11/1/0(10G)  up    up         15%  20%         67          0

Suggestions
Do not commend to use default hash mode usually
Hash calculating perfomes only upstream boards. 

END