Skip to content

Limit network access to micro ros agent #957

@fitocuan

Description

@fitocuan

Hi,

I am very new with ROS2 Fast DDS and I've been using ROS2 humble to communicate multiple PCs through a LAN network (192.168.3.x). Each PC controls two robots via TCP (192.168.2.x), this network has been hidden from the Fast DDS by configuring with the following whitelist in the XML code.

This works as expected. However, when I connect a Raspberry Pi Pico docker agent with microros the topics passed through the PCs are initially slowed down and then recover back to normal after 1-2 minutes.

I suspect the issue is the microros agent is trying communicate with the robot's network, as when I disconnect the robots everything works fine. Is there a way to configure a whitelist inside the microrosagent?

<?xml version="1.0" encoding="UTF-8" ?>
<profiles xmlns="http://www.eprosima.com/XMLSchemas/fastRTPS_Profiles">
        <transport_descriptors>
            <transport_descriptor>
                <transport_id>CustomTcpTransport2</transport_id>
                <type>TCPv4</type>
                <interfaceWhiteList>
                    <address>192.168.3.7</address>
                    <address>127.0.0.1</address>
                </interfaceWhiteList>
            </transport_descriptor>
        </transport_descriptors>
        
        <transport_descriptors>
            <transport_descriptor>
                <transport_id>CustomUDPTransport2</transport_id>
                <type>UDPv4</type>
                <interfaceWhiteList>
                    <address>192.168.3.7</address>
                    <address>127.0.0.1</address>
                </interfaceWhiteList>
            </transport_descriptor>
        </transport_descriptors>

        <!-- default publisher profile -->
        <publisher profile_name="default_publisher" is_default_profile="true">
            <historyMemoryPolicy>PREALLOCATED_WITH_REALLOC</historyMemoryPolicy>
            <qos>
                <publishMode>
                    <kind>ASYNCHRONOUS</kind>
                </publishMode>  
                
            </qos>
        </publisher>

        <!-- default subscriber profile -->
        <subscriber profile_name="default_subscriber" is_default_profile="true">
            <historyMemoryPolicy>PREALLOCATED_WITH_REALLOC</historyMemoryPolicy>
            
        </subscriber>

        

   
        <participant profile_name="CustomTcpTransportParticipant2" is_default_profile="true">
            <rtps>

                <useBuiltinTransports>false</useBuiltinTransports>
                <userTransports>
                    <transport_id>CustomTcpTransport2</transport_id>
                </userTransports>
                
                
            </rtps>
        </participant>
        
        <participant profile_name="CustomUDPTransportParticipant2" is_default_profile="true">
            <rtps>

                <useBuiltinTransports>false</useBuiltinTransports>
                <userTransports>
                    <transport_id>CustomUDPTransport2</transport_id>
                </userTransports>
                
            </rtps>
        </participant>
        
</profiles>

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions