mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-15 00:04:15 +08:00
634fb979e8
TCP listener refactoring, part 5 : We want to be able to insert request sockets (SYN_RECV) into main ehash table instead of the per listener hash table to allow RCU lookups and remove listener lock contention. This patch includes the needed struct sock_common in front of struct request_sock This means there is no more inet6_request_sock IPv6 specific structure. Following inet_request_sock fields were renamed as they became macros to reference fields from struct sock_common. Prefix ir_ was chosen to avoid name collisions. loc_port -> ir_loc_port loc_addr -> ir_loc_addr rmt_addr -> ir_rmt_addr rmt_port -> ir_rmt_port iif -> ir_iif Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
35 lines
754 B
C
35 lines
754 B
C
#ifndef _DCCP_IPV6_H
|
|
#define _DCCP_IPV6_H
|
|
/*
|
|
* net/dccp/ipv6.h
|
|
*
|
|
* An implementation of the DCCP protocol
|
|
* Copyright (c) 2005 Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify it
|
|
* under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
#include <linux/dccp.h>
|
|
#include <linux/ipv6.h>
|
|
|
|
struct dccp6_sock {
|
|
struct dccp_sock dccp;
|
|
/*
|
|
* ipv6_pinfo has to be the last member of dccp6_sock,
|
|
* see inet6_sk_generic.
|
|
*/
|
|
struct ipv6_pinfo inet6;
|
|
};
|
|
|
|
struct dccp6_request_sock {
|
|
struct dccp_request_sock dccp;
|
|
};
|
|
|
|
struct dccp6_timewait_sock {
|
|
struct inet_timewait_sock inet;
|
|
};
|
|
|
|
#endif /* _DCCP_IPV6_H */
|