aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/ip_vs.h
diff options
context:
space:
mode:
authorJulius Volz <juliusv@google.com>2008-09-02 09:55:40 -0400
committerSimon Horman <horms@verge.net.au>2008-09-04 21:17:06 -0400
commit51ef348b14183789e4cb3444d05ce83b1b69d8fb (patch)
treee14e54ce262073b63a3343c764b8174b1041b577 /include/net/ip_vs.h
parentb14198f6c1bea1687d20723db35d8effecd9d899 (diff)
IPVS: Add 'af' args to protocol handler functions
Add 'af' arguments to conn_schedule(), conn_in_get(), conn_out_get() and csum_check() function pointers in struct ip_vs_protocol. Extend the respective functions for TCP, UDP, AH and ESP and adjust the callers. The changes in the callers need to be somewhat extensive, since they now need to pass a filled out struct ip_vs_iphdr * to the modified functions instead of a struct iphdr *. Signed-off-by: Julius Volz <juliusv@google.com> Signed-off-by: Simon Horman <horms@verge.net.au>
Diffstat (limited to 'include/net/ip_vs.h')
-rw-r--r--include/net/ip_vs.h15
1 files changed, 9 insertions, 6 deletions
diff --git a/include/net/ip_vs.h b/include/net/ip_vs.h
index 3d3b699dc022..68f004f9bcc2 100644
--- a/include/net/ip_vs.h
+++ b/include/net/ip_vs.h
@@ -296,21 +296,23 @@ struct ip_vs_protocol {
296 296
297 void (*exit)(struct ip_vs_protocol *pp); 297 void (*exit)(struct ip_vs_protocol *pp);
298 298
299 int (*conn_schedule)(struct sk_buff *skb, 299 int (*conn_schedule)(int af, struct sk_buff *skb,
300 struct ip_vs_protocol *pp, 300 struct ip_vs_protocol *pp,
301 int *verdict, struct ip_vs_conn **cpp); 301 int *verdict, struct ip_vs_conn **cpp);
302 302
303 struct ip_vs_conn * 303 struct ip_vs_conn *
304 (*conn_in_get)(const struct sk_buff *skb, 304 (*conn_in_get)(int af,
305 const struct sk_buff *skb,
305 struct ip_vs_protocol *pp, 306 struct ip_vs_protocol *pp,
306 const struct iphdr *iph, 307 const struct ip_vs_iphdr *iph,
307 unsigned int proto_off, 308 unsigned int proto_off,
308 int inverse); 309 int inverse);
309 310
310 struct ip_vs_conn * 311 struct ip_vs_conn *
311 (*conn_out_get)(const struct sk_buff *skb, 312 (*conn_out_get)(int af,
313 const struct sk_buff *skb,
312 struct ip_vs_protocol *pp, 314 struct ip_vs_protocol *pp,
313 const struct iphdr *iph, 315 const struct ip_vs_iphdr *iph,
314 unsigned int proto_off, 316 unsigned int proto_off,
315 int inverse); 317 int inverse);
316 318
@@ -320,7 +322,8 @@ struct ip_vs_protocol {
320 int (*dnat_handler)(struct sk_buff *skb, 322 int (*dnat_handler)(struct sk_buff *skb,
321 struct ip_vs_protocol *pp, struct ip_vs_conn *cp); 323 struct ip_vs_protocol *pp, struct ip_vs_conn *cp);
322 324
323 int (*csum_check)(struct sk_buff *skb, struct ip_vs_protocol *pp); 325 int (*csum_check)(int af, struct sk_buff *skb,
326 struct ip_vs_protocol *pp);
324 327
325 const char *(*state_name)(int state); 328 const char *(*state_name)(int state);
326 329