netfilter: add protocol independent NAT core
[deliverable/linux.git] / include / net / netfilter / nf_nat_core.h
CommitLineData
5b1158e9
JK
1#ifndef _NF_NAT_CORE_H
2#define _NF_NAT_CORE_H
3#include <linux/list.h>
4#include <net/netfilter/nf_conntrack.h>
4ba88779 5#include <net/netfilter/nf_nat.h>
5b1158e9
JK
6
7/* This header used to share core functionality between the standalone
8 NAT module, and the compatibility layer's use of NAT for masquerading. */
9
10extern unsigned int nf_nat_packet(struct nf_conn *ct,
11 enum ip_conntrack_info ctinfo,
12 unsigned int hooknum,
3db05fea 13 struct sk_buff *skb);
5b1158e9 14
c7232c99 15extern int nf_xfrm_me_harder(struct sk_buff *skb, unsigned int family);
5b1158e9
JK
16
17static inline int nf_nat_initialized(struct nf_conn *ct,
18 enum nf_nat_manip_type manip)
19{
cbc9f2f4 20 if (manip == NF_NAT_MANIP_SRC)
a7c2f4d7 21 return ct->status & IPS_SRC_NAT_DONE;
5b1158e9 22 else
a7c2f4d7 23 return ct->status & IPS_DST_NAT_DONE;
5b1158e9 24}
e6a7d3c0
PNA
25
26struct nlattr;
27
28extern int
29(*nfnetlink_parse_nat_setup_hook)(struct nf_conn *ct,
30 enum nf_nat_manip_type manip,
39938324 31 const struct nlattr *attr);
e6a7d3c0 32
5b1158e9 33#endif /* _NF_NAT_CORE_H */
This page took 0.447012 seconds and 5 git commands to generate.