2004-11-21 15:32:03

by cranium2003

[permalink] [raw]
Subject: how netfilter handles fragmented packets

hello,
In ip_output.c file ip_fragmet function when
create a new fragmented packet given to output(skb)
function. i want to know which function are actually
called by output(skb)?
Is that function ip_finish_output? if yes
then fragmented packet has not gone through netfilter
hooks specially NF_IP_LOCAL_OUT?
so does that mean fragmented packets not
travel through netfilter hooks?
regards,
cranium



__________________________________
Do you Yahoo!?
The all-new My Yahoo! - Get yours free!
http://my.yahoo.com



2004-11-21 16:20:18

by Jan Engelhardt

[permalink] [raw]
Subject: Re: how netfilter handles fragmented packets

>hello,
> In ip_output.c file ip_fragmet function when
>create a new fragmented packet given to output(skb)
>function. i want to know which function are actually
>called by output(skb)?

use stack_dump() (or was it dump_stack()?)



Jan Engelhardt
--
Gesellschaft für Wissenschaftliche Datenverarbeitung
Am Fassberg, 37077 Göttingen, http://www.gwdg.de

2004-11-21 17:37:24

by Nish Aravamudan

[permalink] [raw]
Subject: Re: how netfilter handles fragmented packets

On Sun, 21 Nov 2004 17:15:12 +0100 (MET), Jan Engelhardt
<[email protected]> wrote:
> >hello,
> > In ip_output.c file ip_fragmet function when
> >create a new fragmented packet given to output(skb)
> >function. i want to know which function are actually
> >called by output(skb)?
>
> use stack_dump() (or was it dump_stack()?)

dump_stack(), if you want to dump the current process' stack context.

-Nish

2004-11-21 19:42:08

by cranium2003

[permalink] [raw]
Subject: Re: how netfilter handles fragmented packets


--- Nish Aravamudan <[email protected]> wrote:
Hello Nish,

> On Sun, 21 Nov 2004 17:15:12 +0100 (MET), Jan
> Engelhardt
> <[email protected]> wrote:
> > >hello,
> > > In ip_output.c file ip_fragmet function
> when
> > >create a new fragmented packet given to
> output(skb)
> > >function. i want to know which function are
> actually
> > >called by output(skb)?
> >
> > use stack_dump() (or was it dump_stack()?)
>
> dump_stack(), if you want to dump the current
> process' stack context.
>
> -Nish
>

can you please tell me how can i use dump_stack()
method? so using dump_stack i will come to know which
function will be called by output(skb) right? But
where i get dump_stack()???
regards,
cranium



__________________________________
Do you Yahoo!?
Meet the all-new My Yahoo! - Try it today!
http://my.yahoo.com


2004-11-22 20:10:42

by Nish Aravamudan

[permalink] [raw]
Subject: Re: how netfilter handles fragmented packets

On Sun, 21 Nov 2004 11:42:02 -0800 (PST), cranium2003
<[email protected]> wrote:
>
> --- Nish Aravamudan <[email protected]> wrote:
> Hello Nish,
>
>
>
> > On Sun, 21 Nov 2004 17:15:12 +0100 (MET), Jan
> > Engelhardt
> > <[email protected]> wrote:
> > > >hello,
> > > > In ip_output.c file ip_fragmet function
> > when
> > > >create a new fragmented packet given to
> > output(skb)
> > > >function. i want to know which function are
> > actually
> > > >called by output(skb)?
> > >
> > > use stack_dump() (or was it dump_stack()?)
> >
> > dump_stack(), if you want to dump the current
> > process' stack context.
> >
> > -Nish
> >
>
> can you please tell me how can i use dump_stack()
> method? so using dump_stack i will come to know which
> function will be called by output(skb) right? But
> where i get dump_stack()???

Last time i used it, I didn't need to do a darn thing. I believe it's
part of the traps code, so you can just call dump_stack().
dump_stack() will throw out the trace of the current task's stack at
the point when it is called. See what happens when you place it in
different places. Another option, if you ever have a hanging sytem is
Alt-SysRq-T (presuming you have the magic option enabled and you are
able to scrollback still), which pretty much calls dump_stack() for
all available processes.

-Nish

2004-11-23 06:14:24

by cranium2003

[permalink] [raw]
Subject: Re: how netfilter handles fragmented packets

Hello Nish,
Thanks. I got it. dump_stack is implemented
in trap.c file in kernel source.
what i decide to use dump_stack is to do
pinging to myself at one console and same time call
dump_stack from user program. Is that right? But where
is output displayed? Dose that help me to find out
which function is called by output(skb).

regards,
cranium.


--- Nish Aravamudan <[email protected]> wrote:

> On Sun, 21 Nov 2004 11:42:02 -0800 (PST),
> cranium2003
> <[email protected]> wrote:
> >
> > --- Nish Aravamudan <[email protected]>
> wrote:
> > Hello Nish,
> >
> >
> >
> > > On Sun, 21 Nov 2004 17:15:12 +0100 (MET), Jan
> > > Engelhardt
> > > <[email protected]> wrote:
> > > > >hello,
> > > > > In ip_output.c file ip_fragmet
> function
> > > when
> > > > >create a new fragmented packet given to
> > > output(skb)
> > > > >function. i want to know which function are
> > > actually
> > > > >called by output(skb)?
> > > >
> > > > use stack_dump() (or was it dump_stack()?)
> > >
> > > dump_stack(), if you want to dump the current
> > > process' stack context.
> > >
> > > -Nish
> > >
> >
> > can you please tell me how can i use dump_stack()
> > method? so using dump_stack i will come to know
> which
> > function will be called by output(skb) right? But
> > where i get dump_stack()???
>
> Last time i used it, I didn't need to do a darn
> thing. I believe it's
> part of the traps code, so you can just call
> dump_stack().
> dump_stack() will throw out the trace of the current
> task's stack at
> the point when it is called. See what happens when
> you place it in
> different places. Another option, if you ever have a
> hanging sytem is
> Alt-SysRq-T (presuming you have the magic option
> enabled and you are
> able to scrollback still), which pretty much calls
> dump_stack() for
> all available processes.
>
> -Nish
>
> --
> Kernelnewbies: Help each other learn about the Linux
> kernel.
> Archive:
> http://mail.nl.linux.org/kernelnewbies/
> FAQ: http://kernelnewbies.org/faq/
>
>




__________________________________
Do you Yahoo!?
Meet the all-new My Yahoo! - Try it today!
http://my.yahoo.com