Loading include/linux/netfilter.h +2 −30 Original line number Diff line number Diff line Loading @@ -101,19 +101,6 @@ struct nf_sockopt_ops struct module *owner; }; /* Each queued (to userspace) skbuff has one of these. */ struct nf_info { /* The ops struct which sent us to userspace. */ struct nf_hook_ops *elem; /* If we're sent to userspace, this keeps housekeeping info */ int pf; unsigned int hook; struct net_device *indev, *outdev; int (*okfn)(struct sk_buff *); }; /* Function to register/unregister hook points. */ int nf_register_hook(struct nf_hook_ops *reg); void nf_unregister_hook(struct nf_hook_ops *reg); Loading Loading @@ -274,21 +261,6 @@ int compat_nf_setsockopt(struct sock *sk, int pf, int optval, int compat_nf_getsockopt(struct sock *sk, int pf, int optval, char __user *opt, int *len); /* Packet queuing */ struct nf_queue_handler { int (*outfn)(struct sk_buff *skb, struct nf_info *info, unsigned int queuenum); char *name; }; extern int nf_register_queue_handler(int pf, const struct nf_queue_handler *qh); extern int nf_unregister_queue_handler(int pf, const struct nf_queue_handler *qh); extern void nf_unregister_queue_handlers(const struct nf_queue_handler *qh); extern void nf_reinject(struct sk_buff *skb, struct nf_info *info, unsigned int verdict); /* FIXME: Before cache is ever used, this must be implemented for real. */ extern void nf_invalidate_cache(int pf); Loading @@ -298,6 +270,8 @@ extern void nf_invalidate_cache(int pf); extern int skb_make_writable(struct sk_buff *skb, unsigned int writable_len); struct flowi; struct nf_info; struct nf_afinfo { unsigned short family; __sum16 (*checksum)(struct sk_buff *skb, unsigned int hook, Loading Loading @@ -334,8 +308,6 @@ nf_checksum(struct sk_buff *skb, unsigned int hook, unsigned int dataoff, extern int nf_register_afinfo(struct nf_afinfo *afinfo); extern void nf_unregister_afinfo(struct nf_afinfo *afinfo); #define nf_info_reroute(x) ((void *)x + sizeof(struct nf_info)) #include <net/flow.h> extern void (*ip_nat_decode_session)(struct sk_buff *, struct flowi *); Loading include/net/netfilter/nf_queue.h 0 → 100644 +32 −0 Original line number Diff line number Diff line #ifndef _NF_QUEUE_H #define _NF_QUEUE_H /* Each queued (to userspace) skbuff has one of these. */ struct nf_info { struct nf_hook_ops *elem; int pf; unsigned int hook; struct net_device *indev; struct net_device *outdev; int (*okfn)(struct sk_buff *); }; #define nf_info_reroute(x) ((void *)x + sizeof(struct nf_info)) /* Packet queuing */ struct nf_queue_handler { int (*outfn)(struct sk_buff *skb, struct nf_info *info, unsigned int queuenum); char *name; }; extern int nf_register_queue_handler(int pf, const struct nf_queue_handler *qh); extern int nf_unregister_queue_handler(int pf, const struct nf_queue_handler *qh); extern void nf_unregister_queue_handlers(const struct nf_queue_handler *qh); extern void nf_reinject(struct sk_buff *skb, struct nf_info *info, unsigned int verdict); #endif /* _NF_QUEUE_H */ net/ipv4/netfilter.c +1 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ #include <net/route.h> #include <net/xfrm.h> #include <net/ip.h> #include <net/netfilter/nf_queue.h> /* route_me_harder function, used by iptable_nat, iptable_mangle + ip_queue */ int ip_route_me_harder(struct sk_buff *skb, unsigned addr_type) Loading net/ipv4/netfilter/ip_queue.c +1 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ #include <net/net_namespace.h> #include <net/sock.h> #include <net/route.h> #include <net/netfilter/nf_queue.h> #define IPQ_QMAX_DEFAULT 1024 #define IPQ_PROC_FS_NAME "ip_queue" Loading net/ipv6/netfilter.c +1 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ #include <net/ip6_route.h> #include <net/xfrm.h> #include <net/ip6_checksum.h> #include <net/netfilter/nf_queue.h> int ip6_route_me_harder(struct sk_buff *skb) { Loading Loading
include/linux/netfilter.h +2 −30 Original line number Diff line number Diff line Loading @@ -101,19 +101,6 @@ struct nf_sockopt_ops struct module *owner; }; /* Each queued (to userspace) skbuff has one of these. */ struct nf_info { /* The ops struct which sent us to userspace. */ struct nf_hook_ops *elem; /* If we're sent to userspace, this keeps housekeeping info */ int pf; unsigned int hook; struct net_device *indev, *outdev; int (*okfn)(struct sk_buff *); }; /* Function to register/unregister hook points. */ int nf_register_hook(struct nf_hook_ops *reg); void nf_unregister_hook(struct nf_hook_ops *reg); Loading Loading @@ -274,21 +261,6 @@ int compat_nf_setsockopt(struct sock *sk, int pf, int optval, int compat_nf_getsockopt(struct sock *sk, int pf, int optval, char __user *opt, int *len); /* Packet queuing */ struct nf_queue_handler { int (*outfn)(struct sk_buff *skb, struct nf_info *info, unsigned int queuenum); char *name; }; extern int nf_register_queue_handler(int pf, const struct nf_queue_handler *qh); extern int nf_unregister_queue_handler(int pf, const struct nf_queue_handler *qh); extern void nf_unregister_queue_handlers(const struct nf_queue_handler *qh); extern void nf_reinject(struct sk_buff *skb, struct nf_info *info, unsigned int verdict); /* FIXME: Before cache is ever used, this must be implemented for real. */ extern void nf_invalidate_cache(int pf); Loading @@ -298,6 +270,8 @@ extern void nf_invalidate_cache(int pf); extern int skb_make_writable(struct sk_buff *skb, unsigned int writable_len); struct flowi; struct nf_info; struct nf_afinfo { unsigned short family; __sum16 (*checksum)(struct sk_buff *skb, unsigned int hook, Loading Loading @@ -334,8 +308,6 @@ nf_checksum(struct sk_buff *skb, unsigned int hook, unsigned int dataoff, extern int nf_register_afinfo(struct nf_afinfo *afinfo); extern void nf_unregister_afinfo(struct nf_afinfo *afinfo); #define nf_info_reroute(x) ((void *)x + sizeof(struct nf_info)) #include <net/flow.h> extern void (*ip_nat_decode_session)(struct sk_buff *, struct flowi *); Loading
include/net/netfilter/nf_queue.h 0 → 100644 +32 −0 Original line number Diff line number Diff line #ifndef _NF_QUEUE_H #define _NF_QUEUE_H /* Each queued (to userspace) skbuff has one of these. */ struct nf_info { struct nf_hook_ops *elem; int pf; unsigned int hook; struct net_device *indev; struct net_device *outdev; int (*okfn)(struct sk_buff *); }; #define nf_info_reroute(x) ((void *)x + sizeof(struct nf_info)) /* Packet queuing */ struct nf_queue_handler { int (*outfn)(struct sk_buff *skb, struct nf_info *info, unsigned int queuenum); char *name; }; extern int nf_register_queue_handler(int pf, const struct nf_queue_handler *qh); extern int nf_unregister_queue_handler(int pf, const struct nf_queue_handler *qh); extern void nf_unregister_queue_handlers(const struct nf_queue_handler *qh); extern void nf_reinject(struct sk_buff *skb, struct nf_info *info, unsigned int verdict); #endif /* _NF_QUEUE_H */
net/ipv4/netfilter.c +1 −0 Original line number Diff line number Diff line Loading @@ -7,6 +7,7 @@ #include <net/route.h> #include <net/xfrm.h> #include <net/ip.h> #include <net/netfilter/nf_queue.h> /* route_me_harder function, used by iptable_nat, iptable_mangle + ip_queue */ int ip_route_me_harder(struct sk_buff *skb, unsigned addr_type) Loading
net/ipv4/netfilter/ip_queue.c +1 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,7 @@ #include <net/net_namespace.h> #include <net/sock.h> #include <net/route.h> #include <net/netfilter/nf_queue.h> #define IPQ_QMAX_DEFAULT 1024 #define IPQ_PROC_FS_NAME "ip_queue" Loading
net/ipv6/netfilter.c +1 −0 Original line number Diff line number Diff line Loading @@ -8,6 +8,7 @@ #include <net/ip6_route.h> #include <net/xfrm.h> #include <net/ip6_checksum.h> #include <net/netfilter/nf_queue.h> int ip6_route_me_harder(struct sk_buff *skb) { Loading