diff options
author | Eric Dumazet <edumazet@google.com> | 2012-04-12 18:16:05 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-04-14 15:24:26 -0400 |
commit | c72e118334a2590f4f07d9e51490b902c33f5280 (patch) | |
tree | d8974faaaf6afa5afe2b771e3a5390ee6ec97c21 /net/dccp | |
parent | fd4f2cead6983735a4e6283126b9276873d7ff09 (diff) |
inet: makes syn_ack_timeout mandatory
There are two struct request_sock_ops providers, tcp and dccp.
inet_csk_reqsk_queue_prune() can avoid testing syn_ack_timeout being
NULL if we make it non NULL like syn_ack_timeout
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Gerrit Renker <gerrit@erg.abdn.ac.uk>
Cc: dccp@vger.kernel.org
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dccp')
-rw-r--r-- | net/dccp/ipv4.c | 6 | ||||
-rw-r--r-- | net/dccp/ipv6.c | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/net/dccp/ipv4.c b/net/dccp/ipv4.c index caf6e1734b62..07f5579ca756 100644 --- a/net/dccp/ipv4.c +++ b/net/dccp/ipv4.c | |||
@@ -574,6 +574,11 @@ static void dccp_v4_reqsk_destructor(struct request_sock *req) | |||
574 | kfree(inet_rsk(req)->opt); | 574 | kfree(inet_rsk(req)->opt); |
575 | } | 575 | } |
576 | 576 | ||
577 | void dccp_syn_ack_timeout(struct sock *sk, struct request_sock *req) | ||
578 | { | ||
579 | } | ||
580 | EXPORT_SYMBOL(dccp_syn_ack_timeout); | ||
581 | |||
577 | static struct request_sock_ops dccp_request_sock_ops __read_mostly = { | 582 | static struct request_sock_ops dccp_request_sock_ops __read_mostly = { |
578 | .family = PF_INET, | 583 | .family = PF_INET, |
579 | .obj_size = sizeof(struct dccp_request_sock), | 584 | .obj_size = sizeof(struct dccp_request_sock), |
@@ -581,6 +586,7 @@ static struct request_sock_ops dccp_request_sock_ops __read_mostly = { | |||
581 | .send_ack = dccp_reqsk_send_ack, | 586 | .send_ack = dccp_reqsk_send_ack, |
582 | .destructor = dccp_v4_reqsk_destructor, | 587 | .destructor = dccp_v4_reqsk_destructor, |
583 | .send_reset = dccp_v4_ctl_send_reset, | 588 | .send_reset = dccp_v4_ctl_send_reset, |
589 | .syn_ack_timeout = dccp_syn_ack_timeout, | ||
584 | }; | 590 | }; |
585 | 591 | ||
586 | int dccp_v4_conn_request(struct sock *sk, struct sk_buff *skb) | 592 | int dccp_v4_conn_request(struct sock *sk, struct sk_buff *skb) |
diff --git a/net/dccp/ipv6.c b/net/dccp/ipv6.c index 4dc588f520e0..e923ac95bb04 100644 --- a/net/dccp/ipv6.c +++ b/net/dccp/ipv6.c | |||
@@ -343,6 +343,7 @@ static struct request_sock_ops dccp6_request_sock_ops = { | |||
343 | .send_ack = dccp_reqsk_send_ack, | 343 | .send_ack = dccp_reqsk_send_ack, |
344 | .destructor = dccp_v6_reqsk_destructor, | 344 | .destructor = dccp_v6_reqsk_destructor, |
345 | .send_reset = dccp_v6_ctl_send_reset, | 345 | .send_reset = dccp_v6_ctl_send_reset, |
346 | .syn_ack_timeout = dccp_syn_ack_timeout, | ||
346 | }; | 347 | }; |
347 | 348 | ||
348 | static struct sock *dccp_v6_hnd_req(struct sock *sk,struct sk_buff *skb) | 349 | static struct sock *dccp_v6_hnd_req(struct sock *sk,struct sk_buff *skb) |