diff options
author | Julius Volz <juliusv@google.com> | 2008-09-02 09:55:40 -0400 |
---|---|---|
committer | Simon Horman <horms@verge.net.au> | 2008-09-04 21:17:06 -0400 |
commit | 51ef348b14183789e4cb3444d05ce83b1b69d8fb (patch) | |
tree | e14e54ce262073b63a3343c764b8174b1041b577 /include/net/ip_vs.h | |
parent | b14198f6c1bea1687d20723db35d8effecd9d899 (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.h | 15 |
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 | ||