Note that there are some explanatory texts on larger screens.

plurals
  1. POnetwork device module equivalent to ping
    primarykey
    data
    text
    <p>I have made a module which is transmitting but I don't know whether the packet which I am transmitting is a ping packet or not. Code is shown below:</p> <pre class="lang-c prettyprint-override"><code> icmp.type = 8; icmp.code = 0; icmp.un.echo.sequence = i; ip4.protocol = 1; //for icmp protocol ip4.frag_off = 0; ip4.daddr = in_aton(procfs_buffer); ip4.saddr = in_aton(ifr-&gt;ifr_addr.sa_data); len = sizeof(data); skb = dev_alloc_skb(1500); skb-&gt;dev = __dev_get_by_name(&amp;init_net,"wlan0"); skb_reserve(skb,NET_IP_ALIGN); // header of 2 bytes; increments tail and // data pointer skb-&gt;data = skb_put(skb,sizeof(len)); // increments all pointer or adds data memcpy(data,skb-&gt;data,len); skb-&gt;transport_header =skb_push(skb,sizeof(icmp)); memset(skb-&gt;transport_header,0,sizeof(struct icmphdr)); memcpy(skb-&gt;transport_header,&amp;icmp,sizeof(struct icmphdr)); skb-&gt;network_header=skb_push(skb,sizeof(ip4)); memset(skb-&gt;network_header,0,sizeof(struct iphdr)); memcpy(skb-&gt;network_header,&amp;ip4,sizeof(struct iphdr)); // printk("i::%d\n",i); // skb-&gt;mac_header = skb_push(skb,6*sizeof(0xFF)); // memset(skb-&gt;mac_header,0xFF,6*sizeof(0xFF)); dev_queue_xmit(skb); kfree(skb); </code></pre> <p>How can I know that it is a ping packet which I am creating and transmitting? Further I want to receieve the ping packet in response to my ping packet which I have transmitted. I would like to use napi but wont mind any other suggestions.</p> <p>please read a topic : reception napi mode <a href="http://www.cs.columbia.edu/~nahum/w6998/lectures/device-layer.ppt" rel="nofollow">here</a> i could nt understand what to do from the link above.....</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload