How did you capture the packet. I mean netfilter hooks, or using dev_add_pack or ....
Regards bhaskar
venum wrote:
Hi
I am facing a problem with the part of kernel code that I am developing for a linux router. The objective is to encapsulate the received IP packet with a UDP header and an extra IP header and forward it to a different destination. I am encapsulating the original packet and passing it to the stack using 'netif_rx'. I want the stack to forward the packet to changed destination. At the destination the packet will be decapsulated. But once the packet is given to the 'netif_rx', stack is dropping the packet silently. I don't know which part of the stack code is dropping the packet.
I need help in debugging this problem.I am giving the following details about the encapsulation:
Dump of the ICMP ping packet received: 0 0 24 c0 2d 63 0 80 48 18 9e 5a 8 0 45 0 0 3c 1 cb 0 0 80 1 dc 18 ac 10 2 5c ac 10 2 61 8 0 4a 5c 2 0 1 0 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 61 62 63 64 65 66 67 68 69
Packet Dump after Encapsulation: This packet is given to stack using 'netif_rx' 45 0 0 74 56 34 0 0 f0 11 ba 8b ac 10 16 1 ac 10 16 3 d4 31 d4 31 0 8 0 0 1 1 1 11 22 33 44 55 66 0 0 0 0 0 0 0 24 c0 2d 63 0 80 48 18 9e 5a 8 0 45 0 0 3c 1 cb 0 0 80 1 dc 18 ac 10 2 5c ac 10 2 61 8 0 4a 5c 2 0 1 0 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 61 62 63 64 65 66 67 68 69 I want this packet to be routed to IP address 172.16.22.3. The required route is configured. Is any thing wrong in the above encapsulated packet ? I am modifiying the follwing skb params:
pSkb->ip_summed = CHECKSUM_UNNECESSARY; /* I have tried others like NONE,HW with no improvements */
pSkb->protocol = htons(ETH_P_IP); /* Since it is always an IP packet */
Can anyone help me find out the problem. I will provide any other details if required.
TIA, venu maya
-- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/
-- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/