Dec 8, 2012 NGK2012B
E-ONTAP.COM 鈴木常彦
for group in `seq 0 2` do epairnum=`expr $epairnum + 1` t1=`expr $group "*" 3 + 1` ifconfig epair${epairnum}a vnet router0 ifconfig epair${epairnum}b vnet router${t1} jexec router0 ifconfig bridge1 addm epair${epairnum}a jexec router0 ifconfig epair${epairnum}a up jexec router${t1} ifconfig epair${epairnum}b up epairnum=`expr $epairnum + 1` t2=`expr $group "*" 3 + 2` ifconfig epair${epairnum}a vnet router${t1} (snip) done
Shell.def_system_command("ifconfig_org", path = "/sbin/ifconfig") def ifconfig(param) sh=Shell.new sh.transact{ ifconfig_org(*param.split) } end
ifconfig("epair0a inet 192.168.1.1 netmask 255.255.255.0") ifconfig("epair0a up")
class Router def initialize(jailname) ... jail(jailname) jexec(jailname,'ifconfig lo0 127.0.0.1/24 up') end def assignip(epair,ip,mask) ... end end
router0=Router.new('router0') router0.assignip('epair0b','192.168.1.254','255.255.255.0')
0.upto(10) do |num| "router#{num}"=Router.new() done
0.upto(10) do |num| eval("router#{num}=Router.new('router#{num}')") done
class Operator def setupserver(jailname) eval("$#{jailname}=Server.new('#{jailname}')") end def createpair ... end
tomocha=Operator.new
tomocha.setuprouter(router1) tomocha.setuprouter(router2)
a,b=tomocha.createpair tomocha.connect(router1,a) tomocha.connect(router2,b)