def load_current_resource
self.is_running = false
if @new_resource.netmask
new_ip = IPAddr.new("#{@new_resource.target}/#{@new_resource.netmask}")
else
new_ip = IPAddr.new(@new_resource.target)
end
if node[:os] == "linux"
route_file = ::File.open("/proc/net/route", "r")
while (line = route_file.gets)
iface,destination,gateway,flags,refcnt,use,metric,mask,mtu,window,irtt = line.split
destination = hex2ip(destination)
gateway = hex2ip(gateway)
mask = hex2ip(mask)
next unless destination && gateway && mask
Chef::Log.debug("#{@new_resource} system has route: dest=#{destination} mask=#{mask} gw=#{gateway}")
running_ip = IPAddr.new("#{destination}/#{mask}")
Chef::Log.debug("#{@new_resource} new ip: #{new_ip.inspect} running ip: #{running_ip.inspect}")
self.is_running = true if running_ip == new_ip && gateway == @new_resource.gateway
end
route_file.close
end
end