修复窗口扩大选项为1时未正确repair的bug,详见 #48 。
This commit is contained in:
@@ -1337,12 +1337,10 @@ int tcprepair_set_state(int sk,struct kni_tcp_state* tcp,struct sockaddr* client
|
||||
}
|
||||
|
||||
|
||||
if((tcp->wscale_dst)&&(tcp->wscale_src))
|
||||
{
|
||||
opts[onr].opt_code = TCPOPT_WINDOW;
|
||||
opts[onr].opt_val = tcp->wscale_dst+ (tcp->wscale_src<< 16);
|
||||
onr++;
|
||||
}
|
||||
|
||||
opts[onr].opt_code = TCPOPT_WINDOW;
|
||||
opts[onr].opt_val = tcp->wscale_dst+ (tcp->wscale_src<< 16);
|
||||
onr++;
|
||||
|
||||
|
||||
opts[onr].opt_code = TCPOPT_MAXSEG;
|
||||
@@ -1400,6 +1398,8 @@ int tcp_repair_process(const struct streaminfo* pstream,const void* a_packet,str
|
||||
int fd_client,fd_server;
|
||||
struct kni_tcp_state fake_client;
|
||||
struct kni_tcp_state fake_server;
|
||||
memset(&fake_client, 0, sizeof(fake_client));
|
||||
memset(&fake_server, 0, sizeof(fake_server));
|
||||
|
||||
struct sockaddr* client_addr = NULL;
|
||||
struct sockaddr* server_addr = NULL;
|
||||
|
||||
Reference in New Issue
Block a user