Llk-packet-diagram: Difference between revisions

From Earlham CS Department
Jump to navigation Jump to search
Mccoyjo (talk | contribs)
No edit summary
Mccoyjo (talk | contribs)
No edit summary
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
<div style="position: relative">[[Image:packet-diagram.png]]
<div style="position: relative">[[Image:packet-diagram.png]]
<div style="position: absolute; left: 180px; top: 67px">[[#1]]</div>
<div style="position: absolute; left: 180px; top: 67px">[[#1]]</div>
<div style="position: absolute; left: 420px; top: 67px">2</div>
<div style="position: absolute; left: 420px; top: 67px">[[#2]]</div>
<div style="position: absolute; left: 660px; top: 67px">3</div>
<div style="position: absolute; left: 660px; top: 67px">[[#3]]</div>
<div style="position: absolute; left: 900px; top: 67px">4</div>
<div style="position: absolute; left: 900px; top: 67px">[[#4]]</div>
<div style="position: absolute; left: 1150px; top: 160px">5</div>
<div style="position: absolute; left: 1100px; top: 67px">[[#5]]</div>
<div style="position: absolute; left: 660px; top: 310px">6</div>
<div style="position: absolute; left: 1100px; top: 310px">[[#6]]</div>
<div style="position: absolute; left: 420px; top: 310px">7</div>
<div style="position: absolute; left: 900px; top: 310px">[[#7]]</div>
<div style="position: absolute; left: 180px; top: 310px">8</div>
<div style="position: absolute; left: 660px; top: 310px">[[#8]]</div>
<div style="position: absolute; left: 900px; top: 310px">9</div>
<div style="position: absolute; left: 420px; top: 310px">[[#9]]</div>
<div style="position: absolute; left: 180px; top: 310px">[[#10]]</div>
 




Line 14: Line 16:


<div id="1">
<div id="1">
1.  
1.  Timer location: net/socket.c:1551, sys_send. 
Data is copied from user to kernel space via copy_from_user.
</div>
</div>
<div id="2">
<div id="2">
2.
2.  Timer location: net/ipv4/af_inet.c:661, inet_sendmsg. 
Kernel buffer is wrapped into a BSD socket data structure.
</div>
</div>
<div id="3">
<div id="3">
3.
3.  Timer location: net/ipv4/tcp_output.c:374, tcp_transmit_skb.
TCP wrapper placed around data.
</div>
</div>
<div id="4">
<div id="4">
4.
4.  Timer location: net/ipv4/ip_output.c:240, ip_finish_output.
IP wrapper placed around data.
</div>
</div>
<div id="5">
<div id="5">
5.
5.  Timer location: net/ipv4/ip_output.c:224, tp_hard_start_xmit.
Data is copied from kernel memory to card memory and transmitted over the line.  This begins in hard_start_xmit, which is a function defined by the driver.  
</div>
</div>
<div id="6">
<div id="6">
6.
6.  Timer location: net/core/dev.c:1843,1849, process_backlog. 
Data is taken from line to card memory by driver then copied from card memorty to kernel memory via skb buffer dequeuing (skb_dequeue).
</div>
</div>
<div id="7">
<div id="7">
7.
7. Timer location: net/ipv4/ip_input.c:293, ip_rcv_finish. 
</div>
</div>
<div id="8">
<div id="8">
8.
8. Timer location: net/ipv4/tcp_ipv4.c:1744, tcp_v4_rcv. 
</div>
</div>
<div id="9">
<div id="9">
9.
9. Timer location: net/ipv4/tcp_input.c:4362,4398,4449, tcp_rcv_established. 
</div>
<div id="10">
10.  Timer location:  net/socket.c:1601, sys_recvfrom. 
</div>
</div>

Latest revision as of 17:45, 11 October 2005


1. Timer location: net/socket.c:1551, sys_send. Data is copied from user to kernel space via copy_from_user.

2. Timer location: net/ipv4/af_inet.c:661, inet_sendmsg. Kernel buffer is wrapped into a BSD socket data structure.

3. Timer location: net/ipv4/tcp_output.c:374, tcp_transmit_skb. TCP wrapper placed around data.

4. Timer location: net/ipv4/ip_output.c:240, ip_finish_output. IP wrapper placed around data.

5. Timer location: net/ipv4/ip_output.c:224, tp_hard_start_xmit. Data is copied from kernel memory to card memory and transmitted over the line. This begins in hard_start_xmit, which is a function defined by the driver.

6. Timer location: net/core/dev.c:1843,1849, process_backlog. Data is taken from line to card memory by driver then copied from card memorty to kernel memory via skb buffer dequeuing (skb_dequeue).

7. Timer location: net/ipv4/ip_input.c:293, ip_rcv_finish.

8. Timer location: net/ipv4/tcp_ipv4.c:1744, tcp_v4_rcv.

9. Timer location: net/ipv4/tcp_input.c:4362,4398,4449, tcp_rcv_established.

10. Timer location: net/socket.c:1601, sys_recvfrom.