linux/include/net/netfilter/nf_nat_core.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 */
   2#ifndef _NF_NAT_CORE_H
   3#define _NF_NAT_CORE_H
   4#include <linux/list.h>
   5#include <net/netfilter/nf_conntrack.h>
   6#include <net/netfilter/nf_nat.h>
   7
   8/* This header used to share core functionality between the standalone
   9   NAT module, and the compatibility layer's use of NAT for masquerading. */
  10
  11unsigned int nf_nat_packet(struct nf_conn *ct, enum ip_conntrack_info ctinfo,
  12                           unsigned int hooknum, struct sk_buff *skb);
  13
  14int nf_xfrm_me_harder(struct net *net, struct sk_buff *skb, unsigned int family);
  15
  16static inline int nf_nat_initialized(struct nf_conn *ct,
  17                                     enum nf_nat_manip_type manip)
  18{
  19        if (manip == NF_NAT_MANIP_SRC)
  20                return ct->status & IPS_SRC_NAT_DONE;
  21        else
  22                return ct->status & IPS_DST_NAT_DONE;
  23}
  24
  25struct nlattr;
  26
  27extern int
  28(*nfnetlink_parse_nat_setup_hook)(struct nf_conn *ct,
  29                                  enum nf_nat_manip_type manip,
  30                                  const struct nlattr *attr);
  31
  32#endif /* _NF_NAT_CORE_H */
  33