Rev 5842 | Rev 6011 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5842 | Rev 5976 | ||
---|---|---|---|
Line 12... | Line 12... | ||
12 | ;; GNU GENERAL PUBLIC LICENSE ;; |
12 | ;; GNU GENERAL PUBLIC LICENSE ;; |
13 | ;; Version 2, June 1991 ;; |
13 | ;; Version 2, June 1991 ;; |
14 | ;; ;; |
14 | ;; ;; |
15 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
15 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 16... | Line 16... | ||
16 | 16 | ||
17 | $Revision: 5842 $ |
- | |
18 | - | ||
19 | ;----------------------------------------------------------------- |
- | |
20 | ; |
- | |
21 | ; TCP_input: |
- | |
22 | ; |
- | |
23 | ; Add a segment to the incoming TCP queue |
- | |
24 | ; |
- | |
25 | ; IN: [esp] = ptr to buffer |
- | |
26 | ; ebx = ptr to device struct |
- | |
27 | ; ecx = TCP segment size |
- | |
28 | ; edx = ptr to IPv4 header |
- | |
29 | ; esi = ptr to TCP segment |
- | |
30 | ; edi = interface number*4 |
- | |
31 | ; |
- | |
32 | ; OUT: / |
- | |
33 | ; |
- | |
Line -... | Line 17... | ||
- | 17 | $Revision: 5976 $ |
|
- | 18 | ||
- | 19 | ;-----------------------------------------------------------------; |
|
- | 20 | ; ; |
|
- | 21 | ; TCP_input: Add a segment to the incoming TCP queue. ; |
|
- | 22 | ; ; |
|
- | 23 | ; IN: [esp] = ptr to buffer ; |
|
- | 24 | ; ebx = ptr to device struct ; |
|
- | 25 | ; ecx = TCP segment size ; |
|
- | 26 | ; edx = ptr to IPv4 header ; |
|
- | 27 | ; esi = ptr to TCP segment ; |
|
- | 28 | ; edi = interface number*4 ; |
|
- | 29 | ; ; |
|
- | 30 | ; OUT: / ; |
|
34 | ;----------------------------------------------------------------- |
31 | ; ; |
35 | 32 | ;-----------------------------------------------------------------; |
|
Line 36... | Line 33... | ||
36 | align 4 |
33 | align 4 |
37 | TCP_input: |
34 | TCP_input: |
Line 486... | Line 483... | ||
486 | mov eax, [timestamp] |
483 | mov eax, [timestamp] |
487 | sub eax, [ebx + TCP_SOCKET.ts_ecr] |
484 | sub eax, [ebx + TCP_SOCKET.ts_ecr] |
488 | inc eax |
485 | inc eax |
489 | call TCP_xmit_timer |
486 | call TCP_xmit_timer |
490 | jmp .rtt_done |
487 | jmp .rtt_done |
491 | - | ||
492 | .no_timestamp_rtt: |
488 | .no_timestamp_rtt: |
- | 489 | ||
493 | cmp [ebx + TCP_SOCKET.t_rtt], 0 |
490 | cmp [ebx + TCP_SOCKET.t_rtt], 0 |
494 | je .rtt_done |
491 | je .rtt_done |
495 | mov eax, [edx + TCP_header.AckNumber] |
492 | mov eax, [edx + TCP_header.AckNumber] |
496 | cmp eax, [ebx + TCP_SOCKET.t_rtseq] |
493 | cmp eax, [ebx + TCP_SOCKET.t_rtseq] |
497 | jbe .rtt_done |
494 | jbe .rtt_done |
498 | mov eax, [ebx + TCP_SOCKET.t_rtt] |
495 | mov eax, [ebx + TCP_SOCKET.t_rtt] |
499 | call TCP_xmit_timer |
496 | call TCP_xmit_timer |
500 | - | ||
501 | .rtt_done: |
497 | .rtt_done: |
Line 502... | Line 498... | ||
502 | 498 | ||
503 | ; update window pointers |
499 | ; update window pointers |
504 | mov eax, [edx + TCP_header.AckNumber] |
500 | mov eax, [edx + TCP_header.AckNumber] |