}
```
-> **Note:** If there are unmanaged rules in unmanaged chains, it will take a second Puppet run for the firewall chain to be purged.
-
> **Note:** If you need more fine-grained control about which unmananged rules get removed, investigate the `purge` and `ignore_foreign` parameters available in `firewallchain`.
+> **Note:** `ignore_foreign` of `firewallchain` does not work as expected with a resources purge of `firewall`.
+
### Upgrading
Use these steps if you already have a version of the firewall module installed.
end
def destroy
- allvalidchains do |t, chain, table|
+ allvalidchains do |t, chain, table, protocol|
if INTERNAL_CHAINS.match?(chain)
# can't delete internal chains
warning "Attempting to destroy internal chain #{@resource[:name]}"
else
- debug "Deleting chain #{chain} on table #{table}"
+ debug "Flush chain #{chain} on table #{table} (#{protocol})"
+ t.call ['-t', table, '-F', chain]
+ debug "Deleting chain #{chain} on table #{table} (#{protocol})"
t.call ['-t', table, '-X', chain]
end
end