Hi, I have the following problem: I'm working on a CarPc with Debian 2.6.15. I have to send and receive packets ( i.e. ping) from an own written kernel module (I call it umts with the intercae umts0) to ppp0, which has a connection to an umts modem via the nozomi driver. With each new connection with the provider the ppp0 receives a new loacal address i.e. 90.187.103.249. I configured umts 0 with "ifconfig umts0 10.0.0.10 netmask 255.255.255.0 " and set it as default route with "route add default gw 10.0.0.10" For sending the packets from umts0 to ppp0 I use the following code: struct net_device *dev_ppp0; dev_ppp0 = dev_get_by_name("ppp0"); skb->dev = dev_ppp0; skb_pull(skb, 14); *((skb->data)+12) = 90; *((skb->data)+13) = 187; *((skb->data)+14) = 103; *((skb->data)+15) = 249; skb->nh.iph->check = 0; skb->nh.iph->check = ip_fast_csum((unsigned char *)skb->nh.iph, skb->nh.iph->ihl); skb->pkt_type = PACKET_OUTGOING; dev_queue_xmit(skb); I changed the IP source address from 10.0.0.10 to 90.187.103.249 so that ppp0 can receive the reply for the ping. I switch the ip forwarding on: echo 1 >> /proc/sys/net/ipv4/ip_forward cat /proc/sys/net/ipv4/ip_forward 1 With the code above I can receive the reply for the ping at ppp0 (seen with "tcpdump -i ppp0 -x -e -vvv") but I don't know what I have to do to receive the ping reply packet with my umts module. I read http://kernelnewbies.org/Documents/LinuxIPNetworking#head-f204e85ca7561a0a903c6a94273b9ee7a27b4994. and I have learned the following: When a packet is received the IP layer checks whether the packet is for the own host (I think that's my case) or for another host. If it's for the own host the packet is sent to the transport layer. But in my case the packet shouldn't be sent to the transport layer but to my kernel module umts. Thanks Doris -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ