Coder Social home page Coder Social logo

Comments (2)

perchess avatar perchess commented on July 18, 2024

Hey, @mitch-galea! Did you find a solution? I have the same question.

from rmw_cyclonedds.

eboasson avatar eboasson commented on July 18, 2024

I've seen variations of this question before and answered them, but this one completely escaped my notice until now. I am so sorry about that ...

In those other cases the problem was that one Cyclone DDS node would advertise two addresses (both valid on that machine) and another node would see both addresses as "routable addresses" and assume that both addresses would work despite one of them not being directly connected. If the kernel routes them it should work, but if not ...

In this particular case, e.g., B advertises both addresses, and A considers 10.8.0.2 a viable address despite A only being connected to the 192.168.2.x network. Then it can happen that A picks the 10.8.0.2 address to send data to B.

Some time ago I did a proper fix as part of something else, but that has stalled for a lack of time. I really need to finish that one, it really solves some nasty issues.

There is a way to avoid it making this assumption by configuring it differently: if you set the General/DontRoute option to true, it sets the corresponding IP option. Because that IP option means you can't send data to an address on a network you're not directly connected to, it then also ignores those addresses completely. So in that case, A will consistently use 192.168.2.1 to send data to B.

from rmw_cyclonedds.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.