qnet across subnets

I’ve upgraded from RTP 6.0C to 6.1 and now I’m having problems with qnet
across subnets.

I’m using the same mount command as before:
mount -T io-net -omount=:,resolve=dns,mount=:mydomain.com
/lib/dll/npm-qnet.so

Now (with 6.1) everything works when the 2 computers are on the same subnet
but when on different subnets I get the “No route to host” error.

This worked under 6.0C (both in the same subnet and different ones).

Does anyone know anything about this?

Thanks in advance.

-Dan

Dan Helmick <danielhelmick@earthlink.net> wrote:

I’ve upgraded from RTP 6.0C to 6.1 and now I’m having problems with qnet
across subnets.

I’m using the same mount command as before:
mount -T io-net -omount=:,resolve=dns,mount=:mydomain.com
/lib/dll/npm-qnet.so

Now (with 6.1) everything works when the 2 computers are on the same subnet
but when on different subnets I get the “No route to host” error.

This worked under 6.0C (both in the same subnet and different ones).

Does anyone know anything about this?

Please put a “bind=ip” in QNET option line, from 6.1, the default
goes to “bind=ether” now.

-xtang

Xtang,

That didn’t work.

My new mount command is:

mount -T io-net -obind=ip,mount=:,resolve=dns,mount=:mydomain.com
/lib/dll/npm-qnet.so

and I still get the same error when trying to access the other node.

Any other suggestions?

Thanks,
Dan


“Xiaodan Tang” <xtang@qnx.com> wrote in message
news:9m1juv$jv4$1@nntp.qnx.com

Dan Helmick <> danielhelmick@earthlink.net> > wrote:
I’ve upgraded from RTP 6.0C to 6.1 and now I’m having problems with qnet
across subnets.

I’m using the same mount command as before:
mount -T io-net -omount=:,resolve=dns,mount=:mydomain.com
/lib/dll/npm-qnet.so

Now (with 6.1) everything works when the 2 computers are on the same
subnet
but when on different subnets I get the “No route to host” error.

This worked under 6.0C (both in the same subnet and different ones).

Does anyone know anything about this?

Please put a “bind=ip” in QNET option line, from 6.1, the default
goes to “bind=ether” now.

-xtang

Just to add a little more info, after adding bind=ip to both computers qnet
wouldn’t even work when the 2 computers were on the same subnet!!

So in summary:
– without bind=ip qnet works on same subnet and
doesn’t work when spanning subnets

– with bind=ip qnet doesn’t work on either the
same or spanning subnets


Any help/suggestions are greatly appreciated.

-Dan


“Dan Helmick” <danielhelmick@earthlink.net> wrote in message
news:9m1laq$b3h$1@inn.qnx.com

Xtang,

That didn’t work.

My new mount command is:

mount -T io-net -obind=ip,mount=:,resolve=dns,mount=:mydomain.com
/lib/dll/npm-qnet.so

and I still get the same error when trying to access the other node.

Any other suggestions?

Thanks,
Dan


“Xiaodan Tang” <> xtang@qnx.com> > wrote in message
news:9m1juv$jv4$> 1@nntp.qnx.com> …
Dan Helmick <> danielhelmick@earthlink.net> > wrote:
I’ve upgraded from RTP 6.0C to 6.1 and now I’m having problems with
qnet
across subnets.

I’m using the same mount command as before:
mount -T io-net -omount=:,resolve=dns,mount=:mydomain.com
/lib/dll/npm-qnet.so

Now (with 6.1) everything works when the 2 computers are on the same
subnet
but when on different subnets I get the “No route to host” error.

This worked under 6.0C (both in the same subnet and different ones).

Does anyone know anything about this?

Please put a “bind=ip” in QNET option line, from 6.1, the default
goes to “bind=ether” now.

-xtang

Sounds like something in the ip configuration.

Please post an ‘ifconfig -a’ and ‘netstat -rn’ for both systems.

Jay

Dan Helmick wrote in message <9m1u9k$fta$1@inn.qnx.com>…

Just to add a little more info, after adding bind=ip to both computers qnet
wouldn’t even work when the 2 computers were on the same subnet!!

So in summary:
– without bind=ip qnet works on same subnet
and
doesn’t work when spanning subnets

– with bind=ip qnet doesn’t work on either the
same or spanning subnets


Any help/suggestions are greatly appreciated.

-Dan


“Dan Helmick” <> danielhelmick@earthlink.net> > wrote in message
news:9m1laq$b3h$> 1@inn.qnx.com> …
Xtang,

That didn’t work.

My new mount command is:

mount -T io-net -obind=ip,mount=:,resolve=dns,mount=:mydomain.com
/lib/dll/npm-qnet.so

and I still get the same error when trying to access the other node.

Any other suggestions?

Thanks,
Dan


“Xiaodan Tang” <> xtang@qnx.com> > wrote in message
news:9m1juv$jv4$> 1@nntp.qnx.com> …
Dan Helmick <> danielhelmick@earthlink.net> > wrote:
I’ve upgraded from RTP 6.0C to 6.1 and now I’m having problems with
qnet
across subnets.

I’m using the same mount command as before:
mount -T io-net -omount=:,resolve=dns,mount=:mydomain.com
/lib/dll/npm-qnet.so

Now (with 6.1) everything works when the 2 computers are on the same
subnet
but when on different subnets I get the “No route to host” error.

This worked under 6.0C (both in the same subnet and different ones).

Does anyone know anything about this?

Please put a “bind=ip” in QNET option line, from 6.1, the default
goes to “bind=ether” now.

-xtang

\

Given the fact that I can telnet, ftp, and ping (using just hostnames)
across subnets between these machines leads me to believe that it’s not the
ip configuration, unless qnet needs something that standard networking tools
don’t.

I’m using the tiny tcp stack on one of the computers (it is a PC-104 stack).
I set it up with the following command:

mount -T
io-net -oif=en0:aaa.bbb.ccc.ddd:255.255.255.0,default=aaa.bbb.ccc.1
/lib/dll/npm-ttcpip.so

I load qnet on that computer with:

mount -T io-net -obind=ip,mount=:,resolve=dns,mount=:mydomain.com
/lib/dll/npm-qnet.so

I use the same command on the other computer (a laptop) for qnet and I use
the standard GUI tool for setting up the tcp configuration on that computer.


-Dan




“Jay Hogg” <Jay.Hogg@t-netix.com.r-e-m-o-v-e> wrote in message
news:9m2t8j$4kb$1@inn.qnx.com

Sounds like something in the ip configuration.

Please post an ‘ifconfig -a’ and ‘netstat -rn’ for both systems.

Jay

Dan Helmick wrote in message <9m1u9k$fta$> 1@inn.qnx.com> >…
Just to add a little more info, after adding bind=ip to both computers
qnet
wouldn’t even work when the 2 computers were on the same subnet!!

So in summary:
– without bind=ip qnet works on same subnet
and
doesn’t work when spanning subnets

– with bind=ip qnet doesn’t work on either
the
same or spanning subnets


Any help/suggestions are greatly appreciated.

-Dan


“Dan Helmick” <> danielhelmick@earthlink.net> > wrote in message
news:9m1laq$b3h$> 1@inn.qnx.com> …
Xtang,

That didn’t work.

My new mount command is:

mount -T io-net -obind=ip,mount=:,resolve=dns,mount=:mydomain.com
/lib/dll/npm-qnet.so

and I still get the same error when trying to access the other node.

Any other suggestions?

Thanks,
Dan


“Xiaodan Tang” <> xtang@qnx.com> > wrote in message
news:9m1juv$jv4$> 1@nntp.qnx.com> …
Dan Helmick <> danielhelmick@earthlink.net> > wrote:
I’ve upgraded from RTP 6.0C to 6.1 and now I’m having problems with
qnet
across subnets.

I’m using the same mount command as before:
mount -T io-net -omount=:,resolve=dns,mount=:mydomain.com
/lib/dll/npm-qnet.so

Now (with 6.1) everything works when the 2 computers are on the
same
subnet
but when on different subnets I get the “No route to host” error.

This worked under 6.0C (both in the same subnet and different
ones).

Does anyone know anything about this?

Please put a “bind=ip” in QNET option line, from 6.1, the default
goes to “bind=ether” now.

-xtang



\

“Dan Helmick” <danielhelmick@earthlink.net> wrote in message
news:9m4179$pc3$1@inn.qnx.com

Given the fact that I can telnet, ftp, and ping (using just hostnames)
across subnets between these machines leads me to believe that it’s not
the
ip configuration, unless qnet needs something that standard networking
tools
don’t.

Agreed. Please excuse the standard “Request for obvious information” but if
you read
back through history here (and in QNX4) it is amazing how many people have
no
concept that a network must be configured/routing entries made/ … or
think that
you can “just pull numbers out of the air” to assign to systems :wink:

Looking at your config below

  • is your resolv.conf setup correctly? (assuming it is)
  • is this a router or firewall?

QSSL: Docs mention for dns "take the node name, add a dot(.) followed by the
node domain. What is the node domain - resolv.conf domain? first mount
on qnet? …??

Jay

I’m using the tiny tcp stack on one of the computers (it is a PC-104
stack).
I set it up with the following command:

mount -T
io-net -oif=en0:aaa.bbb.ccc.ddd:255.255.255.0,default=aaa.bbb.ccc.1
/lib/dll/npm-ttcpip.so

I load qnet on that computer with:

mount -T io-net -obind=ip,mount=:,resolve=dns,mount=:mydomain.com
/lib/dll/npm-qnet.so

I use the same command on the other computer (a laptop) for qnet and I use
the standard GUI tool for setting up the tcp configuration on that
computer.


-Dan




“Jay Hogg” <> Jay.Hogg@t-netix.com.r-e-m-o-v-e> > wrote in message
news:9m2t8j$4kb$> 1@inn.qnx.com> …
Sounds like something in the ip configuration.

Please post an ‘ifconfig -a’ and ‘netstat -rn’ for both systems.

Jay

Dan Helmick wrote in message <9m1u9k$fta$> 1@inn.qnx.com> >…
Just to add a little more info, after adding bind=ip to both computers
qnet
wouldn’t even work when the 2 computers were on the same subnet!!

So in summary:
– without bind=ip qnet works on same
subnet
and
doesn’t work when spanning subnets

– with bind=ip qnet doesn’t work on either
the
same or spanning subnets


Any help/suggestions are greatly appreciated.

-Dan


“Dan Helmick” <> danielhelmick@earthlink.net> > wrote in message
news:9m1laq$b3h$> 1@inn.qnx.com> …
Xtang,

That didn’t work.

My new mount command is:

mount -T io-net -obind=ip,mount=:,resolve=dns,mount=:mydomain.com
/lib/dll/npm-qnet.so

and I still get the same error when trying to access the other node.

Any other suggestions?

Thanks,
Dan


“Xiaodan Tang” <> xtang@qnx.com> > wrote in message
news:9m1juv$jv4$> 1@nntp.qnx.com> …
Dan Helmick <> danielhelmick@earthlink.net> > wrote:
I’ve upgraded from RTP 6.0C to 6.1 and now I’m having problems
with
qnet
across subnets.

I’m using the same mount command as before:
mount -T io-net -omount=:,resolve=dns,mount=:mydomain.com
/lib/dll/npm-qnet.so

Now (with 6.1) everything works when the 2 computers are on the
same
subnet
but when on different subnets I get the “No route to host” error.

This worked under 6.0C (both in the same subnet and different
ones).

Does anyone know anything about this?

Please put a “bind=ip” in QNET option line, from 6.1, the default
goes to “bind=ether” now.

-xtang





\

It never hurts to question the fundamentals.

My resolve.conf is fine; domain name and nameservers.

It is neither a router or a firewall.

Again, the thing that most confuses me about this is that this same setup
worked in 6.0C (none of the ip configurations were changed). Second, all ip
tools work fine going in both directions so it seems as if all ip configs
are working properly.

So this leads me to believe that it’s a qnet configuration problem (like
they changed the default packet type in qnet to ethernet, so now you must
specify ‘ip’).

So can anyone see a problem in the mount command for qnet below? I’m using
this same command on both sides.

mount -T io-net -obind=ip,mount=:,resolve=dns,mount=:mydomain.com
/lib/dll/npm-qnet.so

The only other thing I can think of would be a problem with my ethernet
driver that would affect qnet but not other network tools (something like
multicasting, etc.). Any thoughts?


Thanks, Jay and xtang for your help so far. And thanks in advance for
anyone else who has a suggestion.

-Dan







“Jay Hogg” <Jay.Hogg@t-netix.com> wrote in message
news:9m4ebh$2vb$1@inn.qnx.com

“Dan Helmick” <> danielhelmick@earthlink.net> > wrote in message
news:9m4179$pc3$> 1@inn.qnx.com> …
Given the fact that I can telnet, ftp, and ping (using just hostnames)
across subnets between these machines leads me to believe that it’s not
the
ip configuration, unless qnet needs something that standard networking
tools
don’t.

Agreed. Please excuse the standard “Request for obvious information” but
if
you read
back through history here (and in QNX4) it is amazing how many people have
no
concept that a network must be configured/routing entries made/ … or
think that
you can “just pull numbers out of the air” to assign to systems > :wink:

Looking at your config below

  • is your resolv.conf setup correctly? (assuming it is)
  • is this a router or firewall?

QSSL: Docs mention for dns "take the node name, add a dot(.) followed by
the
node domain. What is the node domain - resolv.conf domain? first mount
on qnet? …??

Jay

I’m using the tiny tcp stack on one of the computers (it is a PC-104
stack).
I set it up with the following command:

mount -T
io-net -oif=en0:aaa.bbb.ccc.ddd:255.255.255.0,default=aaa.bbb.ccc.1
/lib/dll/npm-ttcpip.so

I load qnet on that computer with:

mount -T
io-net -obind=ip,mount=:,resolve=dns,mount=:mydomain.com
/lib/dll/npm-qnet.so

I use the same command on the other computer (a laptop) for qnet and I
use
the standard GUI tool for setting up the tcp configuration on that
computer.


-Dan




“Jay Hogg” <> Jay.Hogg@t-netix.com.r-e-m-o-v-e> > wrote in message
news:9m2t8j$4kb$> 1@inn.qnx.com> …
Sounds like something in the ip configuration.

Please post an ‘ifconfig -a’ and ‘netstat -rn’ for both systems.

Jay

Dan Helmick wrote in message <9m1u9k$fta$> 1@inn.qnx.com> >…
Just to add a little more info, after adding bind=ip to both
computers
qnet
wouldn’t even work when the 2 computers were on the same subnet!!

So in summary:
– without bind=ip qnet works on same
subnet
and
doesn’t work when spanning subnets

– with bind=ip qnet doesn’t work on
either
the
same or spanning subnets


Any help/suggestions are greatly appreciated.

-Dan


“Dan Helmick” <> danielhelmick@earthlink.net> > wrote in message
news:9m1laq$b3h$> 1@inn.qnx.com> …
Xtang,

That didn’t work.

My new mount command is:

mount -T
io-net -obind=ip,mount=:,resolve=dns,mount=:mydomain.com
/lib/dll/npm-qnet.so

and I still get the same error when trying to access the other
node.

Any other suggestions?

Thanks,
Dan


“Xiaodan Tang” <> xtang@qnx.com> > wrote in message
news:9m1juv$jv4$> 1@nntp.qnx.com> …
Dan Helmick <> danielhelmick@earthlink.net> > wrote:
I’ve upgraded from RTP 6.0C to 6.1 and now I’m having problems
with
qnet
across subnets.

I’m using the same mount command as before:
mount -T io-net -omount=:,resolve=dns,mount=:mydomain.com
/lib/dll/npm-qnet.so

Now (with 6.1) everything works when the 2 computers are on the
same
subnet
but when on different subnets I get the “No route to host”
error.

This worked under 6.0C (both in the same subnet and different
ones).

Does anyone know anything about this?

Please put a “bind=ip” in QNET option line, from 6.1, the default
goes to “bind=ether” now.

-xtang







\

Dan Helmick <danielhelmick@earthlink.net> wrote:

It never hurts to question the fundamentals.

My resolve.conf is fine; domain name and nameservers.

It is neither a router or a firewall.

Again, the thing that most confuses me about this is that this same setup
worked in 6.0C (none of the ip configurations were changed). Second, all ip
tools work fine going in both directions so it seems as if all ip configs
are working properly.

So this leads me to believe that it’s a qnet configuration problem (like
they changed the default packet type in qnet to ethernet, so now you must
specify ‘ip’).

So can anyone see a problem in the mount command for qnet below? I’m using
this same command on both sides.

mount -T io-net -obind=ip,mount=:,resolve=dns,mount=:mydomain.com
/lib/dll/npm-qnet.so

The only other thing I can think of would be a problem with my ethernet
driver that would affect qnet but not other network tools (something like
multicasting, etc.). Any thoughts?

I take your word that all IP setting are fine. So let’s concertrate
on the fact that “bind=ip” not ever works in “same subnet”.

I don’t think it is metter, but let’s simple you command line to:

mount -Tio-net -obind=ip,resolve=dns,host=machineA.mydomain.com
/lib/dll/npm-qnet.so

Let both side start like this (change the “host=” part of cause).
If they are on same subnet, they suppose to see each other after
about 5 seconds.

Since you can “ping machineb”, you can also force a connection
by do a “ls /net/machineb”, even if machineb is not under “/net”.

QNET take “domain” from confstr(CS_DOMAIN), not resolve.conf.
Usually this confstr is set by netmanager (on RTP). The
host=machin.domain.com” option of QNET will override whatever
in CS_DOMAIN, and CS_HOSTNAME.

-xtang

xtang,

Sorry for the delayed response… other more pressing matters came up.

But I tried your mount command today and it worked perfectly!!!

It works for all 3 scenarios that I need it to (same subnet, different
subnet, and direct connection).

Do you think it was the host option or the lack of the mount options that
made it work (I haven’t had time to experiment)?

Also, what’s the difference between an ip packet and an ethernet packet, and
how does it affect comm with qnet?

Thanks much,
Dan

“Xiaodan Tang” <xtang@qnx.com> wrote in message
news:9m5lkc$8cg$1@nntp.qnx.com

Dan Helmick <> danielhelmick@earthlink.net> > wrote:
It never hurts to question the fundamentals.

My resolve.conf is fine; domain name and nameservers.

It is neither a router or a firewall.

Again, the thing that most confuses me about this is that this same
setup
worked in 6.0C (none of the ip configurations were changed). Second,
all ip
tools work fine going in both directions so it seems as if all ip
configs
are working properly.

So this leads me to believe that it’s a qnet configuration problem (like
they changed the default packet type in qnet to ethernet, so now you
must
specify ‘ip’).

So can anyone see a problem in the mount command for qnet below? I’m
using
this same command on both sides.

mount -T io-net -obind=ip,mount=:,resolve=dns,mount=:mydomain.com
/lib/dll/npm-qnet.so

The only other thing I can think of would be a problem with my ethernet
driver that would affect qnet but not other network tools (something
like
multicasting, etc.). Any thoughts?


I take your word that all IP setting are fine. So let’s concertrate
on the fact that “bind=ip” not ever works in “same subnet”.

I don’t think it is metter, but let’s simple you command line to:

mount -Tio-net -obind=ip,resolve=dns,host=machineA.mydomain.com
/lib/dll/npm-qnet.so

Let both side start like this (change the “host=” part of cause).
If they are on same subnet, they suppose to see each other after
about 5 seconds.

Since you can “ping machineb”, you can also force a connection
by do a “ls /net/machineb”, even if machineb is not under “/net”.

QNET take “domain” from confstr(CS_DOMAIN), not resolve.conf.
Usually this confstr is set by netmanager (on RTP). The
host=machin.domain.com” option of QNET will override whatever
in CS_DOMAIN, and CS_HOSTNAME.

-xtang

Dan Helmick <danielhelmick@earthlink.net> wrote:

xtang,

Sorry for the delayed response… other more pressing matters came up.

But I tried your mount command today and it worked perfectly!!!

It works for all 3 scenarios that I need it to (same subnet, different
subnet, and direct connection).

Great!

Do you think it was the host option or the lack of the mount options that
made it work (I haven’t had time to experiment)?

My guessing is the “host=” one, you could put back your “mount:” options
and try.

Also, what’s the difference between an ip packet and an ethernet packet, and
how does it affect comm with qnet?

QNET though IP stack, means all QNET payload is carried by the IP packet,
that means, as long as the destination is “IP reachable”, QNET packet
could go there.

QNET over ether, means QNET payload is carried with “RAW ether packet”
(plus a dummy IP header to keep it compatiable), since the packet is
not go though stack/routing table, it is a bit faster (about 5% to 7%
once I tested). The tradeoff is the “destination node” must on same
ethernet.

Also, for “security concern”, we keep it this way that a “bind=ether”
QNET WILL NOT talk to a “bind=ip” QNET. So as long as people start
QNET by default (which is bind=ether), they don’t need to worry about
somebody from internet to break their node :slight_smile:

-xtang

Thanks much,
Dan

“Xiaodan Tang” <> xtang@qnx.com> > wrote in message
news:9m5lkc$8cg$> 1@nntp.qnx.com> …
Dan Helmick <> danielhelmick@earthlink.net> > wrote:
It never hurts to question the fundamentals.

My resolve.conf is fine; domain name and nameservers.

It is neither a router or a firewall.

Again, the thing that most confuses me about this is that this same
setup
worked in 6.0C (none of the ip configurations were changed). Second,
all ip
tools work fine going in both directions so it seems as if all ip
configs
are working properly.

So this leads me to believe that it’s a qnet configuration problem (like
they changed the default packet type in qnet to ethernet, so now you
must
specify ‘ip’).

So can anyone see a problem in the mount command for qnet below? I’m
using
this same command on both sides.

mount -T io-net -obind=ip,mount=:,resolve=dns,mount=:mydomain.com
/lib/dll/npm-qnet.so

The only other thing I can think of would be a problem with my ethernet
driver that would affect qnet but not other network tools (something
like
multicasting, etc.). Any thoughts?


I take your word that all IP setting are fine. So let’s concertrate
on the fact that “bind=ip” not ever works in “same subnet”.

I don’t think it is metter, but let’s simple you command line to:

mount -Tio-net -obind=ip,resolve=dns,host=machineA.mydomain.com
/lib/dll/npm-qnet.so

Let both side start like this (change the “host=” part of cause).
If they are on same subnet, they suppose to see each other after
about 5 seconds.

Since you can “ping machineb”, you can also force a connection
by do a “ls /net/machineb”, even if machineb is not under “/net”.

QNET take “domain” from confstr(CS_DOMAIN), not resolve.conf.
Usually this confstr is set by netmanager (on RTP). The
host=machin.domain.com” option of QNET will override whatever
in CS_DOMAIN, and CS_HOSTNAME.

-xtang