I am working on QNX 6.5 for TCP/IP related application s/w using libpcap library.The same code is working perfectly on QNX 6.4, but in QNX 6.5 whenever I am running my application it is removing the network driver.So I need to type the following command :io-pkt-v4-hc -d e1000 -ptcpip and ifconfig wm0 ip address to start the driver once again.
Can anybody please tell me why it is behaving like this and how to resolve this problem?
I’ve never run into libpcap before so I googled it. Apparently it is a library.
How is it that you think a library is causing a network driver to be removed?
Upon a closer look at your statement, it seems that it is not removing the driver, it’s crashing io-pkt, right?
Well the obvious answer is, there’s a bug somewhere. I wrote a network driver recently, and I was surprised that the io-pkt interface was a quite fragile. For efficiency, instead of a message passing interface that would insulate io-pkt, driver code is loaded and run in the io-pkt context. I think the same thing happens with libpcap code, which is a filter. I recall that the filter mechanism is called from the driver itself, not io-pkt, so it could be that the particular driver you are using has a bug. If possible, I would try it with a different driver/hardware combination to check. You might also try to get a crash dump to see if it is in the libpcap code that the crash occurs.
One reality check you could perform is to use the 6.4 io-pkt and driver under 6.5 to see if the results are different. If they are the same, it suggests something outside of io-pkt and the driver. I’d also check the release notes for 6.5 to see if they mention any changes.