# Driver `hb.unicast`

**Minimal configlet:**

	[hb#1]
	type = unicast

**Minimal setup command:**

	om test/ccfg/foo set --kw="type=unicast"

**Supported keywords:**

- addr
- comment
- interval
- intf
- nodes
- port
- timeout
- type

## Keyword `addr`

	required:    false
	scopable:    true
	rbac:        This driver group requires the root grant.

**Default:**

0.0.0.0 for listening and to the resolved nodename for sending.

**Example:**

	addr=1.2.3.4

**Description:**

Use the scoping syntax to assign non-default ip addresses nodes.

> **Warning**: Using the unscoped syntax would assign the same address to
  all nodes and the heartbeat would go down.


## Keyword `comment`

	required:    false
	scopable:    false
	rbac:        This driver group requires the root grant.

**Description:**

A free form text describing the role of the object, of the node, or of the
section it is set in.

The keyword is accepted in any section, so the DEFAULT section can document a
configuration as a whole, and a resource, pool, heartbeat, array or network
section can document itself.

The agent does not interpret the value.


## Keyword `interval`

	required:    false
	scopable:    true
	default:     5s
	convert:     duration
	rbac:        This driver group requires the root grant.

**Description:**

The maximum interval between 2 heartbeat payload sends.

The actual interval is not fixed, because the daemon tries to send the
message as soon as it has something to notify. A minimum interval
protects the node from saturating the network and cpu with the daemon
synchronization workload.


## Keyword `intf`

	required:    false
	scopable:    true
	rbac:        This driver group requires the root grant.

**Default:**

The natural interface for `<addr>`

**Example:**

	intf=eth0

**Description:**

The interface to bind.


## Keyword `nodes`

	required:    false
	scopable:    true
	convert:     list
	rbac:        This driver group requires the root grant.

**Default:**

All nodes.

**Description:**

The nodes participating to the heartbeat.

This keyword can be used to setup a partial redundancy like:

	       n1   n2   n3   n4
	hb#1   O    O    O    O
	hb#2   O    O          
	hb#1             O    O

Which can be relevant if n[12] are in the same bladecenter b1, and n[34] are
in the same bladecenter b2. The bladecenter having an internal network
completely hardware independent of the network used to go outside of the
bladecenters.


## Keyword `port`

	required:    false
	scopable:    true
	default:     10000
	convert:     int
	rbac:        This driver group requires the root grant.

**Description:**

The port for each node to send to or listen on.


## Keyword `timeout`

	required:    false
	scopable:    true
	default:     15s
	convert:     duration
	rbac:        This driver group requires the root grant.

**Description:**

The delay since the last received heartbeat from a node before considering this node is gone.


## Keyword `type`

	required:    true
	scopable:    false
	candidates:  unicast, multicast, disk, relay
	rbac:        This driver group requires the root grant.

**Description:**

The heartbeat driver name.


