lbcd provides a lightweight way to query a system via unauthenticated UDP
for system load information plus some related information that may be
relevant to determining which system to hand out.  It was designed for use
with the [lbnamed DNS load
balancer](https://www.stanford.edu/~riepel/lbnamed/).  System load, number
of logged-in users, free /tmp space, and system uptime are always
returned.  lbcd can also be configured to probe various local services and
modify the returned weights based on whether those services are reachable,
or to return a static weight for round-robin load balancing.

The information provided isn't particularly sophisticated, and a good
hardware load balancer will be able to consider such things as connection
latency and responsiveness to make better decisions.  However, lbcd with
lbnamed works quite well for smaller scale problems, scales well to
multiple load balance pools for different services, provides a simple UDP
health check service, and is much simpler and cheaper to understand and
deploy.

Included in this package is a small client program, lbcdclient, which can
query an lbcd server and display a formatted version of the returned
information.

It was originally written by Roland Schemers.  Larry Schwimmer rewrote it
to add protocol version 3 with some additional features and service
probing, and then I rewrote it again to update the coding style and use my
standard portability layer.
