Dlb Connection Balancer

This connection balancer extension provides Envoy with low latency networking by integrating with Intel DLB through the libdlb library.

The Dlb connection balancer is only included in contrib images

Example configuration

An example for Dlb connection balancer configuration is:

static_resources:
  listeners:
  - connection_balance_config:
      extend_balance:
        name: envoy.network.connection_balance.dlb
        typed_config:
          "@type": type.googleapis.com/envoy.extensions.network.connection_balance.dlb.v3alpha.Dlb

How it works

If enabled, the Dlb connection balancer will:

  • attach Dlb hardware

  • create a queue for balancing

  • create one port to send and one port to receive for each worker thread

  • create one eventfd for each worker thread and attach each eventfd to corresponding customer

  • register each eventfd to corresponding customer and Dlb hardware

When new connections come, one worker thread will accept it and send it to Dlb hardware. Dlb hardware does balancing then trigger one worker thread to receive via libevent.

Installing and using Dlb

For information on how to build/install and use libdlb see the getting started guide.