Hi there,
I'm just having a weird problem that I cannot figure out myself, hoping for advise here:
I have two computers in the same local subnet 192.168.0.*. One of these computers has multiple IP-addresses for its only network interface defined: 192.168.0.11 and 192.168.1.11. When I run rtiddsping, I can see the discovery working, but the subscriber node does not receive any messages.
When I assign a single static IP instead, everything works (unfortunately this is not an option for me). Attached are the verbosity 5 logs for the rtiddsping on sender and receiver side. There are clearly messages stating "send failed:", but without any hint for the reason.
Any help is appreciated,
Thanks, Ulrich
Attachment | Size |
---|---|
dds_debug_receiver.txt | 127.25 KB |
dds_debug_sender.txt | 78.99 KB |
Hi Ulrich,
Those 'send failed', since they are on both the receiver and the sender logs, may simply be the discovery packets to remote ports that aren't bound to participants.
You don't say which of the machines has both 00.11 and 01.11, the publisher or subscriber. You also don't provide how many interfaces the machines have, total. We only use the first four valid interfaces. It would be interesting to know if Discovery is completing.
What do Analyzer or Admin Console show? Do they show the participant, but not the endpoints?
rip
Hi,
here are some more details:
Rtianalyzer output look like this:
Rtiddsping shows similar results: rtiddsping run on PC1 recognizes joining publisher and subscriber from PC0 but not the other way round.
After a little investigation with tcpdump, it seems like PC1 sends out multicast discoveries from its public dhcp adress.
There are also packets going from PC1 -> PC0 like these: PC1.40894 > PC0.7410: UDP, length 64
So the question is probably, how do I tell PC1 to send out its multicast packets via the static IP instead of the public dhcp.
Thanks, Ulrich
Hi Ulrich,
I don't believe this is a tested configuration. This may not work. Also, which version of the libraries are you using?
There was a new feature added for 5.1, that allows a participant to announce a specific IP address as the return route -- this is expected to be used when the UDP is going to be returning via the "public" address when there is a NAT router involved.
I think it should be possible to use that same code path to designate the static IP address as the return route.
See section 7.1 of the "What's New" document (in ${NDDSHOME}/doc/pdf), to get started.
rip