summaryrefslogtreecommitdiff
path: root/options.c
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2013-03-13 16:25:56 +0100
committerJo-Philipp Wich <jow@openwrt.org>2013-03-13 16:25:56 +0100
commitff9d5e13c9150c62fe698e4bc5541e6f92b241d0 (patch)
tree61efaeab30cbf512f9a5dd983c62524374ce7989 /options.c
parent6da847c446c29c349b0edd757c1afd529565c619 (diff)
downloadfirewall3-ff9d5e13c9150c62fe698e4bc5541e6f92b241d0.tar.gz
Make nat reflection src address configurable by introducing a reflection_src parameter which can be set to "external" or "internal"
Diffstat (limited to 'options.c')
-rw-r--r--options.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/options.c b/options.c
index 8effd2a..5c529b3 100644
--- a/options.c
+++ b/options.c
@@ -97,6 +97,11 @@ static const char *include_types[] = {
"restore",
};
+static const char *reflection_sources[] = {
+ "internal",
+ "external",
+};
+
bool
fw3_parse_bool(void *ptr, const char *val)
@@ -664,6 +669,13 @@ fw3_parse_include_type(void *ptr, const char *val)
FW3_INC_TYPE_SCRIPT, FW3_INC_TYPE_RESTORE);
}
+bool
+fw3_parse_reflection_source(void *ptr, const char *val)
+{
+ return parse_enum(ptr, val, reflection_sources,
+ FW3_REFLECTION_INTERNAL, FW3_REFLECTION_EXTERNAL);
+}
+
void
fw3_parse_options(void *s, const struct fw3_option *opts,