(command.CommandList children: [ (command.ShAssignment left: <Id.Lit_VarLike 'SOCKSRC='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'SOCKSRC='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SOCKSRC='> name:SOCKSRC) op: assign_op.Equal rhs: {<unix> <Id.Lit_Colon ':'> <'//commsock1'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'SOCKDST='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'SOCKDST='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SOCKDST='> name:SOCKDST) op: assign_op.Equal rhs: {<unix> <Id.Lit_Colon ':'> <'//commsock2'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IP6SRC='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IP6SRC='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IP6SRC='> name:IP6SRC) op: assign_op.Equal rhs: {<fc00> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <1>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IP6DST='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IP6DST='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IP6DST='> name:IP6DST) op: assign_op.Equal rhs: {<fc00> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <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.ShAssignment left: <Id.Lit_VarLike 'TIMEOUT='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'TIMEOUT='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TIMEOUT='> name:TIMEOUT) op: assign_op.Equal rhs: {<1>} ) ] redirects: [] ) (command.Simple blame_tok: <atf_test_case> more_env: [] words: [{<atf_test_case>} {<ndp_cache_expiration>} {<cleanup>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_test_case> more_env: [] words: [{<atf_test_case>} {<ndp_commands>} {<cleanup>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_test_case> more_env: [] words: [{<atf_test_case>} {<ndp_cache_overwriting>} {<cleanup>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_test_case> more_env: [] words: [{<atf_test_case>} {<ndp_neighborgcthresh>} {<cleanup>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_test_case> more_env: [] words: [{<atf_test_case>} {<ndp_link_activation>} {<cleanup>}] redirects: [] do_fork: T ) (command.ShFunction name_tok: <ndp_cache_expiration_head> name: ndp_cache_expiration_head body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <atf_set> more_env: [] words: [{<atf_set>} {(DQ <descr>)} {(DQ <'Tests for NDP cache expiration'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_set> more_env: [] words: [{<atf_set>} {(DQ <require.progs>)} {(DQ <rump_server>)}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ndp_commands_head> name: ndp_commands_head body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <atf_set> more_env: [] words: [{<atf_set>} {(DQ <descr>)} {(DQ <'Tests for commands of ndp(8)'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_set> more_env: [] words: [{<atf_set>} {(DQ <require.progs>)} {(DQ <rump_server>)}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ndp_cache_overwriting_head> name: ndp_cache_overwriting_head body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <atf_set> more_env: [] words: [{<atf_set>} {(DQ <descr>)} {(DQ <'Tests for behavior of overwriting NDP caches'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_set> more_env: [] words: [{<atf_set>} {(DQ <require.progs>)} {(DQ <rump_server>)}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ndp_neighborgcthresh_head> name: ndp_neighborgcthresh_head body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <atf_set> more_env: [] words: [{<atf_set>} {(DQ <descr>)} {(DQ <'Tests for GC of neighbor caches'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_set> more_env: [] words: [{<atf_set>} {(DQ <require.progs>)} {(DQ <rump_server>)}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ndp_link_activation_head> name: ndp_link_activation_head body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <atf_set> more_env: [] words: [{<atf_set>} {(DQ <descr>)} {(DQ <'Tests for activating a new MAC address'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_set> more_env: [] words: [{<atf_set>} {(DQ <require.progs>)} {(DQ <rump_server>)}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <setup_dst_server> name: setup_dst_server body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'assign_ip='> ($ Id.VSub_Number 1)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_add_iface> more_env: [] words: [{<rump_server_add_iface>} {($ Id.VSub_DollarName SOCKDST)} {<shmif0>} {<bus1>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> ($ Id.VSub_DollarName SOCKDST)}] redirects: [] do_fork: T ) (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 '['>} {(DQ ($ Id.VSub_DollarName assign_ip))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {<no>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (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_DollarName IP6DST)} ] redirects: [] do_fork: T ) ] spids: [328 344] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (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>} {<shmif0>}] 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: <rump.ndp> more_env: [] words: [{<rump.ndp>} {<-n>} {<-a>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <setup_src_server> name: setup_src_server 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: <ulimit> more_env: [] words: [{<ulimit>} {<-c>} {<unlimited>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> ($ Id.VSub_DollarName SOCKSRC)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_add_iface> more_env: [] words: [{<rump_server_add_iface>} {($ Id.VSub_DollarName SOCKSRC)} {<shmif0>} {<bus1>}] 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_DollarName IP6SRC)} ] 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>} {<shmif0>}] 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: <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>} {<ignore>} {<rump.ndp>} {<-n>} {($ Id.VSub_DollarName IP6SRC)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<not-exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<ignore>} {<-e>} {<ignore>} {<rump.ndp>} {<-n>} {($ Id.VSub_DollarName IP6DST)} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <get_timeout> name: get_timeout body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [ {<local>} {<Id.Lit_VarLike 'timeout='> (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <env> more_env: [] words: [ {<env>} {<Id.Lit_VarLike 'RUMP_SERVER='> ($ Id.VSub_DollarName SOCKSRC)} {<rump.ndp>} {<-n>} {($ Id.VSub_DollarName IP6DST)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <grep> more_env: [] words: [{<grep>} {($ Id.VSub_DollarName IP6DST)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <awk> more_env: [] words: [{<awk>} {(SQ <'{print $4;}'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) } ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'timeout='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'timeout='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'timeout='> name:timeout) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name timeout> var_name: timeout suffix_op: (suffix_op.Unary op:<Id.VOp1_Percent '%'> arg_word:{<s>}) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {($ Id.VSub_DollarName timeout)}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ndp_cache_expiration_body> name: ndp_cache_expiration_body body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <rump_server_start> more_env: [] words: [{<rump_server_start>} {($ Id.VSub_DollarName SOCKSRC)} {<netinet6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_start> more_env: [] words: [{<rump_server_start>} {($ Id.VSub_DollarName SOCKDST)} {<netinet6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_dst_server> more_env: [] words: [{<setup_dst_server>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_src_server> more_env: [] words: [{<setup_src_server>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> ($ Id.VSub_DollarName SOCKSRC)}] 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>} {($ Id.VSub_DollarName TIMEOUT)} {<-c>} {<1>} {($ Id.VSub_DollarName IP6DST)} ] 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 <permanent>)} {<rump.ndp>} {<-n>} {($ Id.VSub_DollarName IP6SRC)} ] 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 <permanent>)} {<rump.ndp>} {<-n>} {($ Id.VSub_DollarName IP6DST)} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'timeout='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'timeout='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'timeout='> name:timeout) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <get_timeout> more_env: [] words: [{<get_timeout>} {($ Id.VSub_DollarName IP6DST)}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<sleep>} { (word_part.ArithSub left: <Id.Left_DollarDParen '$(('> anode: (arith_expr.Binary op_id: Id.Arith_Plus left: {($ Id.VSub_DollarName timeout)} right: {<Id.Lit_Digits 1>} ) right: <Id.Right_DollarDParen _> ) } ] 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 <permanent>)} {<rump.ndp>} {<-n>} {($ Id.VSub_DollarName IP6SRC)} ] 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 <'(1d0h0m|23h59m)'>)} {<rump.ndp>} {<-n>} {($ Id.VSub_DollarName IP6DST)} ] 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: <ifdown_dst_server> name: ifdown_dst_server body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> ($ Id.VSub_DollarName SOCKDST)}] 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>} {<down>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> ($ Id.VSub_DollarName SOCKSRC)}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ndp_commands_body> name: ndp_commands_body body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <rump_server_start> more_env: [] words: [{<rump_server_start>} {($ Id.VSub_DollarName SOCKSRC)} {<netinet6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_start> more_env: [] words: [{<rump_server_start>} {($ Id.VSub_DollarName SOCKDST)} {<netinet6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_dst_server> more_env: [] words: [{<setup_dst_server>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_src_server> more_env: [] words: [{<setup_src_server>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> ($ Id.VSub_DollarName SOCKSRC)}] 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 IP6SRC))} {<rump.ndp>} {<-d>} {($ Id.VSub_DollarName IP6SRC)} ] 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>} {<ignore>} {<rump.ndp>} {<-s>} {<fc00> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <10>} {<b2> <Id.Lit_Colon ':'> <a0> <Id.Lit_Colon ':'> <20> <Id.Lit_Colon ':'> <00> <Id.Lit_Colon ':'> <00> <Id.Lit_Colon ':'> <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.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 <permanent>)} {<rump.ndp>} {<-n>} {<fc00> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <10>} ] 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 <deleted>)} {<rump.ndp>} {<-d>} {<fc00> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <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.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>} {<not-exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<ignore>} {<-e>} {<ignore>} {<rump.ndp>} {<-n>} {<fc00> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <10>} ] 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>} {($ Id.VSub_DollarName TIMEOUT)} {<-c>} {<1>} {($ Id.VSub_DollarName IP6DST)} ] 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.ndp>} {<-s>} {<fc00> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <11>} {<b2> <Id.Lit_Colon ':'> <a0> <Id.Lit_Colon ':'> <20> <Id.Lit_Colon ':'> <00> <Id.Lit_Colon ':'> <00> <Id.Lit_Colon ':'> <11> } ] 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.ndp>} {<-s>} {<fc00> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <12>} {<b2> <Id.Lit_Colon ':'> <a0> <Id.Lit_Colon ':'> <20> <Id.Lit_Colon ':'> <00> <Id.Lit_Colon ':'> <00> <Id.Lit_Colon ':'> <12> } ] 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 <permanent>)} {<rump.ndp>} {<-n>} {($ Id.VSub_DollarName IP6DST)} ] 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 <permanent>)} {<rump.ndp>} {<-n>} {<fc00> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <11>} ] 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 <permanent>)} {<rump.ndp>} {<-n>} {<fc00> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <12>} ] 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::11'>)} {<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::12'>)} {<rump.ndp>} {<-n>} {<-a>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <ifdown_dst_server> more_env: [] words: [{<ifdown_dst_server>}] 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>} {<ignore>} {<rump.ndp>} {<-c>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<not-exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<ignore>} {<-e>} {<ignore>} {<rump.ndp>} {<-n>} {($ Id.VSub_DollarName IP6SRC)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<not-exit> <Id.Lit_Colon ':'> <0>} {<-o>} {<ignore>} {<-e>} {<ignore>} {<rump.ndp>} {<-n>} {($ Id.VSub_DollarName IP6DST)} ] 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>} {<-e>} {<ignore>} {<rump.ndp>} {<-n>} {<fc00> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <11>} ] 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>} {<-e>} {<ignore>} {<rump.ndp>} {<-n>} {<fc00> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <12>} ] 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>} {<ignore>} {<rump.ndp>} {<-s>} {<fc00> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <10>} {<b2> <Id.Lit_Colon ':'> <a0> <Id.Lit_Colon ':'> <20> <Id.Lit_Colon ':'> <00> <Id.Lit_Colon ':'> <00> <Id.Lit_Colon ':'> <10> } {<temp>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump.ndp> more_env: [] words: [ {<rump.ndp>} {<-s>} {<fc00> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <10>} {<b2> <Id.Lit_Colon ':'> <a0> <Id.Lit_Colon ':'> <20> <Id.Lit_Colon ':'> <00> <Id.Lit_Colon ':'> <00> <Id.Lit_Colon ':'> <10> } {<temp>} ] 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>} {<not-match> <Id.Lit_Colon ':'> (SQ <permanent>)} {<rump.ndp>} {<-n>} {<fc00> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <10>} ] 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: <ndp_cache_overwriting_body> name: ndp_cache_overwriting_body body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <rump_server_start> more_env: [] words: [{<rump_server_start>} {($ Id.VSub_DollarName SOCKSRC)} {<netinet6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_start> more_env: [] words: [{<rump_server_start>} {($ Id.VSub_DollarName SOCKDST)} {<netinet6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_dst_server> more_env: [] words: [{<setup_dst_server>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_src_server> more_env: [] words: [{<setup_src_server>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> ($ Id.VSub_DollarName SOCKSRC)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<not-exit> <Id.Lit_Colon ':'> <0>} {<-e>} {<ignore>} {<rump.ndp>} {<-s>} {($ Id.VSub_DollarName IP6SRC)} {<b2> <Id.Lit_Colon ':'> <a0> <Id.Lit_Colon ':'> <20> <Id.Lit_Colon ':'> <00> <Id.Lit_Colon ':'> <00> <Id.Lit_Colon ':'> <ff> } ] 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>} {<ignore>} {<rump.ping6>} {<-n>} {<-X>} {($ Id.VSub_DollarName TIMEOUT)} {<-c>} {<1>} {($ Id.VSub_DollarName IP6DST)} ] 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>} {<ignore>} {<rump.ndp>} {<-s>} {($ Id.VSub_DollarName IP6DST)} {<b2> <Id.Lit_Colon ':'> <a0> <Id.Lit_Colon ':'> <20> <Id.Lit_Colon ':'> <00> <Id.Lit_Colon ':'> <00> <Id.Lit_Colon ':'> <00> } ] 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 <permanent>)} {<rump.ndp>} {<-n>} {($ Id.VSub_DollarName IP6DST)} ] 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: <get_n_caches> name: get_n_caches body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <rump.ndp> more_env: [] words: [{<rump.ndp>} {<-a>} {<-n>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <grep> more_env: [] words: [{<grep>} {<-v>} {<-e>} {<Neighbor>} {<-e>} {<permanent>}] 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: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ndp_neighborgcthresh_body> name: ndp_neighborgcthresh_body body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <rump_server_start> more_env: [] words: [{<rump_server_start>} {($ Id.VSub_DollarName SOCKSRC)} {<netinet6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_start> more_env: [] words: [{<rump_server_start>} {($ Id.VSub_DollarName SOCKDST)} {<netinet6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_dst_server> more_env: [] words: [{<setup_dst_server>} {<no>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_src_server> more_env: [] words: [{<setup_src_server>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> ($ Id.VSub_DollarName SOCKDST)}] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [i] iterable: (for_iter.Words words: [ { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <seq> more_env: [] words: [{<seq>} {<0>} {<9>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (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 IP6DST) ($ Id.VSub_DollarName i)} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> ($ Id.VSub_DollarName SOCKSRC)}] 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.ForEach keyword: <Id.KW_For for> iter_names: [i] iterable: (for_iter.Words words: [ { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <seq> more_env: [] words: [{<seq>} {<0>} {<2>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (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>} {($ Id.VSub_DollarName TIMEOUT)} {<-c>} {<1>} {(${ Id.VSub_Name IP6DST) ($ Id.VSub_DollarName i)} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) 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: <rump.ndp> more_env: [] words: [{<rump.ndp>} {<-n>} {<-a>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <atf_check_equal> more_env: [] words: [ {<atf_check_equal>} { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <get_n_caches> more_env: [] words: [{<get_n_caches>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } {<3>} ] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [i] iterable: (for_iter.Words words: [ { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <seq> more_env: [] words: [{<seq>} {<3>} {<5>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (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>} {($ Id.VSub_DollarName TIMEOUT)} {<-c>} {<1>} {(${ Id.VSub_Name IP6DST) ($ Id.VSub_DollarName i)} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) 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: <rump.ndp> more_env: [] words: [{<rump.ndp>} {<-n>} {<-a>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <atf_check_equal> more_env: [] words: [ {<atf_check_equal>} { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <get_n_caches> more_env: [] words: [{<get_n_caches>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } {<6>} ] 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.sysctl>} {<-w>} {<net.inet6.ip6.neighborgcthresh> <Id.Lit_Equals '='> <5>} ] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [i] iterable: (for_iter.Words words: [ { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <seq> more_env: [] words: [{<seq>} {<6>} {<9>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (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>} {($ Id.VSub_DollarName TIMEOUT)} {<-c>} {<1>} {(${ Id.VSub_Name IP6DST) ($ Id.VSub_DollarName i)} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) 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 '['>} { (DQ (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <get_n_caches> more_env: [] words: [{<get_n_caches>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) ) } {<-gt>} {<5>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <atf_fail> more_env: [] words: [{<atf_fail>} {(DQ <'Neighbor caches are not GC-ed'>)}] redirects: [] do_fork: T ) ] spids: [2258 2275] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (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: <make_pkt_str_na> name: make_pkt_str_na body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'ip='> ($ Id.VSub_Number 1)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'mac='> ($ Id.VSub_Number 2)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'pkt='>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'pkt='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pkt='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pkt='> name:pkt) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName mac) <' > 33:33:00:00:00:01, ethertype IPv6 (0x86dd), length 86:'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'pkt='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pkt='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pkt='> name:pkt) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName pkt) <' '> ($ Id.VSub_DollarName ip) <' > ff02::1: ICMP6, neighbor advertisement'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {($ Id.VSub_DollarName pkt)}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <ndp_link_activation_body> name: ndp_link_activation_body body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'linklocal='>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_start> more_env: [] words: [{<rump_server_start>} {($ Id.VSub_DollarName SOCKSRC)} {<netinet6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_start> more_env: [] words: [{<rump_server_start>} {($ Id.VSub_DollarName SOCKDST)} {<netinet6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_dst_server> more_env: [] words: [{<setup_dst_server>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_src_server> more_env: [] words: [{<setup_src_server>}] redirects: [] do_fork: T ) (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:{<'./out'>})] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> ($ Id.VSub_DollarName SOCKSRC)}] 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.ifconfig>} {<shmif0>} {<link>} {<b2> <Id.Lit_Colon ':'> <a1> <Id.Lit_Colon ':'> <00> <Id.Lit_Colon ':'> <00> <Id.Lit_Colon ':'> <00> <Id.Lit_Colon ':'> <01> } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<sleep>} {<1>} ] redirects: [] do_fork: T ) (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:{<'./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: <cat> more_env: [] words: [{<cat>} {<'./out'>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'linklocal='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'linklocal='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'linklocal='> name:linklocal) 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 <'/fe80/ {print $2;}'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <awk> more_env: [] words: [{<awk>} {<-F>} {<Id.Lit_Other '%'>} {(SQ <'{print $1;}'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <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 linklocal)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'pkt='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pkt='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pkt='> name:pkt) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <make_pkt_str_na> more_env: [] words: [ {<make_pkt_str_na>} {($ Id.VSub_DollarName linklocal)} {<b2> <Id.Lit_Colon ':'> <a1> <Id.Lit_Colon ':'> <00> <Id.Lit_Colon ':'> <00> <Id.Lit_Colon ':'> <00> <Id.Lit_Colon ':'> <01> } ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<not-exit> <Id.Lit_Colon ':'> <0>} {<-x>} {(DQ <'cat ./out |grep -q \''> ($ Id.VSub_DollarName pkt) <'\''>)} ] 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.ifconfig>} {<shmif0>} {<link>} {<b2> <Id.Lit_Colon ':'> <a1> <Id.Lit_Colon ':'> <00> <Id.Lit_Colon ':'> <00> <Id.Lit_Colon ':'> <00> <Id.Lit_Colon ':'> <02> } {<active>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<sleep>} {<1>} ] redirects: [] do_fork: T ) (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:{<'./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: <cat> more_env: [] words: [{<cat>} {<'./out'>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'linklocal='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'linklocal='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'linklocal='> name:linklocal) 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 <'/fe80/ {print $2;}'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <awk> more_env: [] words: [{<awk>} {<-F>} {<Id.Lit_Other '%'>} {(SQ <'{print $1;}'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <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 linklocal)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'pkt='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'pkt='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'pkt='> name:pkt) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <make_pkt_str_na> more_env: [] words: [ {<make_pkt_str_na>} {($ Id.VSub_DollarName linklocal)} {<b2> <Id.Lit_Colon ':'> <a1> <Id.Lit_Colon ':'> <00> <Id.Lit_Colon ':'> <00> <Id.Lit_Colon ':'> <00> <Id.Lit_Colon ':'> <02> } ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<-x>} {(DQ <'cat ./out |grep -q \''> ($ Id.VSub_DollarName pkt) <'\''>)} ] 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: <ndp_cache_expiration_cleanup> name: ndp_cache_expiration_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.ShFunction name_tok: <ndp_commands_cleanup> name: ndp_commands_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.ShFunction name_tok: <ndp_cache_overwriting_cleanup> name: ndp_cache_overwriting_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.ShFunction name_tok: <ndp_neighborgcthresh_cleanup> name: ndp_neighborgcthresh_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.ShFunction name_tok: <ndp_link_activation_cleanup> name: ndp_link_activation_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.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>} {<ndp_cache_expiration>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_add_test_case> more_env: [] words: [{<atf_add_test_case>} {<ndp_commands>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_add_test_case> more_env: [] words: [{<atf_add_test_case>} {<ndp_cache_overwriting>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_add_test_case> more_env: [] words: [{<atf_add_test_case>} {<ndp_neighborgcthresh>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_add_test_case> more_env: [] words: [{<atf_add_test_case>} {<ndp_link_activation>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) ] )