mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-24 09:50:04 +00:00
42 lines
1,021 B
C
42 lines
1,021 B
C
|
#ifndef _NETFILTER_INGRESS_H_
|
||
|
#define _NETFILTER_INGRESS_H_
|
||
|
|
||
|
#include <linux/netfilter.h>
|
||
|
#include <linux/netdevice.h>
|
||
|
|
||
|
#ifdef CONFIG_NETFILTER_INGRESS
|
||
|
static inline int nf_hook_ingress_active(struct sk_buff *skb)
|
||
|
{
|
||
|
return nf_hook_list_active(&skb->dev->nf_hooks_ingress,
|
||
|
NFPROTO_NETDEV, NF_NETDEV_INGRESS);
|
||
|
}
|
||
|
|
||
|
static inline int nf_hook_ingress(struct sk_buff *skb)
|
||
|
{
|
||
|
struct nf_hook_state state;
|
||
|
|
||
|
nf_hook_state_init(&state, &skb->dev->nf_hooks_ingress,
|
||
|
NF_NETDEV_INGRESS, INT_MIN, NFPROTO_NETDEV, NULL,
|
||
|
skb->dev, NULL, NULL);
|
||
|
return nf_hook_slow(skb, &state);
|
||
|
}
|
||
|
|
||
|
static inline void nf_hook_ingress_init(struct net_device *dev)
|
||
|
{
|
||
|
INIT_LIST_HEAD(&dev->nf_hooks_ingress);
|
||
|
}
|
||
|
#else /* CONFIG_NETFILTER_INGRESS */
|
||
|
static inline int nf_hook_ingress_active(struct sk_buff *skb)
|
||
|
{
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
static inline int nf_hook_ingress(struct sk_buff *skb)
|
||
|
{
|
||
|
return 0;
|
||
|
}
|
||
|
|
||
|
static inline void nf_hook_ingress_init(struct net_device *dev) {}
|
||
|
#endif /* CONFIG_NETFILTER_INGRESS */
|
||
|
#endif /* _NETFILTER_INGRESS_H_ */
|