Using TDP over IP

TDP supports two modes of communications: one directly over Ethernet, and one over IP.

The “straight to Ethernet” L4 layer is faster and more dynamic than the IP layer, but it isn't possible to route TDP packets out of a single layer-2 domain. By using TDP over IP, you can connect to any remote machine over the Internet as follows:

  1. TDP must use the DNS resolver to get an IP address from a hostname (i.e., use the resolve=dns option). Configure the local host name and domain, and then make sure that gethostbyname() can resolve all the host names that you want to talk to (including the local machine):
    • Use hostname to set the host name.
    • Use setconf to set the _CS_DOMAIN configuration string to indicate your domain.
    • If the hosts aren't in a DNS database, create an appropriate name to host resolution file in /etc/hosts which includes the fully qualified node name (including domain) and change the resolver to use the host file instead of using the DNS server (e.g., setconf _CS_RESOLVE lookup_file_bind).

      For more information on name resolution, see the description of “Name servers” in the TCP/IP Networking chapter of the QNX Neutrino User's Guide.

  2. Start (or mount) Qnet with the bind=ip,resolve=dns options. For example:
    io-pkt-v4-hc -de1000 -pqnet bind=ip,resolve=dns
      

    or:

    mount -Tio-pkt -o bind-ip,resolve=dns full_path_to_dll/lsm-qnet.so
      

With raw Ethernet transport, names automatically appear in the /net directory. This doesn't happen with TDP over IP; as you perform TDP operations (e.g. ls /net/host1), the entries are created as required.