hi All,
My name is william fitzgerald and i'm doing my first year of research in
Maynooth N.U.I in Ireland.My research is basically about measuring and
documenting the points in which packets are lost by a router on a
network.To be perfectly honest i am a complete novice in this whole area
of linux and routing but i'm learning.In the future i would like to develop
some optimization strategies in the area of routing for the linux
community.
i have a query that i hope you can help me with because i just can't seem
to get my head around some stuff.
To begin with i'm trying to discover a packets life the the dev.c (on my
router) program so i can hopefully soon add some probes to certain areas to
measure what happens.
So basically,i am at the moment trying to figure out what functions are
called when a packet is travelling through the dev.c program . I
persume during the initial vortex interrupt netif_rx() function is called
to pass the sk_buff to the backlog queue of size 300.When that is done it
finishes.Then the vortex interupt finishes.
Then i think net_rx_action is called to do stuff with the recieved packet.
While in this funtion the backlog queue is dequeued i think with the line :
skb=_skb_dequeue(&queue -> input_pkt_queue);
i'm not sure what FASTROUTE is about yet.
I quess during the dequeueing function of net_rx_action a call is made to
ip_rec() in input.c I cant realy see a direct reference to ip_recv() put i
think it makes sense that as packets are being dequeued that the ip_recieve
function is called to decide if the packet is for local host or for
fowarding (what i'm looking at)
While i think that net_rx_action deals with handling the recieved packets
than i conclude that net_tx_action deals with transmitting packets onto
some queue for exiting the system.
Am i close or well half right so far, its just i'm hopless at reading code,
i was never good a programming
but i am learning although slowly!!
I was wondering how come there is no function for netbh() like in the
2.2.14 kernel.I thought that bottom half handlers handle incoming packets
from the nic.Is this gone in the 2.4 kernel or is it wrapped up somewhere
else in the dev.c program.(the kernel i am using is 2.4.0-test9)
what does the function:
static void deliever_to_old_ones(struct packet *pt,struct sk_buff *skb,int
last)
do,its just its the only place i found reference to what i think may be the
net_bh() (ie.what i think is network bottom half handler.)
i know your busy with work and all but you would be helping me a great deal
if you could respond to me what ever the outcome just so i know one way or
the other.
many thanks in advance,
regards william
A beer.com Beer Mail fanatic
Beer Mail, brought to you by your friends at beer.com.
|