On 03/20/2018 08:53 AM, Ursula Braun wrote:
> From: Hans Wippel <hwip...@linux.vnet.ibm.com>
> 
> Currently, the SMC experimental TCP option in a SYN packet is lost on
> the server side when SYN Cookies are active. However, the corresponding
> SYNACK sent back to the client contains the SMC option. This causes an
> inconsistent view of the SMC capabilities on the client and server.
> 
> This patch disables the SMC option in the SYNACK when SYN Cookies are
> active to avoid this issue.
> 
> Signed-off-by: Hans Wippel <hwip...@linux.vnet.ibm.com>
> Signed-off-by: Ursula Braun <ubr...@linux.vnet.ibm.com>
> ---
>  net/ipv4/tcp_output.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c
> index 383cac0ff0ec..22894514feae 100644
> --- a/net/ipv4/tcp_output.c
> +++ b/net/ipv4/tcp_output.c
> @@ -3199,6 +3199,8 @@ struct sk_buff *tcp_make_synack(const struct sock *sk, 
> struct dst_entry *dst,
>               /* Under synflood, we do not attach skb to a socket,
>                * to avoid false sharing.
>                */
> +             if (IS_ENABLED(CONFIG_SMC))
> +                     ireq->smc_ok = 0;
>               break;
>       case TCP_SYNACK_FASTOPEN:
>               /* sk is a const pointer, because we want to express multiple
> 

I disagree with net-next qualification.

This fixes a bug, so please send it for net tree, and including an appropriate 
Fixes: tag.

Thanks !

Reply via email to