2003-08-22 15:23:49

by Chris Friesen

[permalink] [raw]
Subject: help??? trying to trace code path of outgoing udp packet


I'm trying to figure out the code path taken by an outgoing udp packet,
and I'm having a bit of trouble figuring out which functions are called
by which function pointers. The path that I have so far is this:

udp_sendmsg udp.c
ip_build_xmit ip_output.c
output_maybe_reroute ip_output.c skb->dst->output
ip_output ip_output.c
ip_finish_output ip_output.c
ip_finish_output2 ip_output.c dst->neighbour->output

Is this correct? Where does it go from here and how does it eventually
end up in the driver?

In the case in question, the network device is the tulip chip and
traffic shaping is not enabled, but we do have advanced routing turned on.

Thanks,

Chris


--
Chris Friesen | MailStop: 043/33/F10
Nortel Networks | work: (613) 765-0557
3500 Carling Avenue | fax: (613) 765-2986
Nepean, ON K2H 8E9 Canada | email: [email protected]


2003-08-22 15:36:54

by Nivedita Singhvi

[permalink] [raw]
Subject: Re: help??? trying to trace code path of outgoing udp packet

Chris Friesen wrote:

> ip_finish_output ip_output.c
> ip_finish_output2 ip_output.c dst->neighbour->output

|
V
dev_queue_xmit()
qdisc_run()
qdisc_restart()
dev->hard_start_xmit() [driver xmit routine]

this is for the default queuing discipline.

thanks,
Nivedita


2003-08-22 16:56:28

by Chris Friesen

[permalink] [raw]
Subject: Re: help??? trying to trace code path of outgoing udp packet

Nivedita Singhvi wrote:
> Chris Friesen wrote:
>
>> ip_finish_output ip_output.c
>> ip_finish_output2 ip_output.c dst->neighbour->output
>
>
> |
> V
> dev_queue_xmit()
> qdisc_run()
> qdisc_restart()
> dev->hard_start_xmit() [driver xmit routine]
>
> this is for the default queuing discipline.

Thanks. That should give me enough to track down what I'm looking for.

Chris

--
Chris Friesen | MailStop: 043/33/F10
Nortel Networks | work: (613) 765-0557
3500 Carling Avenue | fax: (613) 765-2986
Nepean, ON K2H 8E9 Canada | email: [email protected]