RTI Secure Wan Transport  Version 6.0.1
 All Data Structures Functions Variables Typedefs Enumerations Groups Pages
Secure Transport C API Reference

Basic types and macros provided by RTI Connext for use in the Secure Transport plugin interface. More...

Modules

 OpenSSL-Related Configuration
 OpenSSL-Related Configuration.
 

Data Structures

struct  NDDS_Transport_DTLS_Property_t
 DTLS transport plugin property. More...
 

Macros

#define NDDS_TRANSPORT_DTLS_ADDRESS_BIT_COUNT   (32)
 Default value of NDDS_Transport_Property_t::address_bit_count in NDDS_Transport_DTLS_Property_t::parent.
 
#define NDDS_TRANSPORT_DTLS_PROPERTIES_BITMAP_DEFAULT   (0)
 Default value of NDDS_Transport_Property_t::properties_bitmap in NDDS_Transport_DTLS_Property_t::parent.
 
#define NDDS_TRANSPORT_DTLS_PROPERTY_DEFAULT
 Use this to initialize a NDDS_Transport_DTLS_Property_t structure.
 

Functions

NDDS_Transport_TLS_DllExport
NDDS_Transport_Plugin * 
NDDS_Transport_DTLS_create (NDDS_Transport_Address_t *default_network_address_out, const struct DDS_PropertyQosPolicy *property_in)
 Create an instance of a DTLS Transport Plugin using PropertyQosPolicy (for dynamic loading)
 
NDDS_Transport_TLS_DllExport
NDDS_Transport_Plugin * 
NDDS_Transport_DTLS_new (const struct NDDS_Transport_DTLS_Property_t *property_in)
 Create an instance of a DTLS Transport Plugin.
 

Detailed Description

Basic types and macros provided by RTI Connext for use in the Secure Transport plugin interface.

Macro Definition Documentation

#define NDDS_TRANSPORT_DTLS_ADDRESS_BIT_COUNT   (32)
#define NDDS_TRANSPORT_DTLS_PROPERTIES_BITMAP_DEFAULT   (0)
#define NDDS_TRANSPORT_DTLS_PROPERTY_DEFAULT
Value:
{ \
{ NDDS_TRANSPORT_CLASSID_DTLS, /* classid */ \
NDDS_TRANSPORT_DTLS_ADDRESS_BIT_COUNT, /* address_bit_count */ \
NDDS_TRANSPORT_DTLS_PROPERTIES_BITMAP_DEFAULT, /* properties_bitmap */ \
NDDS_TRANSPORT_UDPV4_GATHER_SEND_BUFFER_COUNT_MAX_DEFAULT, /* gather_send_buffer_count_max */ \
SSL3_RT_MAX_PLAIN_LENGTH, /* message_size_max */ \
NULL, 0, /* allow_interfaces_list */ \
NULL, 0, /* deny_interfaces_list */ \
NULL, 0, /* allow_multicast_interfaces_list */ \
NULL, 0, /* deny_multicast_interfaces_list */ \
NULL, /* domain_participant_ptr */ \
}, /* parent (NDDS_Transport_Property_t) */ \
NDDS_TRANSPORT_UDPV4_SEND_SOCKET_BUFFER_SIZE_DEFAULT, /* send_socket_buffer_size */ \
NDDS_TRANSPORT_UDPV4_RECV_SOCKET_BUFFER_SIZE_DEFAULT, /* recv_socket_buffer_size */ \
-1, /* ignore_loopback_interface (auto) */ \
0, /* ignore_nonrunning_interfaces (do not ignore non-RUNNING) */ \
0, /* transport_priority_mask */ \
0, 0xff, /* transport_priority_mapping_low, transport_priority_mapping_high (no mapping to IP_TOS by default) */ \
/* TLS-specific: */ \
NDDS_TRANSPORT_UDPV4_MESSAGE_SIZE_MAX_DEFAULT, /* recv_decode_buffer_size (actually want MTU) */ \
144, /* port_offset */ \
0, /* force_interface_poll_detection */ \
500, /* interface_poll_period */ \
0, /* disable_interface_tracking */ \
5000, /* join_multicast_group_timeout */ \
1000, /* dtls_handshake_resend_interval (1 second) */ \
7, /* dtls_handshake_number_of_resends (last resend at ~60s) */ \
60, /* dtls_connection_liveliness_interval (60x resend interval) */ \
0, /* transport_mtu (don't set MTU) */ \
NDDS_TRANSPORT_TLS_OPENSSL_CONFIGURATION_DEFAULT /* tls */ }

Use this to initialize a NDDS_Transport_DTLS_Property_t structure.

Function Documentation

NDDS_Transport_TLS_DllExport NDDS_Transport_Plugin* NDDS_Transport_DTLS_create ( NDDS_Transport_Address_t default_network_address_out,
const struct DDS_PropertyQosPolicy property_in 
)

Create an instance of a DTLS Transport Plugin using PropertyQosPolicy (for dynamic loading)

An application may create and register multiple instances of this Transport Plugin with RTI Connext. This may be to partition the network interfaces across multiple RTI Connext domains. However, note that the underlying transport, the operating system's IP layer, is still a "singleton". For example, if a unicast transport has already bound to a port, and another unicast transport tries to bind to the same port, the second attempt will fail. The NDDS_Transport_DTLS_Property_t::port_offset field is included to allow compatibility with a parallel non-secure transport.

The transport plugin honors the interface "white" and "black" lists specified in the NDDS_Transport_DTLS_Property_t::parent:

The format of a string in these lists is assumed to be in standard IPv4 dot notation, possibly containing wildcards. For example:

  • 10.10.30.232
  • 10.10.*.*
  • 192.168.1.*
  • etc. Strings not in the correct format will be ignored.
Parameters
default_network_address_out<<out>> Network address to be used when registering the transport.
property_in<<in>> Desired behavior of this transport, through the property field in DomainParticipantQos.
Returns
A DTLS Transport Plugin instance on success; or NULL on failure.
NDDS_Transport_TLS_DllExport NDDS_Transport_Plugin* NDDS_Transport_DTLS_new ( const struct NDDS_Transport_DTLS_Property_t property_in)

Create an instance of a DTLS Transport Plugin.

An application may create and register multiple instances of this Transport Plugin with RTI Connext. This may be to partition the network interfaces across multiple RTI Connext domains. However, note that the underlying transport, the operating system's IP layer, is still a "singleton". For example, if a unicast transport has already bound to a port, and another unicast transport tries to bind to the same port, the second attempt will fail. The NDDS_Transport_DTLS_Property_t::port_offset field is included to allow compatibility with a parallel non-secure transport.

The transport plugin honors the interface "white" and "black" lists specified in the NDDS_Transport_DTLS_Property_t::parent:

The format of a string in these lists is assumed to be in standard IPv4 dot notation, possibly containing wildcards. For example:

  • 10.10.30.232
  • 10.10.*.*
  • 192.168.1.*
  • etc. Strings not in the correct format will be ignored.
Parameters
property_in<<in>> Desired behavior of this transport. May be NULL for default property.
Returns
A DTLS Transport Plugin instance on success; or NULL on failure.

RTI Secure Wan Transport Version 6.0.1 Copyright © Sun Nov 17 2019 Real-Time Innovations, Inc