summaryrefslogtreecommitdiff
path: root/manifests/interface.pp
diff options
context:
space:
mode:
authorMarcel Haerry <haerry@puzzle.ch>2009-09-16 17:51:56 +0200
committerMicah Anderson <micah@riseup.net>2009-12-07 11:33:26 -0500
commit69ffd72ce9e5217ae7d205e04716c40d8c862315 (patch)
tree36dfb4eb635bd065396b6a4595df217a2d9c1a3b /manifests/interface.pp
parente972b9abde01a6d89579e20fe4b038c7cbfe0c45 (diff)
factored everything out in its own file
Diffstat (limited to 'manifests/interface.pp')
-rw-r--r--manifests/interface.pp27
1 files changed, 27 insertions, 0 deletions
diff --git a/manifests/interface.pp b/manifests/interface.pp
new file mode 100644
index 0000000..1cb5042
--- /dev/null
+++ b/manifests/interface.pp
@@ -0,0 +1,27 @@
+define shorewall::interface(
+ $zone,
+ $broadcast = 'detect',
+ $options = 'tcpflags,blacklist,routefilter,nosmurfs,logmartians',
+ $rfc1918 = false,
+ $dhcp = false,
+ $order = 100
+){
+ if $rfc1918 {
+ if $dhcp {
+ $options_real = "${options},dhcp"
+ } else {
+ $options_real = $options
+ }
+ } else {
+ if $dhcp {
+ $options_real = "${options},norfc1918,dhcp"
+ } else {
+ $options_real = "${options},norfc1918"
+ }
+ }
+
+ shorewall::entry { "interfaces.d/${order}-${name}":
+ line => "${zone} ${name} ${broadcast} ${options_real}",
+ }
+}
+