ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

The important note for ROS2 Foxy to work would be the following xml file. The critical parameters that are missing from the official website are

  • is_default_profile="true"
  • <useBuiltinTransports>false</useBuiltinTransports>

The following is an example to whitelist specific IP address using ROS2 Foxy FastDDS. FASTRTPS_DEFAULT_PROFILES_FILE=./whitelist.xml ros2 run demo_nodes_cpp talker

whitelist.xml

``` <dds xmlns="http://www.eprosima.com/XMLSchemas/fastRTPS_Profiles"> <profiles> <transport_descriptors> <transport_descriptor> <transport_id>CustomUdpTransport</transport_id> <type>UDPv4</type> <interfacewhitelist>

192.168.1.14
192.168.2.15
</interfacewhitelist> </transport_descriptor> </transport_descriptors>

    <participant profile_name="CustomTcpTransportParticipant" is_default_profile="true">
        <rtps>
            <userTransports>
                <transport_id>CustomUdpTransport</transport_id>
            </userTransports>
            <useBuiltinTransports>false</useBuiltinTransports>
        </rtps>
    </participant>
</profiles>

</dds> ```

*Note: Do not set RMW_FASTRTPS_USE_QOS_FROM_XML=1 if you simply want to keep everything else as default (i.e. history memory policy, publication mode, subscriber, publisher profile.)

The important note for ROS2 Foxy to work would be the following xml file. The critical parameters that are missing from the official website are

  • is_default_profile="true"
  • <useBuiltinTransports>false</useBuiltinTransports>

The following is an example to whitelist specific IP address using ROS2 Foxy FastDDS. FASTRTPS_DEFAULT_PROFILES_FILE=./whitelist.xml ros2 run demo_nodes_cpp talker

whitelist.xml

```

<?xml version="1.0" encoding="UTF-8" ?>
<dds xmlns="http://www.eprosima.com/XMLSchemas/fastRTPS_Profiles">
    <profiles>
        <transport_descriptors>
            <transport_descriptor>
                <transport_id>CustomUdpTransport</transport_id>
                <type>UDPv4</type>
                <interfacewhitelist>
                    

192.168.1.14
192.168.2.15
</interfacewhitelist>
<interfaceWhiteList> <address>10.1.153.77</address> <address>10.1.153.75</address> </interfaceWhiteList> </transport_descriptor> </transport_descriptors>

</transport_descriptors>

        <participant profile_name="CustomTcpTransportParticipant" is_default_profile="true">
         <rtps>
             <userTransports>
                 <transport_id>CustomUdpTransport</transport_id>
             </userTransports>
             <useBuiltinTransports>false</useBuiltinTransports>
         </rtps>
     </participant>
 </profiles>
</dds>

</dds> ```

*Note: Do not set RMW_FASTRTPS_USE_QOS_FROM_XML=1 if you simply want to keep everything else as default (i.e. history memory policy, publication mode, subscriber, publisher profile.)

The critical parameters that are missing from the official website are

  • is_default_profile="true"
  • <useBuiltinTransports>false</useBuiltinTransports>

The following is an example to whitelist specific IP address using ROS2 Foxy FastDDS. FASTRTPS_DEFAULT_PROFILES_FILE=./whitelist.xml ros2 run demo_nodes_cpp talker

whitelist.xml

<?xml version="1.0" encoding="UTF-8" ?>
<dds xmlns="http://www.eprosima.com/XMLSchemas/fastRTPS_Profiles">
    <profiles>
        <transport_descriptors>
            <transport_descriptor>
                <transport_id>CustomUdpTransport</transport_id>
                <type>UDPv4</type>
                <interfaceWhiteList>
                    <address>10.1.153.77</address>
                    <address>10.1.153.75</address>
<address>192.168.1.77</address>
                    <address>192.168.1.75</address>
                </interfaceWhiteList>
            </transport_descriptor>
        </transport_descriptors>

        <participant profile_name="CustomTcpTransportParticipant" is_default_profile="true">
            <rtps>
                <userTransports>
                    <transport_id>CustomUdpTransport</transport_id>
                </userTransports>
                <useBuiltinTransports>false</useBuiltinTransports>
            </rtps>
        </participant>
    </profiles>
</dds>

*Note: Note1: I'm not able to set wildcard to the address (e.g. 192.168.1.), have to explicitly states the address. *Note2: Do not set RMW_FASTRTPS_USE_QOS_FROM_XML=1 if you simply want to keep everything else as default (i.e. history memory policy, publication mode, subscriber, publisher profile.)

The critical parameters that are missing from the official website are

  • is_default_profile="true"
  • <useBuiltinTransports>false</useBuiltinTransports>

The following is an example to whitelist specific IP address using ROS2 Foxy FastDDS. FASTRTPS_DEFAULT_PROFILES_FILE=./whitelist.xml ros2 run demo_nodes_cpp talker

whitelist.xml

<?xml version="1.0" encoding="UTF-8" ?>
<dds xmlns="http://www.eprosima.com/XMLSchemas/fastRTPS_Profiles">
    <profiles>
        <transport_descriptors>
            <transport_descriptor>
                <transport_id>CustomUdpTransport</transport_id>
                <type>UDPv4</type>
                <interfaceWhiteList>
                    <address>192.168.1.77</address>
                    <address>192.168.1.75</address>
                </interfaceWhiteList>
            </transport_descriptor>
        </transport_descriptors>

        <participant profile_name="CustomTcpTransportParticipant" is_default_profile="true">
            <rtps>
                <userTransports>
                    <transport_id>CustomUdpTransport</transport_id>
                </userTransports>
                <useBuiltinTransports>false</useBuiltinTransports>
            </rtps>
        </participant>
    </profiles>
</dds>

Note1: I'm not able to set wildcard to the address (e.g. 192.168.1.), have to explicitly states the address. address.

*Note2: Do not set RMW_FASTRTPS_USE_QOS_FROM_XML=1 if you simply want to keep everything else as default (i.e. history memory policy, publication mode, subscriber, publisher profile.)

The critical parameters that are missing from the official website are

  • is_default_profile="true"
  • <useBuiltinTransports>false</useBuiltinTransports>

The following is an example to whitelist specific IP address using ROS2 Foxy FastDDS. FASTRTPS_DEFAULT_PROFILES_FILE=./whitelist.xml ros2 run demo_nodes_cpp talker

whitelist.xml

<?xml version="1.0" encoding="UTF-8" ?>
<dds xmlns="http://www.eprosima.com/XMLSchemas/fastRTPS_Profiles">
    <profiles>
        <transport_descriptors>
            <transport_descriptor>
                <transport_id>CustomUdpTransport</transport_id>
                <type>UDPv4</type>
                <interfaceWhiteList>
                    <address>192.168.1.77</address>
                    <address>192.168.1.75</address>
                </interfaceWhiteList>
            </transport_descriptor>
        </transport_descriptors>

        <participant profile_name="CustomTcpTransportParticipant" is_default_profile="true">
            <rtps>
                <userTransports>
                    <transport_id>CustomUdpTransport</transport_id>
                </userTransports>
                <useBuiltinTransports>false</useBuiltinTransports>
            </rtps>
        </participant>
    </profiles>
</dds>

Note1: *Note1: I'm not able to set wildcard to the address (e.g. 192.168.1.), 192.168.1.*), have to explicitly states the address.

*Note2: Do not set RMW_FASTRTPS_USE_QOS_FROM_XML=1 if you simply want to keep everything else as default (i.e. history memory policy, publication mode, subscriber, publisher profile.)