Project Home
Project Home
Trackers
Trackers
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - raw ethernet packets: (5 Items)
   
raw ethernet packets  
How can I send a plain (raw) ethernet packet under QNX? Since want to send packets with a small payload at a high 
frequency, using IP/UDP would lead to a unacceptably high overhead. 

Under LINUX this can be done using 
 s = socket(AF_PACKET, SOCK_RAW, htons(ETH_P_ALL));
Since there seems to be no AF_PACKET under QNX, so this obviously doesn't work.

I couldn't find anything in the documentation except:
" SOCK_RAW -- provides access to internal network protocols and interfaces. Available only to the superuser, this type 
isn't described here."

Is it described anywhere else in the documentation? I would be thankful for any hint as to how this can be done under 
QNX.

Thomas
Re: raw ethernet packets  
On Sat, Nov 17, 2007 at 10:31:44AM -0500, Thomas Buschmann wrote:
> How can I send a plain (raw) ethernet packet under QNX? Since want to
> send packets with a small payload at a high frequency, using IP/UDP
> would lead to a unacceptably high overhead. 
> 
> Under LINUX this can be done using 
>  s = socket(AF_PACKET, SOCK_RAW, htons(ETH_P_ALL));
> Since there seems to be no AF_PACKET under QNX, so this obviously
> doesn't work.
> 
> I couldn't find anything in the documentation except:
> " SOCK_RAW -- provides access to internal network protocols and
> interfaces. Available only to the superuser, this type isn't described
> here."
> 
> Is it described anywhere else in the documentation? I would be thankful
> for any hint as to how this can be done under QNX.


In io-pkt this can be done with bpf / libpcap.
In io-net the closest thing we had was nfm-nraw.so
which allowed one to open() / read() / write() on
/dev/io-net/enX.  nraw wasn't shipped AFAIK.

-seanb
Re: raw ethernet packets  
Thanks for the reply.
As you suggest, I cannot find nfm-nraw.so on my system, so it apparently
wasn't shipped. 
There is a nfm-bpf.so, but use nfm-bpf.so suggests raw IP (not raw
Ethernet) only. 
Is it correct that io-pkt.so is from the next generation protocol stack,
which means it currently isn't possible to send raw Ethernet under QNX?
That is, the only possibility would be to use the Network DDK to attach
to io-net?

Thomas

On Mon, 2007-11-19 at 10:17 -0500, Sean Boudreau wrote:
> On Sat, Nov 17, 2007 at 10:31:44AM -0500, Thomas Buschmann wrote:
> > How can I send a plain (raw) ethernet packet under QNX? Since want to
> > send packets with a small payload at a high frequency, using IP/UDP
> > would lead to a unacceptably high overhead. 
> > 
> > Under LINUX this can be done using 
> >  s = socket(AF_PACKET, SOCK_RAW, htons(ETH_P_ALL));
> > Since there seems to be no AF_PACKET under QNX, so this obviously
> > doesn't work.
> > 
> > I couldn't find anything in the documentation except:
> > " SOCK_RAW -- provides access to internal network protocols and
> > interfaces. Available only to the superuser, this type isn't described
> > here."
> > 
> > Is it described anywhere else in the documentation? I would be thankful
> > for any hint as to how this can be done under QNX.
> 
> 
> In io-pkt this can be done with bpf / libpcap.
> In io-net the closest thing we had was nfm-nraw.so
> which allowed one to open() / read() / write() on
> /dev/io-net/enX.  nraw wasn't shipped AFAIK.
> 
> -seanb
> 
> _______________________________________________
> General
> http://community.qnx.com/sf/go/post2748
> 
-- 
Dipl.-Ing. Thomas Buschmann

Technische Universitaet Muenchen
Lehrstuhl fuer Angewandte Mechanik
Boltzmannstrasse 15, D-85747 Garching

Phone: +49 89/289-15228
Fax  : +49 89/289-15213
eMail: buschmann@amm.mw.tum.de
WWW  : http://www.amm.mw.tum.de/People/buschmann.html


Re: raw ethernet packets  
On Mon, Nov 19, 2007 at 11:50:12AM -0500, Thomas Buschmann wrote:
> Thanks for the reply.
> As you suggest, I cannot find nfm-nraw.so on my system, so it apparently
> wasn't shipped. 
> There is a nfm-bpf.so, but use nfm-bpf.so suggests raw IP (not raw
> Ethernet) only. 
> Is it correct that io-pkt.so is from the next generation protocol stack,
> which means it currently isn't possible to send raw Ethernet under QNX?
> That is, the only possibility would be to use the Network DDK to attach
> to io-net?
> 
> Thomas

In io-net bpf was read only.  So yes, for io-net the options
are roll your own via the tdk or get a hold of nfm-nraw
(sales rep?).

-seanb
Re: raw ethernet packets  
Thanks!

On Mon, 2007-11-19 at 12:09 -0500, Sean Boudreau wrote:
> On Mon, Nov 19, 2007 at 11:50:12AM -0500, Thomas Buschmann wrote:
> > Thanks for the reply.
> > As you suggest, I cannot find nfm-nraw.so on my system, so it apparently
> > wasn't shipped. 
> > There is a nfm-bpf.so, but use nfm-bpf.so suggests raw IP (not raw
> > Ethernet) only. 
> > Is it correct that io-pkt.so is from the next generation protocol stack,
> > which means it currently isn't possible to send raw Ethernet under QNX?
> > That is, the only possibility would be to use the Network DDK to attach
> > to io-net?
> > 
> > Thomas
> 
> In io-net bpf was read only.  So yes, for io-net the options
> are roll your own via the tdk or get a hold of nfm-nraw
> (sales rep?).
> 
> -seanb
> 
> _______________________________________________
> General
> http://community.qnx.com/sf/go/post2755
> 
-- 
Dipl.-Ing. Thomas Buschmann

Technische Universitaet Muenchen
Lehrstuhl fuer Angewandte Mechanik
Boltzmannstrasse 15, D-85747 Garching

Phone: +49 89/289-15228
Fax  : +49 89/289-15213
eMail: buschmann@amm.mw.tum.de
WWW  : http://www.amm.mw.tum.de/People/buschmann.html