Send and receive packets with a kernel module via ppp0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux