(command.CommandList children: [ (command.ShAssignment left: <Id.Lit_VarLike 'RUMPSRV='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'RUMPSRV='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'RUMPSRV='> name:RUMPSRV) op: assign_op.Equal rhs: {<unix> <Id.Lit_Colon ':'> <'//r1'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'RUMPSRV1_2='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'RUMPSRV1_2='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'RUMPSRV1_2='> name:RUMPSRV1_2) op: assign_op.Equal rhs: {<unix> <Id.Lit_Colon ':'> <'//r12'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'RUMPCLI='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'RUMPCLI='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'RUMPCLI='> name:RUMPCLI) op: assign_op.Equal rhs: {<unix> <Id.Lit_Colon ':'> <'//r2'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'RUMPSRV3='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'RUMPSRV3='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'RUMPSRV3='> name:RUMPSRV3) op: assign_op.Equal rhs: {<unix> <Id.Lit_Colon ':'> <'//r3'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'RUMPSRV4='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'RUMPSRV4='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'RUMPSRV4='> name:RUMPSRV4) op: assign_op.Equal rhs: {<unix> <Id.Lit_Colon ':'> <'//r4'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IP6SRV='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IP6SRV='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IP6SRV='> name:IP6SRV) op: assign_op.Equal rhs: {<fc00> <Id.Lit_Colon ':'> <1> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <1>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IP6SRV1_2='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IP6SRV1_2='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IP6SRV1_2='> name:IP6SRV1_2) op: assign_op.Equal rhs: {<fc00> <Id.Lit_Colon ':'> <1> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <2>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IP6SRV_PREFIX='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IP6SRV_PREFIX='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IP6SRV_PREFIX='> name:IP6SRV_PREFIX) op: assign_op.Equal rhs: {<fc00> <Id.Lit_Colon ':'> <1> <Id.Lit_Colon ':'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IP6CLI='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IP6CLI='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IP6CLI='> name:IP6CLI) op: assign_op.Equal rhs: {<fc00> <Id.Lit_Colon ':'> <2> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <2>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IP6SRV3='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IP6SRV3='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IP6SRV3='> name:IP6SRV3) op: assign_op.Equal rhs: {<fc00> <Id.Lit_Colon ':'> <3> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <1>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IP6SRV3_PREFIX='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IP6SRV3_PREFIX='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IP6SRV3_PREFIX='> name:IP6SRV3_PREFIX) op: assign_op.Equal rhs: {<fc00> <Id.Lit_Colon ':'> <3> <Id.Lit_Colon ':'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IP6SRV4='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IP6SRV4='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IP6SRV4='> name:IP6SRV4) op: assign_op.Equal rhs: {<fc00> <Id.Lit_Colon ':'> <4> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <1>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IP6SRV4_PREFIX='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IP6SRV4_PREFIX='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IP6SRV4_PREFIX='> name:IP6SRV4_PREFIX) op: assign_op.Equal rhs: {<fc00> <Id.Lit_Colon ':'> <4> <Id.Lit_Colon ':'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'PIDFILE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'PIDFILE='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PIDFILE='> name:PIDFILE) op: assign_op.Equal rhs: {<'./rump.rtadvd.pid'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'PIDFILE1_2='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'PIDFILE1_2='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PIDFILE1_2='> name:PIDFILE1_2) op: assign_op.Equal rhs: {<'./rump.rtadvd.pid12'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'PIDFILE3='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'PIDFILE3='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PIDFILE3='> name:PIDFILE3) op: assign_op.Equal rhs: {<'./rump.rtadvd.pid3'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'PIDFILE4='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'PIDFILE4='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PIDFILE4='> name:PIDFILE4) op: assign_op.Equal rhs: {<'./rump.rtadvd.pid4'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'CONFIG='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CONFIG='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CONFIG='> name:CONFIG) op: assign_op.Equal rhs: {<'./rtadvd.conf'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'WAITTIME='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'WAITTIME='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WAITTIME='> name:WAITTIME) op: assign_op.Equal rhs: {<2>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'DEBUG='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'DEBUG='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DEBUG='> name:DEBUG) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name DEBUG> var_name: DEBUG suffix_op: (suffix_op.Unary op:<Id.VTest_ColonHyphen _> arg_word:{<true>}) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.ShFunction name_tok: <init_server> name: init_server body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> ($ Id.VSub_Number 1)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (SQ <'0.->.1'>)} {<rump.sysctl>} {<-w>} {<net.inet6.ip6.forwarding> <Id.Lit_Equals '='> <1>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'LD_PRELOAD='> <'/usr/lib/librumphijack.so'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<mkdir>} {<-p>} {<'/rump/var/chroot/rtadvd'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <unset> more_env: [] words: [{<unset>} {<LD_PRELOAD>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <unset> more_env: [] words: [{<unset>} {<RUMP_SERVER>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <setup_shmif0> name: setup_shmif0 body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'sock='> ($ Id.VSub_Number 1)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'IP6ADDR='> ($ Id.VSub_Number 2)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_add_iface> more_env: [] words: [{<rump_server_add_iface>} {($ Id.VSub_DollarName sock)} {<shmif0>} {<bus1>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> ($ Id.VSub_DollarName sock)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<rump.ifconfig>} {<shmif0>} {<inet6>} {(${ Id.VSub_Name IP6ADDR)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<rump.ifconfig>} {<shmif0>} {<up>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<rump.ifconfig>} {<-w>} {<10>} ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$DEBUG'> more_env: [] words: [{($ Id.VSub_DollarName DEBUG)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump.ifconfig> more_env: [] words: [{<rump.ifconfig>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <wait_term> name: wait_term body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'PIDFILE='> (${ Id.VSub_Number 1)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-f>} {(${ Id.VSub_Name PIDFILE)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <sleep> more_env: [] words: [{<sleep>} {<0.2>}] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ControlFlow keyword:<Id.ControlFlow_Return return> arg_word:{<0>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <create_rtadvdconfig> name: create_rtadvdconfig body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<_EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [<'shmif0:'> <'\t:mtu#1300:maxinterval#4:mininterval#3:\n'>] ) ) (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(${ Id.VSub_Name CONFIG)} ) ] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <start_rtadvd> name: start_rtadvd body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'sock='> ($ Id.VSub_Number 1)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'pidfile='> ($ Id.VSub_Number 2)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> ($ Id.VSub_DollarName sock)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<rump.rtadvd>} {<-c>} {(${ Id.VSub_Name CONFIG)} {<-p>} {($ Id.VSub_DollarName pidfile)} {<shmif0>} ] redirects: [] do_fork: T ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {($ Id.VSub_DollarName pidfile)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <sleep> more_env: [] words: [{<sleep>} {<0.2>}] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <unset> more_env: [] words: [{<unset>} {<RUMP_SERVER>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <check_entries> name: check_entries body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'cli='> ($ Id.VSub_Number 1)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'srv='> ($ Id.VSub_Number 2)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'addr_prefix='> ($ Id.VSub_Number 3)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'mac_srv='>} {<Id.Lit_VarLike 'll_srv='>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'll_srv='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'll_srv='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'll_srv='> name:ll_srv) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <get_linklocal_addr> more_env: [] words: [{<get_linklocal_addr>} {($ Id.VSub_DollarName srv)} {<shmif0>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'mac_srv='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'mac_srv='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mac_srv='> name:mac_srv) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <get_macaddr> more_env: [] words: [{<get_macaddr>} {($ Id.VSub_DollarName srv)} {<shmif0>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> ($ Id.VSub_DollarName cli)}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$DEBUG'> more_env: [] words: [{($ Id.VSub_DollarName DEBUG)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <dump_entries> more_env: [] words: [{<dump_entries>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (SQ <'if=shmif0'>)} {<rump.ndp>} {<-r>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (SQ <advertised>)} {<rump.ndp>} {<-p>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (DQ (${ Id.VSub_Name ll_srv) <'%shmif0 '> <Id.Lit_BadBackslash '\\'> <'(reachable'> <Id.Lit_BadBackslash '\\'> <')'> ) } {<rump.ndp>} {<-p>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (SQ <'linkmtu=1300'>)} {<rump.ndp>} {<-n>} {<-i>} {<shmif0>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (DQ ($ Id.VSub_DollarName ll_srv) <'%shmif0 +'> ($ Id.VSub_DollarName mac_srv) <' +shmif0 +(23h59m|1d0h0m)..s S R'> ) } {<rump.ndp>} {<-n>} {<-a>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName addr_prefix)} {<rump.ndp>} {<-n>} {<-a>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (DQ ($ Id.VSub_DollarName addr_prefix) <'.+<(TENTATIVE,)?AUTOCONF>'>) } {<rump.ifconfig>} {<shmif0>} {<inet6>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <unset> more_env: [] words: [{<unset>} {<RUMP_SERVER>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <dump_entries> name: dump_entries body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<ndp>} {<-n>} {<-a>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump.ndp> more_env: [] words: [{<rump.ndp>} {<-n>} {<-a>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<ndp>} {<-p>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump.ndp> more_env: [] words: [{<rump.ndp>} {<-p>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<ndp>} {<-r>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump.ndp> more_env: [] words: [{<rump.ndp>} {<-r>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <atf_test_case> more_env: [] words: [{<atf_test_case>} {<ra_basic>} {<cleanup>}] redirects: [] do_fork: T ) (command.ShFunction name_tok: <ra_basic_head> name: ra_basic_head body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <atf_set> more_env: [] words: [ {<atf_set>} {(DQ <descr>)} {(DQ <'Tests for basic functions of router advaertisement(RA)'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_set> more_env: [] words: [ {<atf_set>} {(DQ <require.progs>)} {(DQ <'rump_server rump.rtadvd rump.ndp rump.ifconfig'>)} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ra_basic_body> name: ra_basic_body body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <rump_server_fs_start> more_env: [] words: [{<rump_server_fs_start>} {($ Id.VSub_DollarName RUMPSRV)} {<netinet6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_start> more_env: [] words: [{<rump_server_start>} {($ Id.VSub_DollarName RUMPCLI)} {<netinet6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_shmif0> more_env: [] words: [{<setup_shmif0>} {(${ Id.VSub_Name RUMPSRV)} {(${ Id.VSub_Name IP6SRV)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <init_server> more_env: [] words: [{<init_server>} {($ Id.VSub_DollarName RUMPSRV)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_shmif0> more_env: [] words: [{<setup_shmif0>} {(${ Id.VSub_Name RUMPCLI)} {(${ Id.VSub_Name IP6CLI)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> (${ Id.VSub_Name RUMPCLI)}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$DEBUG'> more_env: [] words: [{($ Id.VSub_DollarName DEBUG)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump.ndp> more_env: [] words: [{<rump.ndp>} {<-n>} {<-a>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (SQ <'= 0'>)} {<rump.sysctl>} {<net.inet6.ip6.accept_rtadv>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <unset> more_env: [] words: [{<unset>} {<RUMP_SERVER>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <create_rtadvdconfig> more_env: [] words: [{<create_rtadvdconfig>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <start_rtadvd> more_env: [] words: [{<start_rtadvd>} {($ Id.VSub_DollarName RUMPSRV)} {($ Id.VSub_DollarName PIDFILE)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sleep> more_env: [] words: [{<sleep>} {($ Id.VSub_DollarName WAITTIME)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> (${ Id.VSub_Name RUMPCLI)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<empty>} {<rump.ndp>} {<-r>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<not-match> <Id.Lit_Colon ':'> (SQ <advertised>)} {<rump.ndp>} {<-p>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (SQ <'linkmtu=0'>)} {<rump.ndp>} {<-n>} {<-i>} {<shmif0>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<not-match> <Id.Lit_Colon ':'> (SQ <'S R'>)} {<rump.ndp>} {<-n>} {<-a>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<not-match> <Id.Lit_Colon ':'> (SQ <'fc00:1:'>)} {<rump.ndp>} {<-n>} {<-a>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<not-match> <Id.Lit_Colon ':'> (SQ <'fc00:1:'>)} {<rump.ifconfig>} {<shmif0>} {<inet6>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <unset> more_env: [] words: [{<unset>} {<RUMP_SERVER>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<kill>} {<-TERM>} { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {(${ Id.VSub_Name PIDFILE)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <wait_term> more_env: [] words: [{<wait_term>} {(${ Id.VSub_Name PIDFILE)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> (${ Id.VSub_Name RUMPCLI)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (SQ <'0.->.1'>)} {<rump.sysctl>} {<-w>} {<net.inet6.ip6.accept_rtadv> <Id.Lit_Equals '='> <1>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <unset> more_env: [] words: [{<unset>} {<RUMP_SERVER>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <start_rtadvd> more_env: [] words: [{<start_rtadvd>} {($ Id.VSub_DollarName RUMPSRV)} {($ Id.VSub_DollarName PIDFILE)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sleep> more_env: [] words: [{<sleep>} {($ Id.VSub_DollarName WAITTIME)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <check_entries> more_env: [] words: [ {<check_entries>} {($ Id.VSub_DollarName RUMPCLI)} {($ Id.VSub_DollarName RUMPSRV)} {($ Id.VSub_DollarName IP6SRV_PREFIX)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<kill>} {<-TERM>} { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {(${ Id.VSub_Name PIDFILE)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <wait_term> more_env: [] words: [{<wait_term>} {(${ Id.VSub_Name PIDFILE)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_destroy_ifaces> more_env: [] words: [{<rump_server_destroy_ifaces>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ra_basic_cleanup> name: ra_basic_cleanup body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-f>} {(${ Id.VSub_Name PIDFILE)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <kill> more_env: [] words: [ {<kill>} {<-TERM>} { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {(${ Id.VSub_Name PIDFILE)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <wait_term> more_env: [] words: [{<wait_term>} {(${ Id.VSub_Name PIDFILE)}] redirects: [] do_fork: T ) ] spids: [1246 1259] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$DEBUG'> more_env: [] words: [{($ Id.VSub_DollarName DEBUG)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <dump> more_env: [] words: [{<dump>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <cleanup> more_env: [] words: [{<cleanup>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <atf_test_case> more_env: [] words: [{<atf_test_case>} {<ra_flush_prefix_entries>} {<cleanup>}] redirects: [] do_fork: T ) (command.ShFunction name_tok: <ra_flush_prefix_entries_head> name: ra_flush_prefix_entries_head body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <atf_set> more_env: [] words: [{<atf_set>} {(DQ <descr>)} {(DQ <'Tests for flushing prefixes (ndp -P)'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_set> more_env: [] words: [ {<atf_set>} {(DQ <require.progs>)} {(DQ <'rump_server rump.rtadvd rump.ndp rump.ifconfig'>)} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ra_flush_prefix_entries_body> name: ra_flush_prefix_entries_body body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <rump_server_fs_start> more_env: [] words: [{<rump_server_fs_start>} {($ Id.VSub_DollarName RUMPSRV)} {<netinet6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_start> more_env: [] words: [{<rump_server_start>} {($ Id.VSub_DollarName RUMPCLI)} {<netinet6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_shmif0> more_env: [] words: [{<setup_shmif0>} {(${ Id.VSub_Name RUMPSRV)} {(${ Id.VSub_Name IP6SRV)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_shmif0> more_env: [] words: [{<setup_shmif0>} {(${ Id.VSub_Name RUMPCLI)} {(${ Id.VSub_Name IP6CLI)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <init_server> more_env: [] words: [{<init_server>} {($ Id.VSub_DollarName RUMPSRV)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <create_rtadvdconfig> more_env: [] words: [{<create_rtadvdconfig>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> (${ Id.VSub_Name RUMPCLI)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (SQ <'0.->.1'>)} {<rump.sysctl>} {<-w>} {<net.inet6.ip6.accept_rtadv> <Id.Lit_Equals '='> <1>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <unset> more_env: [] words: [{<unset>} {<RUMP_SERVER>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <start_rtadvd> more_env: [] words: [{<start_rtadvd>} {($ Id.VSub_DollarName RUMPSRV)} {($ Id.VSub_DollarName PIDFILE)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sleep> more_env: [] words: [{<sleep>} {($ Id.VSub_DollarName WAITTIME)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <check_entries> more_env: [] words: [ {<check_entries>} {($ Id.VSub_DollarName RUMPCLI)} {($ Id.VSub_DollarName RUMPSRV)} {($ Id.VSub_DollarName IP6SRV_PREFIX)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> (${ Id.VSub_Name RUMPCLI)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <kill> more_env: [] words: [ {<kill>} {<-KILL>} { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {(${ Id.VSub_Name PIDFILE)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<rump.ndp>} {<-P>} ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$DEBUG'> more_env: [] words: [{($ Id.VSub_DollarName DEBUG)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <dump_entries> more_env: [] words: [{<dump_entries>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (SQ <'if=shmif0'>)} {<rump.ndp>} {<-r>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<empty>} {<rump.ndp>} {<-p>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (SQ <'linkmtu=1300'>)} {<rump.ndp>} {<-n>} {<-i>} {<shmif0>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (SQ <'(23h59m|1d0h0m)..s S R'>)} {<rump.ndp>} {<-n>} {<-a>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (SQ <'fc00:1:'>)} {<rump.ndp>} {<-n>} {<-a>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<not-match> <Id.Lit_Colon ':'> (SQ <'fc00:1:'>)} {<rump.ifconfig>} {<shmif0>} {<inet6>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <unset> more_env: [] words: [{<unset>} {<RUMP_SERVER>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_destroy_ifaces> more_env: [] words: [{<rump_server_destroy_ifaces>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ra_flush_prefix_entries_cleanup> name: ra_flush_prefix_entries_cleanup body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$DEBUG'> more_env: [] words: [{($ Id.VSub_DollarName DEBUG)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <dump> more_env: [] words: [{<dump>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <cleanup> more_env: [] words: [{<cleanup>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <atf_test_case> more_env: [] words: [{<atf_test_case>} {<ra_flush_defrouter_entries>} {<cleanup>}] redirects: [] do_fork: T ) (command.ShFunction name_tok: <ra_flush_defrouter_entries_head> name: ra_flush_defrouter_entries_head body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <atf_set> more_env: [] words: [{<atf_set>} {(DQ <descr>)} {(DQ <'Tests for flushing default routers (ndp -R)'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_set> more_env: [] words: [ {<atf_set>} {(DQ <require.progs>)} {(DQ <'rump_server rump.rtadvd rump.ndp rump.ifconfig'>)} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ra_flush_defrouter_entries_body> name: ra_flush_defrouter_entries_body body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <rump_server_fs_start> more_env: [] words: [{<rump_server_fs_start>} {($ Id.VSub_DollarName RUMPSRV)} {<netinet6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_start> more_env: [] words: [{<rump_server_start>} {($ Id.VSub_DollarName RUMPCLI)} {<netinet6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_shmif0> more_env: [] words: [{<setup_shmif0>} {(${ Id.VSub_Name RUMPSRV)} {(${ Id.VSub_Name IP6SRV)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_shmif0> more_env: [] words: [{<setup_shmif0>} {(${ Id.VSub_Name RUMPCLI)} {(${ Id.VSub_Name IP6CLI)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <init_server> more_env: [] words: [{<init_server>} {($ Id.VSub_DollarName RUMPSRV)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <create_rtadvdconfig> more_env: [] words: [{<create_rtadvdconfig>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> (${ Id.VSub_Name RUMPCLI)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (SQ <'0.->.1'>)} {<rump.sysctl>} {<-w>} {<net.inet6.ip6.accept_rtadv> <Id.Lit_Equals '='> <1>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <unset> more_env: [] words: [{<unset>} {<RUMP_SERVER>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <start_rtadvd> more_env: [] words: [{<start_rtadvd>} {($ Id.VSub_DollarName RUMPSRV)} {($ Id.VSub_DollarName PIDFILE)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sleep> more_env: [] words: [{<sleep>} {($ Id.VSub_DollarName WAITTIME)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <check_entries> more_env: [] words: [ {<check_entries>} {($ Id.VSub_DollarName RUMPCLI)} {($ Id.VSub_DollarName RUMPSRV)} {($ Id.VSub_DollarName IP6SRV_PREFIX)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> (${ Id.VSub_Name RUMPCLI)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <kill> more_env: [] words: [ {<kill>} {<-KILL>} { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {(${ Id.VSub_Name PIDFILE)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<rump.ndp>} {<-R>} ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$DEBUG'> more_env: [] words: [{($ Id.VSub_DollarName DEBUG)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <dump_entries> more_env: [] words: [{<dump_entries>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<empty>} {<rump.ndp>} {<-r>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (SQ <'No advertising router'>)} {<rump.ndp>} {<-p>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (SQ <'linkmtu=1300'>)} {<rump.ndp>} {<-n>} {<-i>} {<shmif0>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (SQ <'(23h59m|1d0h0m)..s S R'>)} {<rump.ndp>} {<-n>} {<-a>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (SQ <'fc00:1:'>)} {<rump.ndp>} {<-n>} {<-a>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (SQ <'fc00:1:'>)} {<rump.ifconfig>} {<shmif0>} {<inet6>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <unset> more_env: [] words: [{<unset>} {<RUMP_SERVER>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_destroy_ifaces> more_env: [] words: [{<rump_server_destroy_ifaces>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ra_flush_defrouter_entries_cleanup> name: ra_flush_defrouter_entries_cleanup body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$DEBUG'> more_env: [] words: [{($ Id.VSub_DollarName DEBUG)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <dump> more_env: [] words: [{<dump>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <cleanup> more_env: [] words: [{<cleanup>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <atf_test_case> more_env: [] words: [{<atf_test_case>} {<ra_delete_address>} {<cleanup>}] redirects: [] do_fork: T ) (command.ShFunction name_tok: <ra_delete_address_head> name: ra_delete_address_head body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <atf_set> more_env: [] words: [{<atf_set>} {(DQ <descr>)} {(DQ <'Tests for deleting auto-configured address'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_set> more_env: [] words: [ {<atf_set>} {(DQ <require.progs>)} {(DQ <'rump_server rump.rtadvd rump.ndp rump.ifconfig'>)} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ra_delete_address_body> name: ra_delete_address_body body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <rump_server_fs_start> more_env: [] words: [{<rump_server_fs_start>} {($ Id.VSub_DollarName RUMPSRV)} {<netinet6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_start> more_env: [] words: [{<rump_server_start>} {($ Id.VSub_DollarName RUMPCLI)} {<netinet6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_shmif0> more_env: [] words: [{<setup_shmif0>} {(${ Id.VSub_Name RUMPSRV)} {(${ Id.VSub_Name IP6SRV)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_shmif0> more_env: [] words: [{<setup_shmif0>} {(${ Id.VSub_Name RUMPCLI)} {(${ Id.VSub_Name IP6CLI)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <init_server> more_env: [] words: [{<init_server>} {($ Id.VSub_DollarName RUMPSRV)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <create_rtadvdconfig> more_env: [] words: [{<create_rtadvdconfig>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> (${ Id.VSub_Name RUMPCLI)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (SQ <'0.->.1'>)} {<rump.sysctl>} {<-w>} {<net.inet6.ip6.accept_rtadv> <Id.Lit_Equals '='> <1>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <unset> more_env: [] words: [{<unset>} {<RUMP_SERVER>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <start_rtadvd> more_env: [] words: [{<start_rtadvd>} {($ Id.VSub_DollarName RUMPSRV)} {($ Id.VSub_DollarName PIDFILE)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sleep> more_env: [] words: [{<sleep>} {($ Id.VSub_DollarName WAITTIME)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <check_entries> more_env: [] words: [ {<check_entries>} {($ Id.VSub_DollarName RUMPCLI)} {($ Id.VSub_DollarName RUMPSRV)} {($ Id.VSub_DollarName IP6SRV_PREFIX)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> (${ Id.VSub_Name RUMPCLI)}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$DEBUG'> more_env: [] words: [{($ Id.VSub_DollarName DEBUG)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump.ifconfig> more_env: [] words: [{<rump.ifconfig>} {<shmif0>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<rump.ifconfig>} {<shmif0>} {<inet6>} { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <rump.ifconfig> more_env: [] words: [{<rump.ifconfig>} {<shmif0>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <awk> more_env: [] words: [{<awk>} {(SQ <'/AUTOCONF/ {print $2}'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) } {<delete>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <unset> more_env: [] words: [{<unset>} {<RUMP_SERVER>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<kill>} {<-TERM>} { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {(${ Id.VSub_Name PIDFILE)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <wait_term> more_env: [] words: [{<wait_term>} {(${ Id.VSub_Name PIDFILE)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_destroy_ifaces> more_env: [] words: [{<rump_server_destroy_ifaces>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ra_delete_address_cleanup> name: ra_delete_address_cleanup body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-f>} {(${ Id.VSub_Name PIDFILE)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <kill> more_env: [] words: [ {<kill>} {<-TERM>} { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {(${ Id.VSub_Name PIDFILE)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <wait_term> more_env: [] words: [{<wait_term>} {(${ Id.VSub_Name PIDFILE)}] redirects: [] do_fork: T ) ] spids: [2309 2322] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$DEBUG'> more_env: [] words: [{($ Id.VSub_DollarName DEBUG)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <dump> more_env: [] words: [{<dump>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <cleanup> more_env: [] words: [{<cleanup>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <atf_test_case> more_env: [] words: [{<atf_test_case>} {<ra_multiple_routers>} {<cleanup>}] redirects: [] do_fork: T ) (command.ShFunction name_tok: <ra_multiple_routers_head> name: ra_multiple_routers_head body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <atf_set> more_env: [] words: [{<atf_set>} {(DQ <descr>)} {(DQ <'Tests for multiple routers'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_set> more_env: [] words: [ {<atf_set>} {(DQ <require.progs>)} {(DQ <'rump_server rump.rtadvd rump.ndp rump.ifconfig'>)} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ra_multiple_routers_body> name: ra_multiple_routers_body body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'n='>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_fs_start> more_env: [] words: [{<rump_server_fs_start>} {($ Id.VSub_DollarName RUMPSRV)} {<netinet6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_fs_start> more_env: [] words: [{<rump_server_fs_start>} {($ Id.VSub_DollarName RUMPSRV3)} {<netinet6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_start> more_env: [] words: [{<rump_server_start>} {($ Id.VSub_DollarName RUMPCLI)} {<netinet6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_shmif0> more_env: [] words: [{<setup_shmif0>} {(${ Id.VSub_Name RUMPSRV)} {(${ Id.VSub_Name IP6SRV)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_shmif0> more_env: [] words: [{<setup_shmif0>} {(${ Id.VSub_Name RUMPSRV3)} {(${ Id.VSub_Name IP6SRV3)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_shmif0> more_env: [] words: [{<setup_shmif0>} {(${ Id.VSub_Name RUMPCLI)} {(${ Id.VSub_Name IP6CLI)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <init_server> more_env: [] words: [{<init_server>} {($ Id.VSub_DollarName RUMPSRV)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <init_server> more_env: [] words: [{<init_server>} {($ Id.VSub_DollarName RUMPSRV3)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <create_rtadvdconfig> more_env: [] words: [{<create_rtadvdconfig>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> (${ Id.VSub_Name RUMPCLI)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (SQ <'0.->.1'>)} {<rump.sysctl>} {<-w>} {<net.inet6.ip6.accept_rtadv> <Id.Lit_Equals '='> <1>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <unset> more_env: [] words: [{<unset>} {<RUMP_SERVER>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <start_rtadvd> more_env: [] words: [{<start_rtadvd>} {($ Id.VSub_DollarName RUMPSRV)} {($ Id.VSub_DollarName PIDFILE)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <start_rtadvd> more_env: [] words: [ {<start_rtadvd>} {($ Id.VSub_DollarName RUMPSRV3)} {($ Id.VSub_DollarName PIDFILE3)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sleep> more_env: [] words: [{<sleep>} {($ Id.VSub_DollarName WAITTIME)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <check_entries> more_env: [] words: [ {<check_entries>} {($ Id.VSub_DollarName RUMPCLI)} {($ Id.VSub_DollarName RUMPSRV)} {($ Id.VSub_DollarName IP6SRV_PREFIX)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <check_entries> more_env: [] words: [ {<check_entries>} {($ Id.VSub_DollarName RUMPCLI)} {($ Id.VSub_DollarName RUMPSRV3)} {($ Id.VSub_DollarName IP6SRV3_PREFIX)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> ($ Id.VSub_DollarName RUMPCLI)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'n='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'n='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'n='> name:n) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <rump.ndp> more_env: [] words: [{<rump.ndp>} {<-p>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <grep> more_env: [] words: [{<grep>} {(SQ <'advertised by'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <wc> more_env: [] words: [{<wc>} {<-l>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.Simple blame_tok: <atf_check_equal> more_env: [] words: [{<atf_check_equal>} {($ Id.VSub_DollarName n)} {<2>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <unset> more_env: [] words: [{<unset>} {<RUMP_SERVER>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<kill>} {<-TERM>} { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {(${ Id.VSub_Name PIDFILE)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <wait_term> more_env: [] words: [{<wait_term>} {(${ Id.VSub_Name PIDFILE)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<kill>} {<-TERM>} { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {(${ Id.VSub_Name PIDFILE3)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <wait_term> more_env: [] words: [{<wait_term>} {(${ Id.VSub_Name PIDFILE3)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_destroy_ifaces> more_env: [] words: [{<rump_server_destroy_ifaces>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ra_multiple_routers_cleanup> name: ra_multiple_routers_cleanup body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-f>} {(${ Id.VSub_Name PIDFILE)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <kill> more_env: [] words: [ {<kill>} {<-TERM>} { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {(${ Id.VSub_Name PIDFILE)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <wait_term> more_env: [] words: [{<wait_term>} {(${ Id.VSub_Name PIDFILE)}] redirects: [] do_fork: T ) ] spids: [2680 2693] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-f>} {(${ Id.VSub_Name PIDFILE3)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <kill> more_env: [] words: [ {<kill>} {<-TERM>} { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {(${ Id.VSub_Name PIDFILE3)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <wait_term> more_env: [] words: [{<wait_term>} {(${ Id.VSub_Name PIDFILE3)}] redirects: [] do_fork: T ) ] spids: [2721 2734] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$DEBUG'> more_env: [] words: [{($ Id.VSub_DollarName DEBUG)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <dump> more_env: [] words: [{<dump>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <cleanup> more_env: [] words: [{<cleanup>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <atf_test_case> more_env: [] words: [{<atf_test_case>} {<ra_multiple_routers_single_prefix>} {<cleanup>}] redirects: [] do_fork: T ) (command.ShFunction name_tok: <ra_multiple_routers_single_prefix_head> name: ra_multiple_routers_single_prefix_head body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <atf_set> more_env: [] words: [ {<atf_set>} {(DQ <descr>)} {(DQ <'Tests for multiple routers with a single prefix'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_set> more_env: [] words: [ {<atf_set>} {(DQ <require.progs>)} {(DQ <'rump_server rump.rtadvd rump.ndp rump.ifconfig'>)} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ra_multiple_routers_single_prefix_body> name: ra_multiple_routers_single_prefix_body body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'n='>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_fs_start> more_env: [] words: [{<rump_server_fs_start>} {($ Id.VSub_DollarName RUMPSRV)} {<netinet6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_fs_start> more_env: [] words: [{<rump_server_fs_start>} {($ Id.VSub_DollarName RUMPSRV1_2)} {<netinet6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_start> more_env: [] words: [{<rump_server_start>} {($ Id.VSub_DollarName RUMPCLI)} {<netinet6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_shmif0> more_env: [] words: [{<setup_shmif0>} {(${ Id.VSub_Name RUMPSRV)} {(${ Id.VSub_Name IP6SRV)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_shmif0> more_env: [] words: [{<setup_shmif0>} {(${ Id.VSub_Name RUMPSRV1_2)} {(${ Id.VSub_Name IP6SRV1_2)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_shmif0> more_env: [] words: [{<setup_shmif0>} {(${ Id.VSub_Name RUMPCLI)} {(${ Id.VSub_Name IP6CLI)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <init_server> more_env: [] words: [{<init_server>} {($ Id.VSub_DollarName RUMPSRV)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <init_server> more_env: [] words: [{<init_server>} {($ Id.VSub_DollarName RUMPSRV1_2)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <create_rtadvdconfig> more_env: [] words: [{<create_rtadvdconfig>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> (${ Id.VSub_Name RUMPCLI)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (SQ <'0.->.1'>)} {<rump.sysctl>} {<-w>} {<net.inet6.ip6.accept_rtadv> <Id.Lit_Equals '='> <1>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <unset> more_env: [] words: [{<unset>} {<RUMP_SERVER>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <start_rtadvd> more_env: [] words: [{<start_rtadvd>} {($ Id.VSub_DollarName RUMPSRV)} {($ Id.VSub_DollarName PIDFILE)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <start_rtadvd> more_env: [] words: [ {<start_rtadvd>} {($ Id.VSub_DollarName RUMPSRV1_2)} {($ Id.VSub_DollarName PIDFILE1_2)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sleep> more_env: [] words: [{<sleep>} {($ Id.VSub_DollarName WAITTIME)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <check_entries> more_env: [] words: [ {<check_entries>} {($ Id.VSub_DollarName RUMPCLI)} {($ Id.VSub_DollarName RUMPSRV)} {($ Id.VSub_DollarName IP6SRV_PREFIX)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <check_entries> more_env: [] words: [ {<check_entries>} {($ Id.VSub_DollarName RUMPCLI)} {($ Id.VSub_DollarName RUMPSRV1_2)} {($ Id.VSub_DollarName IP6SRV_PREFIX)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> ($ Id.VSub_DollarName RUMPCLI)}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'n='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'n='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'n='> name:n) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <rump.ndp> more_env: [] words: [{<rump.ndp>} {<-p>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <grep> more_env: [] words: [{<grep>} {(SQ <'advertised by'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <wc> more_env: [] words: [{<wc>} {<-l>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.Simple blame_tok: <atf_check_equal> more_env: [] words: [{<atf_check_equal>} {($ Id.VSub_DollarName n)} {<1>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <unset> more_env: [] words: [{<unset>} {<RUMP_SERVER>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<kill>} {<-TERM>} { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {(${ Id.VSub_Name PIDFILE)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <wait_term> more_env: [] words: [{<wait_term>} {(${ Id.VSub_Name PIDFILE)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<kill>} {<-TERM>} { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {(${ Id.VSub_Name PIDFILE1_2)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <wait_term> more_env: [] words: [{<wait_term>} {(${ Id.VSub_Name PIDFILE1_2)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_destroy_ifaces> more_env: [] words: [{<rump_server_destroy_ifaces>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ra_multiple_routers_single_prefix_cleanup> name: ra_multiple_routers_single_prefix_cleanup body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-f>} {(${ Id.VSub_Name PIDFILE)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <kill> more_env: [] words: [ {<kill>} {<-TERM>} { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {(${ Id.VSub_Name PIDFILE)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <wait_term> more_env: [] words: [{<wait_term>} {(${ Id.VSub_Name PIDFILE)}] redirects: [] do_fork: T ) ] spids: [3092 3105] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-f>} {(${ Id.VSub_Name PIDFILE1_2)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <kill> more_env: [] words: [ {<kill>} {<-TERM>} { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {(${ Id.VSub_Name PIDFILE1_2)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <wait_term> more_env: [] words: [{<wait_term>} {(${ Id.VSub_Name PIDFILE1_2)}] redirects: [] do_fork: T ) ] spids: [3133 3146] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$DEBUG'> more_env: [] words: [{($ Id.VSub_DollarName DEBUG)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <dump> more_env: [] words: [{<dump>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <cleanup> more_env: [] words: [{<cleanup>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <atf_test_case> more_env: [] words: [{<atf_test_case>} {<ra_multiple_routers_maxifprefixes>} {<cleanup>}] redirects: [] do_fork: T ) (command.ShFunction name_tok: <ra_multiple_routers_maxifprefixes_head> name: ra_multiple_routers_maxifprefixes_head body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <atf_set> more_env: [] words: [ {<atf_set>} {(DQ <descr>)} {(DQ <'Tests for exceeding the number of maximum prefixes'>)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_set> more_env: [] words: [ {<atf_set>} {(DQ <require.progs>)} {(DQ <'rump_server rump.rtadvd rump.ndp rump.ifconfig'>)} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ra_multiple_routers_maxifprefixes_body> name: ra_multiple_routers_maxifprefixes_body body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'n='>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_fs_start> more_env: [] words: [{<rump_server_fs_start>} {($ Id.VSub_DollarName RUMPSRV)} {<netinet6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_fs_start> more_env: [] words: [{<rump_server_fs_start>} {($ Id.VSub_DollarName RUMPSRV3)} {<netinet6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_fs_start> more_env: [] words: [{<rump_server_fs_start>} {($ Id.VSub_DollarName RUMPSRV4)} {<netinet6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_start> more_env: [] words: [{<rump_server_start>} {($ Id.VSub_DollarName RUMPCLI)} {<netinet6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_shmif0> more_env: [] words: [{<setup_shmif0>} {(${ Id.VSub_Name RUMPSRV)} {(${ Id.VSub_Name IP6SRV)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_shmif0> more_env: [] words: [{<setup_shmif0>} {(${ Id.VSub_Name RUMPSRV3)} {(${ Id.VSub_Name IP6SRV3)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_shmif0> more_env: [] words: [{<setup_shmif0>} {(${ Id.VSub_Name RUMPSRV4)} {(${ Id.VSub_Name IP6SRV4)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_shmif0> more_env: [] words: [{<setup_shmif0>} {(${ Id.VSub_Name RUMPCLI)} {(${ Id.VSub_Name IP6CLI)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <init_server> more_env: [] words: [{<init_server>} {($ Id.VSub_DollarName RUMPSRV)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <init_server> more_env: [] words: [{<init_server>} {($ Id.VSub_DollarName RUMPSRV3)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <init_server> more_env: [] words: [{<init_server>} {($ Id.VSub_DollarName RUMPSRV4)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <create_rtadvdconfig> more_env: [] words: [{<create_rtadvdconfig>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> (${ Id.VSub_Name RUMPCLI)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (SQ <'0.->.1'>)} {<rump.sysctl>} {<-w>} {<net.inet6.ip6.accept_rtadv> <Id.Lit_Equals '='> <1>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (SQ <'16.->.2'>)} {<rump.sysctl>} {<-w>} {<net.inet6.ip6.maxifprefixes> <Id.Lit_Equals '='> <2>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <unset> more_env: [] words: [{<unset>} {<RUMP_SERVER>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <start_rtadvd> more_env: [] words: [{<start_rtadvd>} {($ Id.VSub_DollarName RUMPSRV)} {($ Id.VSub_DollarName PIDFILE)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <start_rtadvd> more_env: [] words: [ {<start_rtadvd>} {($ Id.VSub_DollarName RUMPSRV3)} {($ Id.VSub_DollarName PIDFILE3)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sleep> more_env: [] words: [{<sleep>} {($ Id.VSub_DollarName WAITTIME)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <check_entries> more_env: [] words: [ {<check_entries>} {($ Id.VSub_DollarName RUMPCLI)} {($ Id.VSub_DollarName RUMPSRV)} {($ Id.VSub_DollarName IP6SRV_PREFIX)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <check_entries> more_env: [] words: [ {<check_entries>} {($ Id.VSub_DollarName RUMPCLI)} {($ Id.VSub_DollarName RUMPSRV3)} {($ Id.VSub_DollarName IP6SRV3_PREFIX)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <start_rtadvd> more_env: [] words: [ {<start_rtadvd>} {($ Id.VSub_DollarName RUMPSRV4)} {($ Id.VSub_DollarName PIDFILE4)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sleep> more_env: [] words: [{<sleep>} {($ Id.VSub_DollarName WAITTIME)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> (${ Id.VSub_Name RUMPCLI)}] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$DEBUG'> more_env: [] words: [{($ Id.VSub_DollarName DEBUG)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <dump_entries> more_env: [] words: [{<dump_entries>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'n='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'n='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'n='> name:n) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <rump.ndp> more_env: [] words: [{<rump.ndp>} {<-p>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <grep> more_env: [] words: [{<grep>} {(SQ <'advertised by'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <wc> more_env: [] words: [{<wc>} {<-l>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.Simple blame_tok: <atf_check_equal> more_env: [] words: [{<atf_check_equal>} {($ Id.VSub_DollarName n)} {<2>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <unset> more_env: [] words: [{<unset>} {<RUMP_SERVER>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<kill>} {<-TERM>} { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {(${ Id.VSub_Name PIDFILE)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <wait_term> more_env: [] words: [{<wait_term>} {(${ Id.VSub_Name PIDFILE)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<kill>} {<-TERM>} { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {(${ Id.VSub_Name PIDFILE3)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <wait_term> more_env: [] words: [{<wait_term>} {(${ Id.VSub_Name PIDFILE3)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<kill>} {<-TERM>} { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {(${ Id.VSub_Name PIDFILE4)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <wait_term> more_env: [] words: [{<wait_term>} {(${ Id.VSub_Name PIDFILE4)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_destroy_ifaces> more_env: [] words: [{<rump_server_destroy_ifaces>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ra_multiple_routers_maxifprefixes_cleanup> name: ra_multiple_routers_maxifprefixes_cleanup body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-f>} {(${ Id.VSub_Name PIDFILE)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <kill> more_env: [] words: [ {<kill>} {<-TERM>} { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {(${ Id.VSub_Name PIDFILE)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <wait_term> more_env: [] words: [{<wait_term>} {(${ Id.VSub_Name PIDFILE)}] redirects: [] do_fork: T ) ] spids: [3616 3629] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-f>} {(${ Id.VSub_Name PIDFILE3)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <kill> more_env: [] words: [ {<kill>} {<-TERM>} { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {(${ Id.VSub_Name PIDFILE3)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <wait_term> more_env: [] words: [{<wait_term>} {(${ Id.VSub_Name PIDFILE3)}] redirects: [] do_fork: T ) ] spids: [3657 3670] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-f>} {(${ Id.VSub_Name PIDFILE4)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <kill> more_env: [] words: [ {<kill>} {<-TERM>} { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {(${ Id.VSub_Name PIDFILE4)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <wait_term> more_env: [] words: [{<wait_term>} {(${ Id.VSub_Name PIDFILE4)}] redirects: [] do_fork: T ) ] spids: [3698 3711] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$DEBUG'> more_env: [] words: [{($ Id.VSub_DollarName DEBUG)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <dump> more_env: [] words: [{<dump>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <cleanup> more_env: [] words: [{<cleanup>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <atf_test_case> more_env: [] words: [{<atf_test_case>} {<ra_temporary_address>} {<cleanup>}] redirects: [] do_fork: T ) (command.ShFunction name_tok: <ra_temporary_address_head> name: ra_temporary_address_head body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <atf_set> more_env: [] words: [{<atf_set>} {(DQ <descr>)} {(DQ <'Tests for IPv6 temporary address'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_set> more_env: [] words: [ {<atf_set>} {(DQ <require.progs>)} {(DQ <'rump_server rump.rtadvd rump.ndp rump.ifconfig'>)} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <check_echo_request_pkt> name: check_echo_request_pkt body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'pkt='> (DQ ($ Id.VSub_Number 2) <' > '> ($ Id.VSub_Number 3) <': .+ echo request'>) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <extract_new_packets> more_env: [] words: [{<extract_new_packets>} {($ Id.VSub_Number 1)}] redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'./out'>})] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$DEBUG'> more_env: [] words: [{($ Id.VSub_DollarName DEBUG)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {($ Id.VSub_DollarName pkt)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$DEBUG'> more_env: [] words: [{($ Id.VSub_DollarName DEBUG)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {<'./out'>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (DQ ($ Id.VSub_DollarName pkt))} {<cat>} {<'./out'>} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ra_temporary_address_body> name: ra_temporary_address_body body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'ip_auto='>} {<Id.Lit_VarLike 'ip_temp='>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_fs_start> more_env: [] words: [{<rump_server_fs_start>} {($ Id.VSub_DollarName RUMPSRV)} {<netinet6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_start> more_env: [] words: [{<rump_server_start>} {($ Id.VSub_DollarName RUMPCLI)} {<netinet6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_shmif0> more_env: [] words: [{<setup_shmif0>} {($ Id.VSub_DollarName RUMPSRV)} {($ Id.VSub_DollarName IP6SRV)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <init_server> more_env: [] words: [{<init_server>} {($ Id.VSub_DollarName RUMPSRV)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_shmif0> more_env: [] words: [{<setup_shmif0>} {($ Id.VSub_DollarName RUMPCLI)} {($ Id.VSub_DollarName IP6CLI)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> ($ Id.VSub_DollarName RUMPCLI)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (SQ <'0.->.1'>)} {<rump.sysctl>} {<-w>} {<net.inet6.ip6.accept_rtadv> <Id.Lit_Equals '='> <1>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (SQ <'0.->.1'>)} {<rump.sysctl>} {<-w>} {<net.inet6.ip6.use_tempaddr> <Id.Lit_Equals '='> <1>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <unset> more_env: [] words: [{<unset>} {<RUMP_SERVER>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <create_rtadvdconfig> more_env: [] words: [{<create_rtadvdconfig>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <start_rtadvd> more_env: [] words: [{<start_rtadvd>} {($ Id.VSub_DollarName RUMPSRV)} {($ Id.VSub_DollarName PIDFILE)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sleep> more_env: [] words: [{<sleep>} {($ Id.VSub_DollarName WAITTIME)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <check_entries> more_env: [] words: [ {<check_entries>} {($ Id.VSub_DollarName RUMPCLI)} {($ Id.VSub_DollarName RUMPSRV)} {($ Id.VSub_DollarName IP6SRV_PREFIX)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> ($ Id.VSub_DollarName RUMPCLI)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (DQ ($ Id.VSub_DollarName IP6SRV_PREFIX) <'.+<(TENTATIVE,)?AUTOCONF,TEMPORARY>'>) } {<rump.ifconfig>} {<shmif0>} {<inet6>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<rump.ifconfig>} {<-w>} {<10>} ] redirects: [] do_fork: T ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$DEBUG'> more_env: [] words: [{($ Id.VSub_DollarName DEBUG)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump.ifconfig> more_env: [] words: [{<rump.ifconfig>} {<shmif0>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'ip_auto='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ip_auto='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ip_auto='> name:ip_auto) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <rump.ifconfig> more_env: [] words: [{<rump.ifconfig>} {<shmif0>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <awk> more_env: [] words: [ {<awk>} {(SQ <'/<AUTOCONF>/ {sub(/\\/[0-9]*/, ""); print $2;}'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ip_temp='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ip_temp='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ip_temp='> name:ip_temp) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <rump.ifconfig> more_env: [] words: [{<rump.ifconfig>} {<shmif0>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <awk> more_env: [] words: [ {<awk>} {(SQ <'/<AUTOCONF,TEMPORARY>/ {sub(/\\/[0-9]*/, ""); print $2;}'>)} ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$DEBUG'> more_env: [] words: [{($ Id.VSub_DollarName DEBUG)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {($ Id.VSub_DollarName ip_auto)} {($ Id.VSub_DollarName ip_temp)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <extract_new_packets> more_env: [] words: [{<extract_new_packets>} {<bus1>}] redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>})] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<ignore>} {<rump.ping6>} {<-n>} {<-X>} {<2>} {<-c>} {<1>} {($ Id.VSub_DollarName IP6SRV)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <check_echo_request_pkt> more_env: [] words: [ {<check_echo_request_pkt>} {<bus1>} {($ Id.VSub_DollarName ip_auto)} {($ Id.VSub_DollarName IP6SRV)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<match> <Id.Lit_Colon ':'> (SQ <'0.->.1'>)} {<rump.sysctl>} {<-w>} {<net.inet6.ip6.prefer_tempaddr> <Id.Lit_Equals '='> <1>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<ignore>} {<rump.ping6>} {<-n>} {<-X>} {<2>} {<-c>} {<1>} {($ Id.VSub_DollarName IP6SRV)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <check_echo_request_pkt> more_env: [] words: [ {<check_echo_request_pkt>} {<bus1>} {($ Id.VSub_DollarName ip_temp)} {($ Id.VSub_DollarName IP6SRV)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <unset> more_env: [] words: [{<unset>} {<RUMP_SERVER>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<kill>} {<-TERM>} { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {(${ Id.VSub_Name PIDFILE)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <wait_term> more_env: [] words: [{<wait_term>} {($ Id.VSub_DollarName PIDFILE)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_destroy_ifaces> more_env: [] words: [{<rump_server_destroy_ifaces>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ra_temporary_address_cleanup> name: ra_temporary_address_cleanup body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-f>} {(${ Id.VSub_Name PIDFILE)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <kill> more_env: [] words: [ {<kill>} {<-TERM>} { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>} {(${ Id.VSub_Name PIDFILE)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <wait_term> more_env: [] words: [{<wait_term>} {(${ Id.VSub_Name PIDFILE)}] redirects: [] do_fork: T ) ] spids: [4295 4308] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$DEBUG'> more_env: [] words: [{($ Id.VSub_DollarName DEBUG)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <dump> more_env: [] words: [{<dump>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <cleanup> more_env: [] words: [{<cleanup>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <atf_init_test_cases> name: atf_init_test_cases body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <atf_add_test_case> more_env: [] words: [{<atf_add_test_case>} {<ra_basic>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_add_test_case> more_env: [] words: [{<atf_add_test_case>} {<ra_flush_prefix_entries>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_add_test_case> more_env: [] words: [{<atf_add_test_case>} {<ra_flush_defrouter_entries>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_add_test_case> more_env: [] words: [{<atf_add_test_case>} {<ra_delete_address>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_add_test_case> more_env: [] words: [{<atf_add_test_case>} {<ra_multiple_routers>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_add_test_case> more_env: [] words: [{<atf_add_test_case>} {<ra_multiple_routers_single_prefix>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_add_test_case> more_env: [] words: [{<atf_add_test_case>} {<ra_multiple_routers_maxifprefixes>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_add_test_case> more_env: [] words: [{<atf_add_test_case>} {<ra_temporary_address>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) ] )