forked from KolibriOS/kolibrios
Fixed scaling option in TCP_output
git-svn-id: svn://kolibrios.org@2952 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
dd4fcc8d94
commit
790b435709
@ -340,23 +340,24 @@ TCP_send:
|
|||||||
DEBUGF 1,"TCP_send: added maxseg option\n"
|
DEBUGF 1,"TCP_send: added maxseg option\n"
|
||||||
|
|
||||||
test [eax + TCP_SOCKET.t_flags], TF_REQ_SCALE
|
test [eax + TCP_SOCKET.t_flags], TF_REQ_SCALE
|
||||||
jz .no_syn
|
jz .no_scale
|
||||||
|
|
||||||
test dl, TH_ACK
|
test dl, TH_ACK
|
||||||
jnz .scale_opt
|
jz .scale_opt
|
||||||
|
|
||||||
test [eax + TCP_SOCKET.t_flags], TF_RCVD_SCALE
|
test [eax + TCP_SOCKET.t_flags], TF_RCVD_SCALE
|
||||||
jz .no_syn
|
jz .no_scale
|
||||||
|
|
||||||
.scale_opt:
|
.scale_opt:
|
||||||
movzx ecx, byte [eax + TCP_SOCKET.request_r_scale]
|
mov cl, [eax + TCP_SOCKET.request_r_scale]
|
||||||
or ecx, TCP_OPT_WINDOW shl 24 + 4 shl 16 + TCP_OPT_NOP shl 8
|
mov ch, TCP_OPT_NOP
|
||||||
bswap ecx
|
pushw cx
|
||||||
pushd ecx
|
pushw TCP_OPT_WINDOW + 3 shl 8
|
||||||
add di, 4
|
add di, 4
|
||||||
|
|
||||||
DEBUGF 1,"TCP_send: added scale option\n"
|
DEBUGF 1,"TCP_send: added scale option\n"
|
||||||
|
|
||||||
|
.no_scale:
|
||||||
.no_syn:
|
.no_syn:
|
||||||
|
|
||||||
;------------------------------------
|
;------------------------------------
|
||||||
|
Loading…
Reference in New Issue
Block a user