Configuration Guide

Transport LBT-RM Network Options

# LBT-RM Transport Session Management <-

The image below shows a simplified relationship between the primary LBT-RM transport network options.

Note
  for a multi-homed LBT-RM source, the interface LBT-RM multicast resolver interface specified with resolver_multicast_interface (context) will be used as the source for LBT-RM.

When a source is created, the application can explicitly map it to a transport session by setting the transport_lbtrm_multicast_address (source) and transport_lbtrm_destination_port (source) options. If a previous source was created on the same context with the same group/port pair, this new source will be mapped to the same transport session. Note that two different contexts on the same host may share the same group/port pair, and the resulting transport sessions will be separate and independent.

Alternatively, if the application does not explicitly specify a multicast group and destination port, UM will implicitly assign the new source to a pool of transport sessions defined when the context was created. The pool is defined as a range of multicast groups specified by the options transport_lbtrm_multicast_address_low (context) and transport_lbtrm_multicast_address_high (context). The number of transport sessions in the pool is the range of the two multicast group IP addresses, as represented by a 32-bit number. For example, the default settings 224.10.10.10 and 224.10.10.14 are represented by the numbers 0xE00A0A0A and 0xE00A0A0E. This represents 5 different groups, so the pool contains 5 transport sessions (all with the same destination port).

When a new source is created and the multicast group is not explicitly defined, UM will check to see how many transport sessions are currently active from the pool within the context. If it is less than the number in the pool, then UM will activate the next transport session in the range. However, if the context already has activated all transport sessions in the pool, then the new topic is mapped to one of the existing transport sessions, in round-robin fashion.

# Reference <-

## transport_lbtrm_destination_port (source) <-

  The UDP destination port used for this Topic when the transport is LBT-RM.

  See LBT-RM Transport Session Management for how LBT-RM source transport sessions are managed.

  See Port Assignments for more information about configuring ports.

  Scope: | source
  Type: | lbm_uint16_t
  Default value: | 14400
  Byte order: | Network
  When to Set: | Can only be set during object initialization.

## transport_lbtrm_multicast_address (source) <-

  The preferred multicast address (or domain name of the multicast address) for this Topic when the transport is LBT-RM.

  If 0.0.0.0 (INADDR_ANY), the default, the context will use a round-robin method to select an address in the configured multicast multicast address range: transport_lbtrm_multicast_address_high (context) - transport_lbtrm_multicast_address_low (context).

  See LBT-RM Transport Session Management for how LBT-RM source transport sessions are managed.

  See Port Assignments for more information about configuring ports.

  Scope: | source
  Type: | struct in_addr
  Default value: | 0.0.0.0 (INADDR_ANY)
  When to Set: | Can only be set during object initialization.

## transport_lbtrm_multicast_address_high (context) <-

  Multicast address (or domain name of the multicast address) used as the highest value to assign to LBT-RM sessions.

  See LBT-RM Transport Session Management for how LBT-RM source transport sessions are managed.

  Scope: | context
  Type: | struct in_addr
  Default value: | 224.10.10.14
  When to Set: | Can only be set during object initialization.

## transport_lbtrm_multicast_address_low (context) <-

  Multicast address (or domain name of the multicast address) used as the lowest value to assign to LBT-RM sessions.

  See LBT-RM Transport Session Management for how LBT-RM source transport sessions are managed.

  Scope: | context
  Type: | struct in_addr
  Default value: | 224.10.10.10
  When to Set: | Can only be set during object initialization.

## transport_lbtrm_source_port_high (context) <-

  Highest port number value used for LBT-RM source session's unicast NAK processing. Receivers send NAKs to this port for to request retransmission. Each LBT-RM session must use a unique port value. Note that this does not control the UDP source port on the outbound LBT-RM stream.

  See Port Assignments for more information about configuring ports.

  Scope: | context
  Type: | lbm_uint16_t
  Default value: | 14399
  Byte order: | Host
  When to Set: | Can only be set during object initialization.

## transport_lbtrm_source_port_low (context) <-

  Lowest port number value used for LBT-RM source session's unicast NAK processing. Receivers send NAKs to this port for to request retransmission. Each LBT-RM session must use a unique port value. Note that this does not control the UDP source port on the outbound LBT-RM stream.

  See Port Assignments for more information about configuring ports.

  Scope: | context
  Type: | lbm_uint16_t
  Default value: | 14390
  Byte order: | Host
  When to Set: | Can only be set during object initialization.