From b61f2341ffd3a3836f02cfb3d39f9977dc18a2a9 Mon Sep 17 00:00:00 2001
From: Peter Wienemann <wienemann@physik.uni-bonn.de>
Date: Fri, 27 Jan 2017 20:46:03 +0100
Subject: [PATCH] [MODULES-4249] Introduce class parameter ebtables_manage

If set to true, it ensures that firewallchain resources work for the
ethernet protocol (default: false)
---
 manifests/init.pp  | 2 ++
 manifests/linux.pp | 7 +++++++
 2 files changed, 9 insertions(+)

diff --git a/manifests/init.pp b/manifests/init.pp
index 53697b5..ba79021 100644
--- a/manifests/init.pp
+++ b/manifests/init.pp
@@ -17,6 +17,7 @@ class firewall (
   $service_name    = $::firewall::params::service_name,
   $service_name_v6 = $::firewall::params::service_name_v6,
   $package_name    = $::firewall::params::package_name,
+  $ebtables_manage = false,
 ) inherits ::firewall::params {
   case $ensure {
     /^(running|stopped)$/: {
@@ -35,6 +36,7 @@ class firewall (
         service_name    => $service_name,
         service_name_v6 => $service_name_v6,
         package_name    => $package_name,
+        ebtables_manage => $ebtables_manage,
       }
       contain "${title}::linux"
     }
diff --git a/manifests/linux.pp b/manifests/linux.pp
index 0fd758a..22cf7a0 100644
--- a/manifests/linux.pp
+++ b/manifests/linux.pp
@@ -17,6 +17,7 @@ class firewall::linux (
   $service_name    = $::firewall::params::service_name,
   $service_name_v6 = $::firewall::params::service_name_v6,
   $package_name    = $::firewall::params::package_name,
+  $ebtables_manage = false,
 ) inherits ::firewall::params {
   $enable = $ensure ? {
     running => true,
@@ -27,6 +28,12 @@ class firewall::linux (
     ensure => $pkg_ensure,
   }
 
+  if $ebtables_manage {
+    package { 'ebtables':
+      ensure => $pkg_ensure,
+    }
+  }
+
   case $::operatingsystem {
     'RedHat', 'CentOS', 'Fedora', 'Scientific', 'SL', 'SLC', 'Ascendos',
     'CloudLinux', 'PSBM', 'OracleLinux', 'OVS', 'OEL', 'Amazon', 'XenServer',
-- 
2.45.2