Project Home
Project Home
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - Cross Endian QNet technology: (12 Items)
   
Cross Endian QNet technology  
Hi all,

This is with reference to the following link:

http://community.qnx.com/sf/wiki/do/viewPage/projects.core_os/wiki/Cross_Endian_QNet_Technology

It says "The Trinity 2 requirement is to provide the necessary updates to enable cross-endian QNET...", and further, 
goes on to say that "It is important to note that Trinity 2 will not deliver cross-endian QNET, however it makes the 
kernel changes necessary to achieve future compatibility."

This is confusing me a bit. Is there a usable version of this new QNet with Cross Endian support? If so, could I take a 
look at its source code? 

I have installed Neutrino 6.4.0. Is this new QNet available in it (according to http://community.qnx.com/sf/wiki/do/
viewPage/projects.core_os/wiki/Trinity2 , Neutrino 6.4.0 is carrying it.)

Thanks..
AW: Cross Endian QNet technology  
in short: there is no working corss endian QNet
maybe the QNX guys can cleanup the docs to avoid these kind of misunderstandings in future
you see this question, again and again.



>-----Ursprüngliche Nachricht-----
>Von: Soumik Mondal [mailto:community-noreply@qnx.com] 
>Gesendet: Freitag, 31. Juli 2009 11:50
>An: technology-networking
>Betreff: Cross Endian QNet technology
>
>Hi all,
>
>This is with reference to the following link:
>
>http://community.qnx.com/sf/wiki/do/viewPage/projects.core_os/w
>iki/Cross_Endian_QNet_Technology
>
>It says "The Trinity 2 requirement is to provide the necessary 
>updates to enable cross-endian QNET...", and further, goes on 
>to say that "It is important to note that Trinity 2 will not 
>deliver cross-endian QNET, however it makes the kernel changes 
>necessary to achieve future compatibility."
>
>This is confusing me a bit. Is there a usable version of this 
>new QNet with Cross Endian support? If so, could I take a look 
>at its source code? 
>
>I have installed Neutrino 6.4.0. Is this new QNet available in 
>it (according to 
>http://community.qnx.com/sf/wiki/do/viewPage/projects.core_os/w
>iki/Trinity2 , Neutrino 6.4.0 is carrying it.)
>
>Thanks..
>
>
>
>_______________________________________________
>
>Technology
>http://community.qnx.com/sf/go/post34991
>
> 
 
*******************************************
Harman Becker Automotive Systems GmbH
Management Board: Dr. Klaus Blickle (Chairman), Dr. Udo Hüls, Michael Mauser
Chairman of the Supervisory Board: Ansgar Rempp | Domicile: Karlsbad | 
Local Court Mannheim: Register No. 361395

 
*******************************************
Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen. Wenn Sie nicht der richtige Adressat 
sind oder diese E-Mail irrtuemlich erhalten haben, informieren Sie bitte sofort den Absender und loeschen Sie diese Mail
. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet.
This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have 
received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, 
disclosure or distribution of the contents in this e-mail is strictly forbidden.
*******************************************
Re: AW: Cross Endian QNet technology  
oh.. :(

thanks for clearing that up
Re: AW: Cross Endian QNet technology  
But if one were to make changes to the current QNet code to make it support cross endianness, what all changes would be 
required? As in, would the kernel stay the same? In the page mentioning the cross endian QNet, it said changes were to 
be doen on the kernel, mq's and pipes, and libc. 

Are these the only areas where the changes are to be made? Or is there something else which needs to be included or 
excluded?

Thanks..
AW: AW: Cross Endian QNet technology  
every resmgr that is dealing with some data has to be changed! 

>-----Ursprüngliche Nachricht-----
>Von: Soumik Mondal [mailto:community-noreply@qnx.com] 
>Gesendet: Freitag, 31. Juli 2009 12:19
>An: technology-networking
>Betreff: Re: AW: Cross Endian QNet technology
>
>But if one were to make changes to the current QNet code to 
>make it support cross endianness, what all changes would be 
>required? As in, would the kernel stay the same? In the page 
>mentioning the cross endian QNet, it said changes were to be 
>doen on the kernel, mq's and pipes, and libc. 
>
>Are these the only areas where the changes are to be made? Or 
>is there something else which needs to be included or excluded?
>
>Thanks..
>
>
>
>_______________________________________________
>
>Technology
>http://community.qnx.com/sf/go/post34994
>
> 
 
*******************************************
Harman Becker Automotive Systems GmbH
Management Board: Dr. Klaus Blickle (Chairman), Dr. Udo Hüls, Michael Mauser
Chairman of the Supervisory Board: Ansgar Rempp | Domicile: Karlsbad | 
Local Court Mannheim: Register No. 361395

 
*******************************************
Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen. Wenn Sie nicht der richtige Adressat 
sind oder diese E-Mail irrtuemlich erhalten haben, informieren Sie bitte sofort den Absender und loeschen Sie diese Mail
. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet.
This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have 
received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, 
disclosure or distribution of the contents in this e-mail is strictly forbidden.
*******************************************
RE: Cross Endian QNet technology  
> there is no working cross endian Qnet

actually, it was done years ago.  The source
to cross-endian Qnet is available to everyone
in the core-networking repository.

> every resmgr that is dealing with some data 
> has to be changed!

Right.  Which has nothing to do with qnet,
which has no knowledge of the user data.

--
aboyd  
AW: Cross Endian QNet technology  
so please can you give me one example of an working cross endiadn qnet installation?


-----Ursprüngliche Nachricht-----
Von:	Andrew Boyd [mailto:community-noreply@qnx.com]
Gesendet:	Fr 31.07.2009 15:56
An:	technology-networking
Cc:	
Betreff:	RE: Cross Endian QNet technology


> there is no working cross endian Qnet

actually, it was done years ago.  The source
to cross-endian Qnet is available to everyone
in the core-networking repository.

> every resmgr that is dealing with some data 
> has to be changed!

Right.  Which has nothing to do with qnet,
which has no knowledge of the user data.

--
aboyd  




_______________________________________________

Technology
http://community.qnx.com/sf/go/post35025 
 
*******************************************
Harman Becker Automotive Systems GmbH
Management Board: Dr. Klaus Blickle (Chairman), Dr. Udo Hüls, Michael Mauser
Chairman of the Supervisory Board: Ansgar Rempp | Domicile: Karlsbad | 
Local Court Mannheim: Register No. 361395

 
*******************************************
Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen. Wenn Sie nicht der richtige Adressat 
sind oder diese E-Mail irrtuemlich erhalten haben, informieren Sie bitte sofort den Absender und loeschen Sie diese Mail
. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet.
This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have 
received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, 
disclosure or distribution of the contents in this e-mail is strictly forbidden.
*******************************************
Attachment: Text winmail.dat 3.37 KB
RE: Cross Endian QNet technology  
> give me one example of an working cross endiadn (sic) 
> qnet installation?

Sure.  We have a large telecom customer, who actually
was the driving force behind cross-endian qnet support.
I'm pretty sure their product is shipping now.  We have
another extremely large telecom customer who is going to
use it now, too.

I think you work for Harman, right?  Send me an email
at aboyd@qnx.com and I'll reply to you with the names 
of both customers, since it seems to be extremely 
important to you that you possess this information

> what can I do with an cross endian qnet

Embedded applications is what most people use it
for, so far.  I agree that we need to make more
resmgrs (and associated lib code) endian-aware
to make it more useful in the general case.

--
aboyd
AW: Cross Endian QNet technology  
a 2nd one:
what can I do with an cross endian qnet, as long as the whole other system can't deal with it?


-----Ursprüngliche Nachricht-----
Von:	Andrew Boyd [mailto:community-noreply@qnx.com]
Gesendet:	Fr 31.07.2009 15:56
An:	technology-networking
Cc:	
Betreff:	RE: Cross Endian QNet technology


> there is no working cross endian Qnet

actually, it was done years ago.  The source
to cross-endian Qnet is available to everyone
in the core-networking repository.

> every resmgr that is dealing with some data 
> has to be changed!

Right.  Which has nothing to do with qnet,
which has no knowledge of the user data.

--
aboyd  




_______________________________________________

Technology
http://community.qnx.com/sf/go/post35025 
 
*******************************************
Harman Becker Automotive Systems GmbH
Management Board: Dr. Klaus Blickle (Chairman), Dr. Udo Hüls, Michael Mauser
Chairman of the Supervisory Board: Ansgar Rempp | Domicile: Karlsbad | 
Local Court Mannheim: Register No. 361395

 
*******************************************
Diese E-Mail enthaelt vertrauliche und/oder rechtlich geschuetzte Informationen. Wenn Sie nicht der richtige Adressat 
sind oder diese E-Mail irrtuemlich erhalten haben, informieren Sie bitte sofort den Absender und loeschen Sie diese Mail
. Das unerlaubte Kopieren sowie die unbefugte Weitergabe dieser Mail ist nicht gestattet.
This e-mail may contain confidential and/or privileged information. If you are not the intended recipient (or have 
received this e-mail in error) please notify the sender immediately and delete this e-mail. Any unauthorized copying, 
disclosure or distribution of the contents in this e-mail is strictly forbidden.
*******************************************
Attachment: Text winmail.dat 3.39 KB
Re: AW: Cross Endian QNet technology  
Actually, my problem is this:

My team is supposed to write a middleware for providing a mode of communication and for data transfer between two 
machines (specifically). The machines have QNX 6.4 as the OS. Other than these two machines, there is a third machine 
involved whose endianness is different from the former two machines.

Among the design options that we have come up with, QNet fits the bill very well in terms of performance and overhead, 
but the problem is that the 2 machines need to communicate with the 3rd one too. For that, a cross endian Qnet is 
required.

Sorry if this is very vague, but I can't say more than this about the work... confidentiality issues.

So if you get my problem, please suggest a way to do it / workaround for it. I was thinking of keeping this cross endian
 version on all machines so that endianness would not be an issue.. we considered tweaking qnet itself for our use but 
that didn't seem feasible ... not as easy as changing the buffer size of sockets :-/

If the old code in the core networking repository works, this problem should be solved... can anyone please point me 
towards that page?
RE: AW: Cross Endian QNet technology  
> QNet fits the bill very well in terms of performance 
> and overhead, but ... a cross endian Qnet is required.

If you are running 6.4 (io-pkt) I think you are already
running cross-endian qnet.

As a test, start up an le machine with io-pkt and a 
driver and qnet, and start up a be machine with io-pkt
and a qnet.  Let them sit, and you should see both
hostnames appear in /net, which means the qnets are
talking.  Run

  # cat /proc/qnetstats

to verify precisely what has occurred.

So, if you are running 6.4, you already have cross-endian
qnet.  The more relevant question, is what other system
services do you require cross-endian?

Just to pick on someone randomly, does your application
require you need to use io-usb remotely via qnet and 
cross-endian?  As a total shot in the dark, I would guess
that poor old io-usb is probably not endian-aware - it
probably doesn't do the "right thing" with respect to
byte-swapping of 16 bit and 23 bit values after Receive
and before Reply.  But, it probably could.

When people talk about "cross-endian qnet", the above
is what I think of.  Qnet itself works just fine cross-endian -
it's the other bits and pieces of the system that worry me.

--
aboyd
Re: AW: Cross Endian QNet technology  
There's more information in the 6.4.1 docs for QNET
http://www.qnx.com/developers/docs/6.4.1/neutrino/prog/adv_qnet_topics.html

"What are the limitations ..."

Qnet is cross endian-capable.  Only a restricted sub-set of resource managers are currently cross-endian capable 
(ironically, the resource manager that QNET exposes isn't... yet :>)

      Robert.