All of lore.kernel.org
 help / color / mirror / Atom feed
* sending ICMP messages in kernel module
@ 2005-05-07  5:00 rajat swarup
  2005-05-07 22:17 ` J. Scott Kasten
  0 siblings, 1 reply; 3+ messages in thread
From: rajat swarup @ 2005-05-07  5:00 UTC (permalink / raw)
  To: linux-kernel

Hi,
I have placed a netfilter hook in which I grab the packets in the
pre-routing stage.
I need to send ICMP messages in response to certain messages in this hook.
I looked at alloc_skb(), skb_reserve() and skb_put() functions but it
is still not clear to me as to how to construct the packets using
these methods.
Since I am getting the packets in the Pre-routing stage should I
explicitly construct the MAC header, IP header & data & ICMP message?
Also, I'll need to calculate the checksum to be transmitted in the
ICMP packet...which method could I use to do that?

Any help will be really appreciated!

Thanks and regards,
Rajat.
http://rajatswarup.blogspot.com/

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: sending ICMP messages in kernel module
  2005-05-07  5:00 sending ICMP messages in kernel module rajat swarup
@ 2005-05-07 22:17 ` J. Scott Kasten
  2005-05-07 23:39   ` rajat swarup
  0 siblings, 1 reply; 3+ messages in thread
From: J. Scott Kasten @ 2005-05-07 22:17 UTC (permalink / raw)
  To: rajat swarup; +Cc: linux-kernel


rajat swarup wrote:

>Hi,
>I have placed a netfilter hook in which I grab the packets in the
>pre-routing stage.
>I need to send ICMP messages in response to certain messages in this hook.
>I looked at alloc_skb(), skb_reserve() and skb_put() functions but it
>is still not clear to me as to how to construct the packets using
>these methods.
>Since I am getting the packets in the Pre-routing stage should I
>explicitly construct the MAC header, IP header & data & ICMP message?
>Also, I'll need to calculate the checksum to be transmitted in the
>ICMP packet...which method could I use to do that?
>  
>
Hello,

I had a similar problem once.  In the icmp.c file, look at how the ping 
echo reply works.  That is as close to a tutorial as you will find in 
the code.  I think you might find it strait forward from there.

-Scott-


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: sending ICMP messages in kernel module
  2005-05-07 22:17 ` J. Scott Kasten
@ 2005-05-07 23:39   ` rajat swarup
  0 siblings, 0 replies; 3+ messages in thread
From: rajat swarup @ 2005-05-07 23:39 UTC (permalink / raw)
  To: J. Scott Kasten; +Cc: linux-kernel

On 5/7/05, J. Scott Kasten <jscottkasten@yahoo.com> wrote:
> 
> rajat swarup wrote:
> 
> >I have placed a netfilter hook in which I grab the packets in the
> >pre-routing stage.
> >I need to send ICMP messages in response to certain messages in this hook.
> >I looked at alloc_skb(), skb_reserve() and skb_put() functions but it
> >is still not clear to me as to how to construct the packets using
> >these methods.
> >Since I am getting the packets in the Pre-routing stage should I
> >explicitly construct the MAC header, IP header & data & ICMP message?
> >Also, I'll need to calculate the checksum to be transmitted in the
> >ICMP packet...which method could I use to do that?
> >
> >
> 
> I had a similar problem once.  In the icmp.c file, look at how the ping
> echo reply works.  That is as close to a tutorial as you will find in
> the code.  I think you might find it strait forward from there.
>

Hi Scott,
I am trying to send ICMP messages but not in reply to anything else.
We have to generate ICMP messages from scratch.
So we do not have access to an existing sk_buff structure that has all
the parameters already set.
icmp_echo(struct skbuff*) assumes that you already have the sk_buff
structure and you are just assigning a few more fields.
Do you have an idea about how can we create ICMP messages from scratch?

Thanks for the help!

-Rajat.
http://rajatswarup.blogspot.com/

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2005-05-07 23:39 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-05-07  5:00 sending ICMP messages in kernel module rajat swarup
2005-05-07 22:17 ` J. Scott Kasten
2005-05-07 23:39   ` rajat swarup

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.