require 'facter' require 'ipaddr' Facter.add('revzone') do setcode do ip = Facter.value(:networking)['ip6'] cidr = IPAddr.new("::/#{Facter.value(:networking)['netmask6']}").prefix addr = IPAddr.new ip parts = addr.ip6_arpa.split('.') parts.drop(cidr/4).join('.') end end