そんなわけでオレオレifconfigをRubyで書く為のC拡張「ruby-netif」を書いてみました。

こちら。

こんな感じにRubyスクリプトNICを設定できるぜいえーい

eth = Netif.new("eth0")
eth.up
eth.mtu = 1000
eth.set_addr("172.0.0.1", "255.255.255.0")
puts "addr:#{eth.addr}"
puts "netmask:#{eth.netmask}"
puts "broadaddr:#{eth.broadaddr}"
puts "promisc?:#{eth.promisc?}"
puts "up?:#{eth.up?}"
puts "eth3 exists?:#{Netif.exists?("eth3")}"

取り敢えずLinuxFreeBSDでのみ動きます。他のOSは知りません。前回の記事でNetlinkとか騒いでたくせにLinux版でNetlink使ってません(死)

どなたかNetBSD対応とかgem化とか手伝ってくださいませんかね…