mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-03-30 10:55:03 +00:00
tcp: tcp_syn_flood_action() can be static
After commit 1fb6f159fd
("tcp: add tcp_conn_request"),
tcp_syn_flood_action() is no longer used from IPv6.
We can make it static, by moving it above tcp_conn_request()
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Octavian Purdila <octavian.purdila@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
1fb7cd4ef0
commit
41d25fe092
3 changed files with 29 additions and 31 deletions
|
@ -529,8 +529,6 @@ int tcp_write_wakeup(struct sock *);
|
||||||
void tcp_send_fin(struct sock *sk);
|
void tcp_send_fin(struct sock *sk);
|
||||||
void tcp_send_active_reset(struct sock *sk, gfp_t priority);
|
void tcp_send_active_reset(struct sock *sk, gfp_t priority);
|
||||||
int tcp_send_synack(struct sock *);
|
int tcp_send_synack(struct sock *);
|
||||||
bool tcp_syn_flood_action(struct sock *sk, const struct sk_buff *skb,
|
|
||||||
const char *proto);
|
|
||||||
void tcp_push_one(struct sock *, unsigned int mss_now);
|
void tcp_push_one(struct sock *, unsigned int mss_now);
|
||||||
void tcp_send_ack(struct sock *sk);
|
void tcp_send_ack(struct sock *sk);
|
||||||
void tcp_send_delayed_ack(struct sock *sk);
|
void tcp_send_delayed_ack(struct sock *sk);
|
||||||
|
|
|
@ -5987,6 +5987,35 @@ struct request_sock *inet_reqsk_alloc(const struct request_sock_ops *ops,
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(inet_reqsk_alloc);
|
EXPORT_SYMBOL(inet_reqsk_alloc);
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Return true if a syncookie should be sent
|
||||||
|
*/
|
||||||
|
static bool tcp_syn_flood_action(struct sock *sk,
|
||||||
|
const struct sk_buff *skb,
|
||||||
|
const char *proto)
|
||||||
|
{
|
||||||
|
const char *msg = "Dropping request";
|
||||||
|
bool want_cookie = false;
|
||||||
|
struct listen_sock *lopt;
|
||||||
|
|
||||||
|
#ifdef CONFIG_SYN_COOKIES
|
||||||
|
if (sysctl_tcp_syncookies) {
|
||||||
|
msg = "Sending cookies";
|
||||||
|
want_cookie = true;
|
||||||
|
NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_TCPREQQFULLDOCOOKIES);
|
||||||
|
} else
|
||||||
|
#endif
|
||||||
|
NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_TCPREQQFULLDROP);
|
||||||
|
|
||||||
|
lopt = inet_csk(sk)->icsk_accept_queue.listen_opt;
|
||||||
|
if (!lopt->synflood_warned && sysctl_tcp_syncookies != 2) {
|
||||||
|
lopt->synflood_warned = 1;
|
||||||
|
pr_info("%s: Possible SYN flooding on port %d. %s. Check SNMP counters.\n",
|
||||||
|
proto, ntohs(tcp_hdr(skb)->dest), msg);
|
||||||
|
}
|
||||||
|
return want_cookie;
|
||||||
|
}
|
||||||
|
|
||||||
int tcp_conn_request(struct request_sock_ops *rsk_ops,
|
int tcp_conn_request(struct request_sock_ops *rsk_ops,
|
||||||
const struct tcp_request_sock_ops *af_ops,
|
const struct tcp_request_sock_ops *af_ops,
|
||||||
struct sock *sk, struct sk_buff *skb)
|
struct sock *sk, struct sk_buff *skb)
|
||||||
|
|
|
@ -856,35 +856,6 @@ static void tcp_v4_reqsk_destructor(struct request_sock *req)
|
||||||
kfree(inet_rsk(req)->opt);
|
kfree(inet_rsk(req)->opt);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Return true if a syncookie should be sent
|
|
||||||
*/
|
|
||||||
bool tcp_syn_flood_action(struct sock *sk,
|
|
||||||
const struct sk_buff *skb,
|
|
||||||
const char *proto)
|
|
||||||
{
|
|
||||||
const char *msg = "Dropping request";
|
|
||||||
bool want_cookie = false;
|
|
||||||
struct listen_sock *lopt;
|
|
||||||
|
|
||||||
#ifdef CONFIG_SYN_COOKIES
|
|
||||||
if (sysctl_tcp_syncookies) {
|
|
||||||
msg = "Sending cookies";
|
|
||||||
want_cookie = true;
|
|
||||||
NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_TCPREQQFULLDOCOOKIES);
|
|
||||||
} else
|
|
||||||
#endif
|
|
||||||
NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_TCPREQQFULLDROP);
|
|
||||||
|
|
||||||
lopt = inet_csk(sk)->icsk_accept_queue.listen_opt;
|
|
||||||
if (!lopt->synflood_warned && sysctl_tcp_syncookies != 2) {
|
|
||||||
lopt->synflood_warned = 1;
|
|
||||||
pr_info("%s: Possible SYN flooding on port %d. %s. Check SNMP counters.\n",
|
|
||||||
proto, ntohs(tcp_hdr(skb)->dest), msg);
|
|
||||||
}
|
|
||||||
return want_cookie;
|
|
||||||
}
|
|
||||||
EXPORT_SYMBOL(tcp_syn_flood_action);
|
|
||||||
|
|
||||||
#ifdef CONFIG_TCP_MD5SIG
|
#ifdef CONFIG_TCP_MD5SIG
|
||||||
/*
|
/*
|
||||||
|
|
Loading…
Add table
Reference in a new issue