netfilter: nat: remove nf_nat_l4proto struct
This removes the (now empty) nf_nat_l4proto struct, all its instances and all the no longer needed runtime (un)register functionality. nf_nat_need_gre() can be axed as well: the module that calls it (to load the no-longer-existing nat_gre module) also calls other nat core functions. GRE nat is now always available if kernel is built with it. Signed-off-by: Florian Westphal <fw@strlen.de> Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
This commit is contained in:

committed by
Pablo Neira Ayuso

parent
faec18dbb0
commit
5cbabeec1e
@@ -2,13 +2,11 @@
|
||||
#ifndef _NF_NAT_L3PROTO_H
|
||||
#define _NF_NAT_L3PROTO_H
|
||||
|
||||
struct nf_nat_l4proto;
|
||||
struct nf_nat_l3proto {
|
||||
u8 l3proto;
|
||||
|
||||
bool (*manip_pkt)(struct sk_buff *skb,
|
||||
unsigned int iphdroff,
|
||||
const struct nf_nat_l4proto *l4proto,
|
||||
const struct nf_conntrack_tuple *target,
|
||||
enum nf_nat_manip_type maniptype);
|
||||
|
||||
|
@@ -5,43 +5,12 @@
|
||||
#include <net/netfilter/nf_nat.h>
|
||||
#include <linux/netfilter/nfnetlink_conntrack.h>
|
||||
|
||||
struct nf_nat_range;
|
||||
struct nf_nat_l3proto;
|
||||
|
||||
struct nf_nat_l4proto {
|
||||
/* Protocol number. */
|
||||
u8 l4proto;
|
||||
|
||||
};
|
||||
|
||||
/* Protocol registration. */
|
||||
int nf_nat_l4proto_register(u8 l3proto, const struct nf_nat_l4proto *l4proto);
|
||||
void nf_nat_l4proto_unregister(u8 l3proto,
|
||||
const struct nf_nat_l4proto *l4proto);
|
||||
|
||||
const struct nf_nat_l4proto *__nf_nat_l4proto_find(u8 l3proto, u8 l4proto);
|
||||
|
||||
/* Translate a packet to the target according to manip type. Return on success. */
|
||||
bool nf_nat_l4proto_manip_pkt(struct sk_buff *skb,
|
||||
const struct nf_nat_l3proto *l3proto,
|
||||
unsigned int iphdroff, unsigned int hdroff,
|
||||
const struct nf_conntrack_tuple *tuple,
|
||||
enum nf_nat_manip_type maniptype);
|
||||
|
||||
/* Built-in protocols. */
|
||||
extern const struct nf_nat_l4proto nf_nat_l4proto_tcp;
|
||||
extern const struct nf_nat_l4proto nf_nat_l4proto_udp;
|
||||
extern const struct nf_nat_l4proto nf_nat_l4proto_icmp;
|
||||
extern const struct nf_nat_l4proto nf_nat_l4proto_icmpv6;
|
||||
extern const struct nf_nat_l4proto nf_nat_l4proto_unknown;
|
||||
#ifdef CONFIG_NF_NAT_PROTO_DCCP
|
||||
extern const struct nf_nat_l4proto nf_nat_l4proto_dccp;
|
||||
#endif
|
||||
#ifdef CONFIG_NF_NAT_PROTO_SCTP
|
||||
extern const struct nf_nat_l4proto nf_nat_l4proto_sctp;
|
||||
#endif
|
||||
#ifdef CONFIG_NF_NAT_PROTO_UDPLITE
|
||||
extern const struct nf_nat_l4proto nf_nat_l4proto_udplite;
|
||||
#endif
|
||||
|
||||
#endif /*_NF_NAT_L4PROTO_H*/
|
||||
|
Reference in New Issue
Block a user