summaryrefslogtreecommitdiffstats
path: root/kernel/linux
diff options
context:
space:
mode:
authorBart De Schuymer <bdschuym@pandora.be>2002-06-06 16:56:01 +0000
committerBart De Schuymer <bdschuym@pandora.be>2002-06-06 16:56:01 +0000
commit6f2721fc8029d3a2b2dcbf017f14312e04f3fb86 (patch)
tree2b9939196a35e1ae352963dc7b59143dbc3e510e /kernel/linux
parentf4f1a99bde4bbc2883e8dc363423d97be6b38a58 (diff)
Split this up in ebt_snat.c and ebt_dnat.c
Diffstat (limited to 'kernel/linux')
-rw-r--r--kernel/linux/net/bridge/netfilter/ebt_nat.c106
1 files changed, 0 insertions, 106 deletions
diff --git a/kernel/linux/net/bridge/netfilter/ebt_nat.c b/kernel/linux/net/bridge/netfilter/ebt_nat.c
deleted file mode 100644
index 16694c5..0000000
--- a/kernel/linux/net/bridge/netfilter/ebt_nat.c
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * ebt_nat
- *
- * Authors:
- * Bart De Schuymer <bart.de.schuymer@pandora.be>
- *
- * April, 2002
- *
- */
-
-#include <linux/netfilter_bridge/ebtables.h>
-#include <linux/netfilter_bridge/ebt_nat.h>
-#include <linux/netfilter_bridge.h>
-#include <linux/skbuff.h>
-#include <linux/module.h>
-#include <net/sock.h>
-
-static __u8 ebt_target_snat(struct sk_buff **pskb, unsigned int hooknr,
- const struct net_device *in, const struct net_device *out,
- const void *data, unsigned int datalen)
-{
- struct ebt_nat_info *infostuff = (struct ebt_nat_info *) data;
-
- memcpy(((**pskb).mac.ethernet)->h_source, infostuff->mac,
- ETH_ALEN * sizeof(unsigned char));
- return infostuff->target;
-}
-
-static __u8 ebt_target_dnat(struct sk_buff **pskb, unsigned int hooknr,
- const struct net_device *in, const struct net_device *out,
- const void *data, unsigned int datalen)
-{
- struct ebt_nat_info *infostuff = (struct ebt_nat_info *) data;
-
- memcpy(((**pskb).mac.ethernet)->h_dest, infostuff->mac,
- ETH_ALEN * sizeof(unsigned char));
- return infostuff->target;
-}
-
-static int ebt_target_snat_check(const char *tablename, unsigned int hooknr,
- const struct ebt_entry *e, void *data, unsigned int datalen)
-{
- struct ebt_nat_info *infostuff = (struct ebt_nat_info *) data;
-
- if (strcmp(tablename, "nat"))
- return -EINVAL;
- if (datalen != sizeof(struct ebt_nat_info))
- return -EINVAL;
- if (hooknr != NF_BR_POST_ROUTING)
- return -EINVAL;
- if (infostuff->target >= NUM_STANDARD_TARGETS)
- return -EINVAL;
- return 0;
-}
-
-static int ebt_target_dnat_check(const char *tablename, unsigned int hooknr,
- const struct ebt_entry *e, void *data, unsigned int datalen)
-{
- struct ebt_nat_info *infostuff = (struct ebt_nat_info *) data;
-
- if ( (strcmp(tablename, "nat") ||
- (hooknr != NF_BR_PRE_ROUTING && hooknr != NF_BR_LOCAL_OUT)) &&
- (strcmp(tablename, "broute") || hooknr != NF_BR_BROUTING) )
- return -EINVAL;
- if (datalen != sizeof(struct ebt_nat_info))
- return -EINVAL;
- if (infostuff->target >= NUM_STANDARD_TARGETS)
- return -EINVAL;
- return 0;
-}
-
-static struct ebt_target snat =
-{
- {NULL, NULL}, EBT_SNAT_TARGET, ebt_target_snat, ebt_target_snat_check,
- NULL, THIS_MODULE
-};
-
-static struct ebt_target dnat =
-{
- {NULL, NULL}, EBT_DNAT_TARGET, ebt_target_dnat, ebt_target_dnat_check,
- NULL, THIS_MODULE
-};
-
-static int __init init(void)
-{
- int ret;
- ret = ebt_register_target(&snat);
- if (ret != 0)
- return ret;
- ret = ebt_register_target(&dnat);
- if (ret == 0)
- return 0;
- ebt_unregister_target(&snat);
- return ret;
-}
-
-static void __exit fini(void)
-{
- ebt_unregister_target(&snat);
- ebt_unregister_target(&dnat);
-}
-
-module_init(init);
-module_exit(fini);
-EXPORT_NO_SYMBOLS;
-MODULE_LICENSE("GPL");