ONTAP Hardware

Why does the activity of LACP is not balance?


Hi Everyone , 

 Just want to ask why is that the input of lacp packets is not balance for 2 ports? and what can we do to solve the issue? 



default: transmit 'IP Load balancing', Ifgrp Type 'multi_mode', fail 'log'

lif1: 2 links, transmit 'IP Load balancing', Ifgrp Type 'lacp' fail 'default'

         Ifgrp Status   Up      Addr_set


        e0b: state up, since 09Apr2015 12:45:37 (02:10:16)

                mediatype: auto-1000t-fd-up

                flags: enabled

                active aggr, aggr port: e0a

                input packets 701473, input bytes 302470990

                input lacp packets 12663, output lacp packets 212566

                output packets 754728, output bytes 1067802842

                up indications 10, broken indications 7

                drops (if) 0, drops (link) 1

                indication: up at 09Apr2015 12:45:37

                        consecutive 0, transitions 17

        e0a: state up, since 02Apr2015 21:51:27 (6+17:04:26)

                mediatype: auto-1000t-fd-up

                flags: enabled

                active aggr, aggr port: e0a

                input packets 1330436934, input bytes 139326254469

                input lacp packets 19331, output lacp packets 19293

                output packets 998858144, output bytes 2890679595869

                up indications 2, broken indications 0

                drops (if) 0, drops (link) 0

                indication: up at 02Apr2015 21:51:27

                        consecutive 0, transitions 2





The following are the common causes for misconfigured port channel groups:

The network switch is not configured correctly.
The cables from the storage controller NICs are connected to the wrong network switch ports.
The wrong ports are specified in the ifgrp configuration on the storage controller.
Cabling or hardware issue and/or bad Ethernet cable or switch port/module.

You can refer below kb article which discuss about troubleshooting of LACP port channel


You can also refer  Technical Report TR-3802 for best practices on the configuration of LACP port channel groups




If this post resolved your issue, help others by selecting ACCEPT AS SOLUTION or adding a KUDO.


Thanks for the reply. Base from the logs the state of the 2 ports are UP and  input/output LACP packets are incrementing. I just want to know why is that its not balance and i want to know why it is happening. Did i missed a configuration on the NetApp side or the switch side?


input lacp packets 12663, output lacp packets 212566


input lacp packets 19331, output lacp packets 19293



Input load balancing is performed by your LAN equipment (switches); filer had absolutely no influence on it.



thanks for the reply! how can you interpret the logs? So you mean to say that there is a misconfiguration on the switch side? How can I check on this?


From the Data ONTAP network management Guide, at https://library.netapp.com/ecm/ecm_download_file/ECMP1368834 page #96,


"The Data ONTAP load balancing algorithm determines the member port to be used to transmit outbound traffic, and does not control how inbound frames are received. The switch determines the member (individual physical port) of its port channel group to be used for transmission, based on the load balancing algorithm configured in the switch's port channel group. Therefore, the switch configuration determines the member port (individual physical port) of the storage system to receive traffic. For more information about configuring the switch, see the documentation from your switch vendor."


There is some confusion as to how IP and MAC based load-balancing work. 


The lacp vif in question uses an IP based load balancing, which uses an algorithm that determines a particular physical port in the ifgroup, to send packets to any given IP address at any pint in time. What that means is if you have hosts A, B, C and D talking to the storage controller, with an LACP vif comprised of e0a,e0b,e0c and e0d, chances are like, host A will always talk to e0a, host B to e0b and so on. So, if your host B is more talkative than others, e0b port will see more traffic than e0a.


Here is a very simple calculation that shows how this algorithm works.

Assume that we have a storage controller, whose e0a and e0b ports are aggregated into an LACP vif. e0a being the first port added to the vif, it gets an id 0, and e0b will have id 1.

Consider the IP of this vif is and we have 2 hosts at and

Lets take the last octet of the source IP (netapp) and destination IP (hostA) which would be 10 and 13.

Now, perform an XOR between 10 and 13 , which is 7.

Divide this number by the # of members in the Vif, (7 / 2 ) which gives result 3 with a reminder 1.

doing the same calculation for hostB : 10 XOR 14 = 4 . dividing 4 by 2 gives value 2 with reminder 0.

 In this case, host A will always talk to port with ID 1 (which is e0b), and Host B will talk to port with ID 0 (e0a). All your other hosts will be distributed between these two ports based on the source/destination IP pair, and the #of ports in the vif.


Hope that was clear. As I mentioned earlier, This example is only for explaining the concept, if you really want to know the actual algorithm please have a look at this KB article. https://kb.netapp.com/support/index?page=content&id=1014277


The only load balancing method that can give a near-true load balancing is the round robin,  (-b rr switch of ifgrp create command) However, it may cause out-of-order packet delivery and related problems.

If this post resolved your issue, help others by selecting ACCEPT AS SOLUTION or adding a KUDO.
Cannot find the answer you need? No need to open a support case - just CHAT and we’ll handle it for you.