Project Home
Project Home
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - Qnet native AND over tcpip: (18 Items)
   
Qnet native AND over tcpip  
Default 6.3.2 install under VMWare. I start qnet like this:
mount -Tio-net npm-qnet.so
and I start to see all local nodes under /net.

Now I would like add there some field nodes which are available via tcpip. Pings go OK both ways with them.

I dont want to switch everything to be "bind=ip", because I will loose local nodes, which run native qnet only. What 
commands should I run to have both worlds at once?

RobertL
RE: Qnet native AND over tcpip  
> From: bob lipka [mailto:bobik@os.pl] 
>
> What commands should I run to have both worlds at once?

You need to start up two L4's.  

One L4 talks to your Local area network, and the 
other runs over IP.

Assuming that your ethernet interface is "wm0":

io-pkt -d i82544 -p qnet bind=wm0,bind=ip,resolve=dns

I *think* that should do what you want!

--
aboyd
Re: RE: Qnet native AND over tcpip  
> You need to start up two L4's.  
> io-pkt -d i82544 -p qnet bind=wm0,bind=ip,resolve=dns

Thats my script to switch to native qnet:

slay -f io-net
sleep 1
io-net -dpcnet -ptcpip stacksize=16384
waitfor /dev/io-net/ip_en
netmanager
mount -Tio-net npm-qnet-l4_lite.so
sleep 1
ls /net

ls shows local nodes

Thats my script to switch to qnet over ip:

slay -f io-net
sleep 1
io-net -dpcnet -ptcpip stacksize=16384
waitfor /dev/io-net/ip_en
netmanager
mount -Tio-net -obind=ip,resolve=dns npm-qnet-l4_lite.so
#wait for myself to show up
waitfor /net/q632pc2p
sleep 2
ls /net/q632pc2d

ls shows field node's toplevel listing.

My ethernet interface is /dev/io-net/en0

Where should I put the command you suggested to have one script which shows all nodes together under /net?
Re: RE: Qnet native AND over tcpip  
Eventually I dont have to get all nodes under one /net. I can live with different directories for different resolvers 
and bindings, if that makes it.

I have tried for few hours, and I could not get two L4 working. I have tried to do it all at once, do it step by step, 
give different sets of parameters, in different orders. If only I specify bind=ip among other parameters then native 
qnet does not work.

RobertL
RE: RE: Qnet native AND over tcpip  
Hi Bob:
	How about also specifying the mountpoint that qnet uses...
Something along the lines of:

mount -Tio-net -o bind=en0,mount=/ipremote,bind=ip,resolve=dns
npm-qnet.so


	Robert.


-----Original Message-----
From: bob lipka [mailto:bobik@os.pl] 
Sent: Wednesday, July 16, 2008 12:53 PM
To: general-networking
Subject: Re: RE: Qnet native AND over tcpip

Eventually I dont have to get all nodes under one /net. I can live with
different directories for different resolvers and bindings, if that
makes it.

I have tried for few hours, and I could not get two L4 working. I have
tried to do it all at once, do it step by step, give different sets of
parameters, in different orders. If only I specify bind=ip among other
parameters then native qnet does not work.


RobertL


_______________________________________________
General
http://community.qnx.com/sf/go/post10614
Re: RE: RE: Qnet native AND over tcpip  
> Hi Bob:
> 	How about also specifying the mountpoint that qnet uses...
> Something along the lines of:
> 
> mount -Tio-net -o bind=en0,mount=/ipremote,bind=ip,resolve=dns
> npm-qnet.so
> 
This leaves me with /ipremote where only ip-transport devices are mapped, no native qnet nodes are visible there. No /
net at all.
RE: RE: Qnet native AND over tcpip  
From: bob lipka [mailto:bobik@os.pl] 

> I specify bind=ip ... then native qnet does not work

Sorry about this.  Generally, people who run bind=ip
use that as their only transport for qnet.  But you
should be able to run two L4's, one for ethernet and
one for ip.

I think what's happening in your case is that the
default ethernet resolver is getting replaced by
the dns resolver (for ip).  Try this command line
option for qnet, which should create two L4's and
two resolvers:

  bind=wm0,resolve=en_ionet,bind=ip,resolve=dns

After you do the above on your machine (with your
/etc/hosts) and you try to ls /net/host2 can you 
post the output here of

# cat /proc/qnetstats

Which will tell us exactly what the resulting
configuration is, and what runtime errors you
are encountering.

Thx,

--
aboyd
Re: RE: RE: Qnet native AND over tcpip  
>Try this command line
> option for qnet, which should create two L4's and
> two resolvers:
> 
>   bind=wm0,resolve=en_ionet,bind=ip,resolve=dns

Are you sure about wm0? Under /dev/io-net I only have en0, ip0, ip_en.
Thats after starting pcnet and tcpip. Before starting qnet-l4. In my case shouldnt I use en0?

RobertL
RE: RE: RE: Qnet native AND over tcpip  
Er, yes, wm0 was for illustration only.  

Please use whatever ethernet device you have!

--
aboyd

-----Original Message-----
From: bob lipka [mailto:bobik@os.pl] 
Sent: Wednesday, July 16, 2008 2:40 PM
To: general-networking
Subject: Re: RE: RE: Qnet native AND over tcpip

>Try this command line
> option for qnet, which should create two L4's and
> two resolvers:
> 
>   bind=wm0,resolve=en_ionet,bind=ip,resolve=dns

Are you sure about wm0? Under /dev/io-net I only have en0, ip0, ip_en.
Thats after starting pcnet and tcpip. Before starting qnet-l4. In my
case shouldnt I use en0?

RobertL

_______________________________________________
General
http://community.qnx.com/sf/go/post10619
RE: RE: Qnet native AND over tcpip  
After a bit of playing around, this is looking to me like it might not
be possible.  We'll have to dig into the code to figure out exactly
what's going on but I suspect that the problem may be that you can't
have two name resolvers running at the same time (which is what's needed
to have both IP and Ethernet operating simultaneously).  We'll do a bit
more preliminary investigation, but if this requires code changes, it
might be some time before we can get to it.

	Robert.

-----Original Message-----
From: Andrew Boyd [mailto:aboyd@qnx.com] 
Sent: Wednesday, July 16, 2008 2:08 PM
To: general-networking
Subject: RE: RE: Qnet native AND over tcpip

From: bob lipka [mailto:bobik@os.pl] 

> I specify bind=ip ... then native qnet does not work

Sorry about this.  Generally, people who run bind=ip
use that as their only transport for qnet.  But you
should be able to run two L4's, one for ethernet and
one for ip.

I think what's happening in your case is that the
default ethernet resolver is getting replaced by
the dns resolver (for ip).  Try this command line
option for qnet, which should create two L4's and
two resolvers:

  bind=wm0,resolve=en_ionet,bind=ip,resolve=dns

After you do the above on your machine (with your
/etc/hosts) and you try to ls /net/host2 can you 
post the output here of

# cat /proc/qnetstats

Which will tell us exactly what the resulting
configuration is, and what runtime errors you
are encountering.

Thx,

--
aboyd

_______________________________________________
General
http://community.qnx.com/sf/go/post10618
Re: RE: RE: Qnet native AND over tcpip  
> I suspect that the problem may be that you can't
> have two name resolvers running at the same time

I was not sure what I saw, but now I can write this:
During my trials, when I have tried to start two L4 at once, I have seen something like two copies of io-net were 
sharing the same process number, and when I have slayed all io-nets, there were still some io-nets running. They did not
 show up via ps, but pidin showed them and I had to kill them via kill -9 proc-number. I had to do this, because next 
trial commands complained about some resources being already there or impossible to create.

RobertL
RE: RE: Qnet native AND over tcpip  
From: Robert Craig [mailto:rcraig@qnx.com] 

> it might not be possible

PR 59725 created to track this

--
aboyd  www.PoweredByQNX.com
Re: RE: RE: Qnet native AND over tcpip  
I am replying a bit late, but I was out to do some real work :)

> Try this command line
>   bind=wm0,resolve=en_ionet,bind=ip,resolve=dns

I have slayed io-net, then run:

# io-net -dpcnet -ptcpip stacksize=16384 -pqnet bind=ip,resolve=dns,bind=en0,resolve=en_ionet
#netmanager
#ls /net/q632pc2d     --- thats remote node over IP

Remote node's listing shows up.
#ls /net
All nodes visible, remote and local!

This 'resolve=en_ionet' bit must have done the trick. In my trials I have given 'resolve=nds' ,as in the pdf book 
Utilities page 1787 (help shows the same). And 'netmanager' command must also be given, or no remote nodes will be 
accesible.

I dont know yet how stable this setup is, but for now a full success!
So I am not posting qnetstats as it looks unnecessary now, I think.

Thank you very much for your help!

RobertL
RE: RE: RE: Qnet native AND over tcpip  
From: bob lipka [mailto:bobik@os.pl] 

> # io-net -dpcnet -ptcpip stacksize=16384 -pqnet 
>   bind=ip,resolve=dns,bind=en0,resolve=en_ionet
> # netmanager
>
> All nodes visible, remote and local!
>
> Thank you very much for your help!

You're welcome!  Sorry it took so long for
you to get this working - it's a slightly
unusual configuration.

--
aboyd  www.PoweredByQNX.com
Re: RE: RE: Qnet native AND over tcpip  
On Fri, Jul 18, 2008 at 10:47:11AM -0400, bob lipka wrote:
> I am replying a bit late, but I was out to do some real work :)
> 
> > Try this command line
> >   bind=wm0,resolve=en_ionet,bind=ip,resolve=dns
> 
> I have slayed io-net, then run:
> 
> # io-net -dpcnet -ptcpip stacksize=16384 -pqnet bind=ip,resolve=dns,bind=en0,resolve=en_ionet
> #netmanager
> #ls /net/q632pc2d     --- thats remote node over IP

Is the 'stacksize' option necessary?

-seanb
Re: RE: RE: Qnet native AND over tcpip  
> Is the 'stacksize' option necessary?

In another topic by Alexey Chaichuk I have read that it is. I have not checked it myself.

RobertL
Re: RE: RE: Qnet native AND over tcpip  
On Fri, Jul 18, 2008 at 11:10:35AM -0400, bob lipka wrote:
> > Is the 'stacksize' option necessary?
> 
> In another topic by Alexey Chaichuk I have read that it is. I have not checked it myself.

It really shouldn't be.  If the default is really
insufficient it'll need to be bumped but if some component
is doing something inappropriate WRT stack usage it should
be fixed.

-seanb
RE: RE: RE: Qnet native AND over tcpip  
Isn't that interesting...  I tried those same options but with
bind=en0,resolve=en_ionet first and I couldn't seem to get it to work.

Looks like a bit more testing is required (!)

I've put in a problem report for the docs to correct the outdated option
usage.

	Robert.
	

-----Original Message-----
From: bob lipka [mailto:bobik@os.pl] 
Sent: Friday, July 18, 2008 10:47 AM
To: general-networking
Subject: Re: RE: RE: Qnet native AND over tcpip

I am replying a bit late, but I was out to do some real work :)

> Try this command line
>   bind=wm0,resolve=en_ionet,bind=ip,resolve=dns

I have slayed io-net, then run:

# io-net -dpcnet -ptcpip stacksize=16384 -pqnet
bind=ip,resolve=dns,bind=en0,resolve=en_ionet
#netmanager
#ls /net/q632pc2d     --- thats remote node over IP

Remote node's listing shows up.
#ls /net
All nodes visible, remote and local!

This 'resolve=en_ionet' bit must have done the trick. In my trials I
have given 'resolve=nds' ,as in the pdf book Utilities page 1787 (help
shows the same). And 'netmanager' command must also be given, or no
remote nodes will be accesible.

I dont know yet how stable this setup is, but for now a full success!
So I am not posting qnetstats as it looks unnecessary now, I think.

Thank you very much for your help!

RobertL

_______________________________________________
General
http://community.qnx.com/sf/go/post10720