* 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.