diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/netfilter.h | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/include/linux/netfilter.h b/include/linux/netfilter.h index 5aa9316079..6ee168c497 100644 --- a/include/linux/netfilter.h +++ b/include/linux/netfilter.h | |||
| @@ -283,16 +283,25 @@ extern void nf_invalidate_cache(int pf); | |||
| 283 | Returns true or false. */ | 283 | Returns true or false. */ |
| 284 | extern int skb_make_writable(struct sk_buff **pskb, unsigned int writable_len); | 284 | extern int skb_make_writable(struct sk_buff **pskb, unsigned int writable_len); |
| 285 | 285 | ||
| 286 | struct nf_queue_rerouter { | 286 | struct nf_afinfo { |
| 287 | void (*save)(const struct sk_buff *skb, struct nf_info *info); | 287 | unsigned short family; |
| 288 | int (*reroute)(struct sk_buff **skb, const struct nf_info *info); | 288 | void (*saveroute)(const struct sk_buff *skb, |
| 289 | int rer_size; | 289 | struct nf_info *info); |
| 290 | int (*reroute)(struct sk_buff **skb, | ||
| 291 | const struct nf_info *info); | ||
| 292 | int route_key_size; | ||
| 290 | }; | 293 | }; |
| 291 | 294 | ||
| 292 | #define nf_info_reroute(x) ((void *)x + sizeof(struct nf_info)) | 295 | extern struct nf_afinfo *nf_afinfo[]; |
| 296 | static inline struct nf_afinfo *nf_get_afinfo(unsigned short family) | ||
| 297 | { | ||
| 298 | return rcu_dereference(nf_afinfo[family]); | ||
| 299 | } | ||
| 293 | 300 | ||
| 294 | extern int nf_register_queue_rerouter(int pf, struct nf_queue_rerouter *rer); | 301 | extern int nf_register_afinfo(struct nf_afinfo *afinfo); |
| 295 | extern int nf_unregister_queue_rerouter(int pf); | 302 | extern void nf_unregister_afinfo(struct nf_afinfo *afinfo); |
| 303 | |||
| 304 | #define nf_info_reroute(x) ((void *)x + sizeof(struct nf_info)) | ||
| 296 | 305 | ||
| 297 | #include <net/flow.h> | 306 | #include <net/flow.h> |
| 298 | extern void (*ip_nat_decode_session)(struct sk_buff *, struct flowi *); | 307 | extern void (*ip_nat_decode_session)(struct sk_buff *, struct flowi *); |
