# File lib/chef/provider/route.rb, line 63
    def hex2ip(hex_data)
      # Cleanup hex data
      hex_ip = hex_data.to_s.downcase.gsub(/[^0-9a-f]/, '')

      # Check hex data format (IP is a 32bit integer, so should be 8 chars long)
      return nil if hex_ip.length != hex_data.length || hex_ip.length != 8

      # Extract octets from hex data
      octets = hex_ip.scan(/../).reverse.collect { |octet| [octet].pack('H2').unpack("C").first }

      # Validate IP
      ip = octets.join('.')
      begin
        IPAddr.new(ip, Socket::AF_INET).to_s
      rescue ArgumentError
        Chef::Log.debug("Invalid IP address data: hex=#{hex_ip}, ip=#{ip}")
        return nil
      end
    end