IBM Support

IBM WebSphere Load Balancer forwarding packet statistics

Question & Answer


Question

Why does the IBM® WebSphere® Load Balancer show a nonzero count of packets discarded or packets with errors? What packets are generated by the Load Balancer?
 

Cause

The load balancer provides commands to view the executor, cluster, port, and server report, which shows packet statistics for cluster traffic. These reports include a count of the number of packets received, forwarded, generated, discarded and in error.
An example showing the fields discussed:
dscontrol>>executor report
Executor Report:
----------------
Version level ................................. 8.5.5-18 - 20200901-002637 [WSBLD346] NT/amd64/cl
Total packets received ........................ 1,263
Packets forwarded ............................. 0
Packets generated ............................. 5
Packets discarded ............................. 50

Packets processed locally ..................... 1,263
Packets with errors ........................... 16
Connections per second ........................ 0

Answer

The load balancer's packet processing is based on the IPv4 and IPv6 protocol design. The details of the load balancer's packet statistics does not attempt to explain these protocol designs. If further understanding is required, the user is responsible for this education.
These packet statistics are maintained by the load balancer's executor.  The specific reason why a count is increased can be logged by setting the executor logmask field to include trace specifications discard or err and reviewing the operating system-specific trace output. Instructions to enable executor tracing are provided in MustGather: WebSphere® Load Balancer executor tracing.
The load balancer forwards ICMP ping requests to cluster members. If the server is defined that uses NAT forwarding, the load balancer cannot forward the ping request because the ICMP ping packet does not contain a port number that is required for NAT forwarding. The load balancer discards the request and generates an ICMP response to the client. The "number of packets generated" count increases and the number of packets discarded increases. If an ICMP ping request is made to the return address, the load balancer also discards the request and generates a response to the client.
If an ICMP error is received for a cluster and the payload indicates an address or port not defined for that cluster, the ICMP error packet is discarded. An ICMP destination unreachable error is generated and sent back to the client.
The load balancer participates in network ARP resolution (IPv4) and neighbor discovery (IPv6) to maintain an IP address and ethernet (MAC) address mapping for necessary hosts. When the load balancer receives an ARP request (or neighbor discovery request) for a cluster or return address, a response is generated with the appropriate address information, which increases the number of packets generated.
The load balancer generates ARP request packets to learn the MAC address of the high availability load balancer partner, any defined reach targets, client gateways, MAC forwarded servers, and the router defined in NAT forwarded servers.
When high availability is configured, a gratuitous ARP request and reply is sent for each cluster and return address when a takeover occurs which increases the number of packets generated. The high availability function sends a heartbeat packet to the partner load balancer every half second that increases the number of packets generated. If connection or affinity replication is defined, packets are also generated to replication this information to the backup load balancer.
If servers are defined that use the encapsulated forwarding method, the load balancer increases the packet size when the packets are encapsulated for forwarding. If the increased packet size exceeds the maximum transmit unit (MTU), load balancer generates and sends an ICMP (too large) error to the client and discards the packets. The load balancer can send the ICMP too large error back to the client only if a client gateway is defined. If a client gateway is not defined, the generated ICMP error is discarded.
When the load balancer forwards a packet, the time to live (TTL) in the packet is decremented. If the TTL expires, the load balancer discards the packet, increases the packet error count, and generates an ICMP (time exceeded) error to send to the client.
TCP protocol traffic is state driven. The start of a connection is indicated when the SYN bit is enabled in a packet. The load balancer makes the server selection to forward the packet when the start of a connection is detected. After the server is selected, an affinity or a connection record is created which provides information to forward subsequent packets to the selected server. If the load balancer receives packets that do not have the SYN flag set and there is no record for that connection, the packet cannot be forwarded and is discarded. When a high availability takeover occurs, if record replication is not configured, all the connections the load balancer is forwarding are broken and each packet received on these connections is discarded. Clients must start new connections for the packets to be successfully forwarded.
The staletimeout setting defines the time that the load balancer retains connection information when there is no traffic on the connection.  Any inactive connections are removed after the staletimeout period expires. If the load balancer receives packets for that connection after connection expiration, the packets are discarded.
When NAT forwarding is configured, when the number of active connections exceeds the number of ephemeral ports available, the packets are discarded.
If no servers are available to forward a packet, the packet is discarded.
Packet error counts are increased when packets are received which are larger than the ethernet MTU setting. Packets larger than the MTU size occur when adapter options 'jumbo send', 'jumbo receive', 'large transmit', 'large receive', and so on, are enabled in the operating system or adapter settings.  If the checksum in a packet is incorrect, the "packets with errors" count is increased. Adapters often have some type of checksum offload enabled that can cause the checksum to be incorrect. Adapter checksum offload features, large send, and large receive must be disabled to prevent packet discards and errors.
Packet errors occur if the packets do not contain the number of bytes indicated in the packet length field or the minimum required bytes based on the packet protocol. Any packet too large to receive in available memory is reported as an error. An incorrect value in the packet header increases the packet error count.
The load balancer processes TCP, UDP, ethernet ARP and ICMP protocols. Packets with any other protocol are discarded.

[{"Line of Business":{"code":"LOB45","label":"Automation"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSAW57","label":"WebSphere Application Server Network Deployment"},"ARM Category":[{"code":"a8m50000000Cd9WAAS","label":"Edge LoadBalancer-\u003EDispatcher issues"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Version(s)"}]

Document Information

Modified date:
27 December 2021

UID

ibm16325349