Hi Steelblue,
If the Eth-Trunk is used as the heartbeat interface, you must run the load-balance packet-all command on the Eth-Trunk to set the load balancing mode to per-packet load balancing.
Why do you need to configure this command?
First, you need to know that the Eth-Trunk has two load balancing modes:
l Per-flow load balancing: Packets are load balanced based on the source and destination IP addresses of packets. For example, the first packet of the flow from 1.1.1.1 to 2.2.2.2 is sent from interface A. Then follow-up packets are also sent from interface A. The configuration command is load-balance ip (in V500R001, the command is load-balance src-dst-ip). By default, the device uses per-flow load balancing.
l Per-packet load balancing: All packets are load-balanced. For example, the Eth-Trunk member interfaces are interfaces A and B. The first packet is sent from interface A, the second from interface B, the third from interface A, the fourth from interface B, and the others follow the same rule.
Heartbeat packets are transmitted between heartbeat interfaces, and the source and destination addresses are fixed.
l Source address: IP address of the heartbeat interface
l Destination address: If parameter remote is not specified when the heartbeat interfaces are configured, heartbeat packets are VRRP packets, and the destination address is the multicast address 224.0.0.18. If parameter remote and the remote heartbeat interface address are specified when the heartbeat interfaces are configured, the heartbeat packets are encapsulated into unicast UDP packets, and the destination address is the remote heart interface address.
If the Eth-Trunk uses per-flow load balancing, packets are always sent from the same physical interface because the source and destination IP addresses of the heartbeat packets are fixed. In this case, the traffic is not balanced between multiple physical interfaces.
Hope this helps you.