IPVS: netns, prepare protocol
Add support for protocol data per name-space. in struct ip_vs_protocol, appcnt will be removed when all protos are modified for network name-space. This patch causes warnings of unused functions, they will be used when next patch will be applied. Signed-off-by: Hans Schillstrom <hans.schillstrom@ericsson.com> Acked-by: Julian Anastasov <ja@ssi.bg> Signed-off-by: Simon Horman <horms@verge.net.au>
This commit is contained in:
committed by
Simon Horman
parent
b6e885ddb9
commit
252c641032
@@ -352,6 +352,7 @@ struct iphdr;
|
||||
struct ip_vs_conn;
|
||||
struct ip_vs_app;
|
||||
struct sk_buff;
|
||||
struct ip_vs_proto_data;
|
||||
|
||||
struct ip_vs_protocol {
|
||||
struct ip_vs_protocol *next;
|
||||
@@ -366,6 +367,10 @@ struct ip_vs_protocol {
|
||||
|
||||
void (*exit)(struct ip_vs_protocol *pp);
|
||||
|
||||
void (*init_netns)(struct net *net, struct ip_vs_proto_data *pd);
|
||||
|
||||
void (*exit_netns)(struct net *net, struct ip_vs_proto_data *pd);
|
||||
|
||||
int (*conn_schedule)(int af, struct sk_buff *skb,
|
||||
struct ip_vs_protocol *pp,
|
||||
int *verdict, struct ip_vs_conn **cpp);
|
||||
@@ -417,7 +422,20 @@ struct ip_vs_protocol {
|
||||
int (*set_state_timeout)(struct ip_vs_protocol *pp, char *sname, int to);
|
||||
};
|
||||
|
||||
extern struct ip_vs_protocol * ip_vs_proto_get(unsigned short proto);
|
||||
/*
|
||||
* protocol data per netns
|
||||
*/
|
||||
struct ip_vs_proto_data {
|
||||
struct ip_vs_proto_data *next;
|
||||
struct ip_vs_protocol *pp;
|
||||
int *timeout_table; /* protocol timeout table */
|
||||
atomic_t appcnt; /* counter of proto app incs. */
|
||||
struct tcp_states_t *tcp_state_table;
|
||||
};
|
||||
|
||||
extern struct ip_vs_protocol *ip_vs_proto_get(unsigned short proto);
|
||||
extern struct ip_vs_proto_data *ip_vs_proto_data_get(struct net *net,
|
||||
unsigned short proto);
|
||||
|
||||
struct ip_vs_conn_param {
|
||||
const union nf_inet_addr *caddr;
|
||||
|
Reference in New Issue
Block a user