#include <managed_transport.h>
This transport plugin uses UDPv6 sockets to send and receive messages. It supports both unicast and multicast communications in a single instance of the plugin. By default, this plugin will use all interfaces that it finds enabled and "UP" at instantiation time to send and receive messages.
The user can configure an instance of this plugin to only use unicast or only use multicast, see DDS::UDPv6Transport_Property_t::unicast_enabled and DDS::UDPv6Transport_Property_t::multicast_enabled.
In addition, the user can configure an instance of this plugin to selectively use the network interfaces of a node (and restrict a plugin from sending multicast messages on specific interfaces) by specifying the "white" and "black" lists in the base property's fields (DDS::Transport_Property_t::allow_interfaces_list, DDS::Transport_Property_t::deny_interfaces_list, DDS::Transport_Property_t::allow_multicast_interfaces_list, DDS::Transport_Property_t::deny_multicast_interfaces_list).
RTI Data Distribution Service can implicitly create this plugin and register it with the DDS::DomainParticipant if this transport is specified in the DDS::TransportBuiltinQosPolicy.
To specify the properties of the builtin UDPv6 transport that is implicitly registered, you can either:
Note that all properties should be set before the transport is implicitly created and registered by RTI Data Distribution Service. Any properties that are set after the builtin transport is registered will be ignored. See Built-in Transport Plugins for details on when a builtin transport is registered.
Property Name | Description
|
---|---|
dds.transport.UDPv6.builtin.parent.address_bit_count | See DDS::Transport_Property_t::address_bit_count |
dds.transport.UDPv6.builtin.parent.properties_bitmap | See DDS::Transport_Property_t::properties_bitmap |
dds.transport.UDPv6.builtin.parent.gather_send_buffer_count_max | See DDS::Transport_Property_t::gather_send_buffer_count_max |
dds.transport.UDPv6.builtin.parent.message_size_max | See DDS::Transport_Property_t::message_size_max |
dds.transport.UDPv6.builtin.parent.allow_interfaces | See DDS::Transport_Property_t::allow_interfaces_list and DDS::Transport_Property_t::allow_interfaces_list_length. Interfaces should be specified as comma-separated strings, with each comma delimiting an interface. For example: 127.0.0.1,eth0 |
dds.transport.UDPv6.builtin.parent.deny_interfaces | See DDS::Transport_Property_t::deny_interfaces_list and DDS::Transport_Property_t::deny_interfaces_list_length. Interfaces should be specified as comma-separated strings, with each comma delimiting an interface. For example: 127.0.0.1,eth0 |
dds.transport.UDPv6.builtin.parent.allow_multicast_interfaces | See DDS::Transport_Property_t::allow_multicast_interfaces_list and DDS::Transport_Property_t::allow_multicast_interfaces_list_length. Interfaces should be specified as comma-separated strings, with each comma delimiting an interface. For example: 127.0.0.1,eth0 |
dds.transport.UDPv6.builtin.parent.deny_multicast_interfaces | See DDS::Transport_Property_t::deny_multicast_interfaces_list and DDS::Transport_Property_t::deny_multicast_interfaces_list_length. Interfaces should be specified as comma-separated strings, with each comma delimiting an interface. For example: 127.0.0.1,eth0
|
dds.transport.UDPv6.builtin.send_socket_buffer_size | See DDS::UDPv6Transport_Property_t::send_socket_buffer_size |
dds.transport.UDPv6.builtin.recv_socket_buffer_size | See DDS::UDPv6Transport_Property_t::recv_socket_buffer_size |
dds.transport.UDPv6.builtin.unicast_enabled | See DDS::UDPv6Transport_Property_t::unicast_enabled |
dds.transport.UDPv6.builtin.multicast_enabled | See DDS::UDPv6Transport_Property_t::multicast_enabled |
dds.transport.UDPv6.builtin.multicast_ttl | See DDS::UDPv6Transport_Property_t::multicast_ttl |
dds.transport.UDPv6.builtin.multicast_loopback_disabled | See DDS::UDPv6Transport_Property_t::multicast_loopback_disabled |
dds.transport.UDPv6.builtin.ignore_loopback_interface | See DDS::UDPv6Transport_Property_t::ignore_loopback_interface |
dds.transport.UDPv6.builtin.ignore_nonrunning_interfaces | See DDS::UDPv6Transport_Property_t::ignore_nonrunning_interfaces |
dds.transport.UDPv6.builtin.no_zero_copy | See DDS::UDPv6Transport_Property_t::no_zero_copy |
dds.transport.UDPv6.builtin.send_blocking | See DDS::UDPv6Transport_Property_t::send_blocking |
dds.transport.UDPv6.builtin.enable_v4mapped | See DDS::UDPv6Transport_Property_t::enable_v4mapped |
dds.transport.UDPv6.builtin.transport_priority_mask | See DDS::UDPv6Transport_Property_t::transport_priority_mask |
dds.transport.UDPv6.builtin.transport_priority_mapping_low | See DDS::UDPv6Transport_Property_t::transport_priority_mapping_low |
dds.transport.UDPv6.builtin.transport_priority_mapping_high | See DDS::UDPv6Transport_Property_t::transport_priority_mapping_high
|