Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

After disabling the default transport and setting up a single udpv4 transport for service discovery and communication, the data communication on the same host is still via shared memory (shm) and does not work as expected. #5690

Open
1 task done
lobmoo opened this issue Mar 6, 2025 · 1 comment
Labels
triage Issue pending classification

Comments

@lobmoo
Copy link

lobmoo commented Mar 6, 2025

Is there an already existing issue for this?

  • I have searched the existing issues

Expected behavior

`omainParticipantQos qos;
qos.transport().use_builtin_transports = false; // 禁用内置传输
std::shared_ptreprosima::fastdds::rtps::UDPv4TransportDescriptor udp_transport =
std::make_sharedeprosima::fastdds::rtps::UDPv4TransportDescriptor();
qos.transport().user_transports.push_back(udp_transport); // 添加 UDPv4 传输

// Explicitly disable SHM transport
qos.transport().user_transports.clear();
qos.transport().user_transports.push_back(udp_transport);`

The above is my configuration. After establishing the connection and starting data transmission, the communication on the same machine still uses shared memory (shm). This is because UDP packets cannot be captured, and files are generated under the directory “/dev/shm”.

Image

Current behavior

none

Steps to reproduce

none

Fast DDS version/commit

none

Platform/Architecture

Ubuntu Focal 20.04 amd64

Transport layer

UDPv4

Additional context

No response

XML configuration file

Relevant log output

Network traffic capture

No response

@lobmoo lobmoo added the triage Issue pending classification label Mar 6, 2025
@juanlofer-eprosima
Copy link
Contributor

Hi @lobmoo ,

There are two shared memory communication mechanisms available in Fast-DDS: Shared Memory Transport and Data-sharing delivery. You might be missing to disable the latter: qos.data_sharing().off();

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
triage Issue pending classification
Projects
None yet
Development

No branches or pull requests

2 participants