I am working on interfacing directly with the networking device drivers on my linux box. I have tracked down the functions for transmitting ( dev_queue_xmit() ) packets down to the driver level. What I need to do is bypass the socket interface without destroying it ... So that I can transmit my own packets or my own design down to the wire ( I am using this for my job of testing new networking hardware -- RMON probes mostly ) so I need to be able to create both good and bad packets with most any kind of data contained inside as RMON-2 will be able to pick apart a packet and identify its contents.
We can build the packets, but we can't get them to the wire through standard means. I think that this can be accomplished with the dev_queue_xmit() function. Question is: in the sk_buff structure what do I need to set up specifically so that dev_queue_xmit() and the driver will simply pass my data to the hardware without building the standard headers required by ethernet and other network types? I'll worry about that, and if I make a mistake I will clean up the mess. Any help is appreciated.