|
@@ -468,7 +468,8 @@ static unsigned tcp_syn_options(struct sock *sk, struct sk_buff *skb,
|
|
|
}
|
|
|
if (likely(sysctl_tcp_window_scaling)) {
|
|
|
opts->ws = tp->rx_opt.rcv_wscale;
|
|
|
- size += TCPOLEN_WSCALE_ALIGNED;
|
|
|
+ if(likely(opts->ws))
|
|
|
+ size += TCPOLEN_WSCALE_ALIGNED;
|
|
|
}
|
|
|
if (likely(sysctl_tcp_sack)) {
|
|
|
opts->options |= OPTION_SACK_ADVERTISE;
|
|
@@ -509,7 +510,8 @@ static unsigned tcp_synack_options(struct sock *sk,
|
|
|
|
|
|
if (likely(ireq->wscale_ok)) {
|
|
|
opts->ws = ireq->rcv_wscale;
|
|
|
- size += TCPOLEN_WSCALE_ALIGNED;
|
|
|
+ if(likely(opts->ws))
|
|
|
+ size += TCPOLEN_WSCALE_ALIGNED;
|
|
|
}
|
|
|
if (likely(doing_ts)) {
|
|
|
opts->options |= OPTION_TS;
|