]> Pileus Git - ~andy/linux/blobdiff - net/ipv6/tcp_ipv6.c
tcp: add tcp_syncookies mode to allow unconditionally generation of syncookies
[~andy/linux] / net / ipv6 / tcp_ipv6.c
index b792e870686b96e3109f390508018cc52eb06628..38c196ca6011a5390693c374b1b2f8e8c2203ba4 100644 (file)
@@ -963,7 +963,8 @@ static int tcp_v6_conn_request(struct sock *sk, struct sk_buff *skb)
        if (!ipv6_unicast_destination(skb))
                goto drop;
 
-       if (inet_csk_reqsk_queue_is_full(sk) && !isn) {
+       if ((sysctl_tcp_syncookies == 2 ||
+            inet_csk_reqsk_queue_is_full(sk)) && !isn) {
                want_cookie = tcp_syn_flood_action(sk, skb, "TCPv6");
                if (!want_cookie)
                        goto drop;