Configuration Guide
Unicast Resolver Network Options

The image below shows a simplified relationship between the primary unicast resolver network options.

Resolver-Unicast.png

If using multiple lbmrd instances with a single context, you can configure resolver_unicast_interface and resolver_unicast_port_low/high and omit the Interface:LocalPort section of resolver_unicast_daemon.

See also Unicast UDP Topic Resolution for general information on Unicast Topic Resolution.


Reference  <-


resolver_unicast_daemon (context)  <-

Enable Unicast UDP-based Topic Resolution and add one or more unicast resolver daemon (lbmrd) specifications to the current lbmrd list. Unlike most other UM options, every time this option is supplied, it adds one or more daemon specifications to the list, and does NOT overwrite previous specifications.
Setting this option Disables Multicast UDP-based TR, but does not affect whether TCP-based TR is enabled or disabled. See UDP-Based Topic Resolution Details.
For the configuration file as well as string API method of setting this option, the string value consists of one or more lbmrd specifications separated by commas or semicolons, formatted as follows:
[Iface[:Src_Port]->]IP:Dest_Port[,...]
You can omit either the Src_Port or both the Iface and Src_Port, in which case the default settings resolver_unicast_interface (context) and resolver_unicast_port (context) are used.
Because each entry adds a new daemon specification and does not overwrite previous values, a special construct must be used to clear a previously-specified list. An entry with the IP address of 0.0.0.0 and port of 0 removes all previous daemon specifications. This can be useful if multiple configuration files are used, and a later file should override the daemon list from an earlier file.
Possible formats of each entry are as follows:
Interface:LocalPort->DaemonIP:RemotePort
Interface->DaemonIP:RemotePort
DaemonIP:RemotePort
You can specify Interface in any of the ways described in Specifying Interfaces.
When the binary form of option setting is used, UM does NOT expect an array of structures. Instead, only one lbmrd specification can be supplied for each call to lbm_context_attr_setopt(). However, when the binary form of option retrieval lbm_context_attr_getopt() is used, the list of lbmrds is returned as an array, and the optlen parameter should be set as:
optlen = (max_num_lbmrds * sizeof(lbm_ucast_resolver_entry_t));
Scope: context
Type: lbm_ucast_resolver_entry_t
When to Set: Can only be set during object initialization.
Version: This option was implemented in UMS 5.0


resolver_unicast_interface (context)  <-

Specifies the network interface over which UM receives unicast Topic Resolution messages.
You can specify full IP address of interface, or just network part (see Specifying Interfaces for details).
Default is set to default_interface (context), if specified. Otherwise, it is set to INADDR_ANY, meaning that it will accept unicast Topic Resolution messages on any interface.
Note: if specifying an interface name in an XML-format file, see Interface Device Names and XML.
Scope: context
Type: lbm_ipv4_address_mask_t
Default value: 0.0.0.0 (INADDR_ANY)
When to Set: Can only be set during object initialization.


resolver_unicast_port_high (context)  <-

The highest local UDP port in a range of ports used for unicast topic resolution messages.
The UM resolution daemon (lbmrd) sends unicast topic resolution messages to the UDP port range defined by this option and resolver_unicast_port_low (context).
See Port Assignments for more information about configuring ports.
Scope: context
Type: lbm_uint16_t
Default value: 14406
Byte order: Host
When to Set: Can only be set during object initialization.


resolver_unicast_port_low (context)  <-

The lowest local UDP port in a range of ports used for unicast topic resolution messages.
The UM resolution daemon (lbmrd) sends unicast topic resolution messages to the UDP port range defined by this option and resolver_unicast_port_high (context).
See Port Assignments for more information about configuring ports.
Scope: context
Type: lbm_uint16_t
Default value: 14402
Byte order: Host
When to Set: Can only be set during object initialization.


resolver_unicast_receiver_socket_buffer (context)  <-

Value used to set the SO_RCVBUF socket option for the topic resolution receiving socket.
In some cases the OS will not allow all of this value to be used.
A value of 0 instructs UM to use the default OS values. See ref socketbuffersizes for platform-dependent information.
Scope: context
Type: lbm_ulong_t
Units: bytes
Default value: 8388608 (8MB)
When to Set: Can only be set during object initialization.