Why is the Behavior of VxWorks and Linux RT Targets Different on the Other Subnets?

Updated Apr 18, 2024

Reported In

Hardware

  • CompactRIO Controller

Software

  • LabVIEW Real-Time Module

Operating System

  • NI Linux Real-Time
  • PharLap
  • VxWorks

Issue Details

I have been using cRIO on VxWorks. Targets must be registered in a different subnet than the host PC. To work remotely, access it via MAX and change the subnet mask to the same as Host. After updating the code, I change the subnet mask and IP back.
However, my recently purchased Linux RT cRIO is inconvenient because I can't change the subnet mask and IP remotely. Why does this happen?

Solution

The reason for this is that device discovery for VxWorks/Phar Lap-based targets differs from that for Linux RT targets. The method used by VxWorks/Phar Lap targets is the Device Discovery Protocol(DDP). This protocol discovers devices using UDP-based broadcasting. This protocol is NI specific protocol and is UDP based, so you can search and access remotely even if the IP address is not matched.
However, Linux RT-based targets use the mDNS protocol for device discovery. This protocol accesses the target via an IP address, so if the IP address is not matched, it cannot be accessed remotely.
The main reason for this change is security. NI Linux RT has many technologies for increasing security, and this change is one of them.