Match ports and indexes for different protocols

4 posts / 0 new
Last post
Offline
Last seen: 6 years 3 months ago
Joined: 08/28/2013
Posts: 66
Match ports and indexes for different protocols

Hi,

I got one entity communicating with protocol v1.0 in multicast on domainId=39 with participantIdx=0 on port 7790

I try to match it with another entity using RTI ME which use protocol v2.1.
I thought that creating participant with id=39 would be enough but with wireshark, this ID has nothing to deal with the one in protocol.
I had to create participant with id 975 to obtain a domainID=39.

But then there is a mismatch with the ports.

I try to use the excel file, but when i change it to obtain appropriate ports, the domainId changed to 0.

So my questions:

1/ Is it possible to match participants with protocol v1.0 on one side and v2.1 on the other ? ( I guess yes)

2/How to do it ? :)

My settings:

domainId 975
PB Port BaseNumber 7790
DG Domain Id Gain 0
PG Participant Id Gain 2
d0 Discovery Multicast Port Offset 0
d1 Discovery Unicast Port Offset 10
d2 User Data Multicast Port Offset 1
d3 User Data Unicast Port Offset 11

Normally should give  

Port Name / Use port
Discovery Multicast Port 7790

But with wireshark messages are with:
User Datagram Protocol, Src Port: 65486 (65486), Dst Port: 7790 (7790)
Default port mapping: domainId=1, participantIdx=65, nature=UNICAST_METATRAFFIC


and the other entity with:
User Datagram Protocol, Src Port: blackjack (1025), Dst Port: 7790 (7790)
Default port mapping: domainId=39, participantIdx=0, nature=UNICAST_METATRAFFIC 

Gerardo Pardo's picture
Offline
Last seen: 1 month 1 hour ago
Joined: 06/02/2010
Posts: 592

Hi,

Do you really have an entity running the RTPS protocol version 1.0?   This has not been around for many many years now... Which product/version are you using for that?

Assuming you indeed have an RTPS 1.0 application, RTPS 1.0 it does not interoperate with RTPS 2.1. Only protocols with the same major version number interoperate so 1.x does not interoperate with 2.x

As a side note, I am curious why you used Domain Id Gain (DG) of 0.  This does not make a lot of sense to me. If you look at the formula for RTPS ports describes in this post, you can see that with a DG=0  you are assigning the same ports to all domain Ids which is does not seem what one would want...

Gerardo

 

 

Offline
Last seen: 6 years 3 months ago
Joined: 08/28/2013
Posts: 66

Hi,

Thanks for your reply.
RTPS v1 was also a product of RTI (seen with wireshark).

The domainId Gain to 0 was a try to "play" with the formula to have the domain ID and the targeted ports compatible with my entity in v1

In fact, with a gain of 10 instead of 250, the ports are corresponding but then domain ID is no more good.

But as you said, what i wanted to do is not possible (1.x with 2.x).

Regards,

Rodolf

Gerardo Pardo's picture
Offline
Last seen: 1 month 1 hour ago
Joined: 06/02/2010
Posts: 592

Hi Rodolf,

Yes we (RTI) did use RTPS v1 in some of our old products... I was just trying to make sure you really meant that :)

The differences between 1.x and 2.x are not just port numbers as you have discovered. A lot of things changed, including submessage headers, size of reader/writer global unique identifiers, etc.  If that wasa not enough the RTPS protocol requires that compliant implementations check the major version number and reject packets that do not belong to the same major version. So as soon as RTPS v1.x sees the 2.x in the header is will reject the packect and the same will occur when the RTPS v2.x gets the RTPS v1.x header.

Gerardo