example42/puppet-iptables — pull request #42 by Freeaqingme (2013-10-12 13:39:16+00:00)
Title: Not adding rules of a certain ip version if that version hasn't been enabled.

With this PR, individual modules don't have to bother any more whether either IPv4 or IPv6 has been enabled and supported. This means that if you have a rule that could apply to both IPv4 and IPv6, you can just do:
firewall::rule {
destination => '127.0.0.1',
destination_v6 => '::1',
enable_v4 => true, # (default)
enable_v6 => true, # (default)
}

And if the OS supports IPv4 only, the ipv6 rule will be discarded, and if ipv4 is not supported, then only an ipv6 rule will be added.