IP over PCI

I wonder if anyone ever heard of QNX6 implementation of the driver in subject. I remember seeing something similar on QNX’2000 in Vancuver, Canada back in 2000, but never heard anything since.

The idea behind this question is to have several single board computers(sitting in the same cPCI chassis) communicating to each other without physical Ethernet connection.

Thanks in advance.

I think there was a driver for that, never released though. The problem with that is it’s very heavy on the CPU time, what is usually done via DMA on the network card has to be handle by the CPU. Take for example a broadcast in TCP/IP (ARP) or as use by QNET. It means the driver has to copy the data to every other board one by one… Also backplane can become create a huge bottle neck. The PCI bus can only handle 133Mbytes sec at best ( if not done by DMA it can drop dramatically). But that 133Mbytes is shared with ALL the CPU card, has opposed to a good 1G network switch that can handle a lot more then 1G/sec.

If the CPU are dual core then it might not be as bad cause one core can take care of the networking but I’m guessing speedwise it will crawl.

I think there is something about rapid IO though that might be of help.

Mario, thank you for helpful hints. System this driver is intended to go will have very light traffic of control messages going between boards. So neither CPU nor through output issues matter. Benefit though is that system design relies on IP communication and will not require any changes when Ethernet connection becomes available.

Do you know by any chance whom in QNX I can talk to to get binaries or even source code of mentioned driver? I recall Sebastian was presenting this feature in Vancuver, but he is kind of not in the development anymore I guess.

Normal channel is sales, unfortunately ;-) Try posting in foundry 27 networking forum.

A driver like that shouldn’t be that difficult to write.

Have you tried asking about this on Foundry27 ? There is a Networking Project with Forums.

There is a rapidIO driver, but not a PCI(x) driver. The logical hardware to target for this is PCI Express, which is functionally similar to rapidIO, but this has not been done yet.