Hi all, I am writing a device driver which requires me to add a new header in between the IP header and the MAC header (ethernet). Now, i dont want to modify the original sk_buff structure to add a pointer to this header. What i have done instead is to specify the 'hard_header_len' of this device to be equal to the sum of MAC and custom header lengths. ie. mydevice->hard_header_len = MAC header length + myheader length Now when i transmit these packets using dev_queue_xmit (which in turn calls the hard_start_xmit function of eth0), my packets arrive mangled at the destination machine. Essentially the IP header pointer (nh.raw/nh.iph) is pointing to 'myheader'instead of to the IP header which starts after 16 bytes. Any comments or suggestions on this approach will be appreciated. Regards, Amit -- ^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^-^ Amit Kucheria EECS Grad. Research Assistant Team Niehaus || Room # 245E University of Kansas @ Lawrence (R)+1-(785)-830 8521 ||| (O)+1-(785)-864 7774 ____________________________________________________ - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org