(command.CommandList children: [ (command.ShAssignment left: <Id.Lit_VarLike 'SOCK_CLIENT='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'SOCK_CLIENT='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SOCK_CLIENT='> name:SOCK_CLIENT) op: assign_op.Equal rhs: {<unix> <Id.Lit_Colon ':'> <'//commsock1'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'SOCK_GW='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'SOCK_GW='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SOCK_GW='> name:SOCK_GW) op: assign_op.Equal rhs: {<unix> <Id.Lit_Colon ':'> <'//commsock2'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'BUS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'BUS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'BUS='> name:BUS) op: assign_op.Equal rhs: {<bus1>} ) ] redirects: [] ) (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 'SOCKFWD='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'SOCKFWD='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'SOCKFWD='> name:SOCKFWD) op: assign_op.Equal rhs: {<unix> <Id.Lit_Colon ':'> <'//commsock2'>} ) ] 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 ':'> <'//commsock3'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IP4SRC='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IP4SRC='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IP4SRC='> name:IP4SRC) op: assign_op.Equal rhs: {<10.0.1.2>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IP4SRCGW='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IP4SRCGW='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IP4SRCGW='> name:IP4SRCGW) op: assign_op.Equal rhs: {<10.0.1.1>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IP4DSTGW='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IP4DSTGW='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IP4DSTGW='> name:IP4DSTGW) op: assign_op.Equal rhs: {<10.0.2.1>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IP4DST='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IP4DST='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IP4DST='> name:IP4DST) op: assign_op.Equal rhs: {<10.0.2.2>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IP4DST_BCAST='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IP4DST_BCAST='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IP4DST_BCAST='> name:IP4DST_BCAST) op: assign_op.Equal rhs: {<10.0.2.255>} ) ] 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 ':'> <0> <Id.Lit_Colon ':'> <0> <Id.Lit_Colon ':'> <1> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <2> } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IP6SRCGW='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IP6SRCGW='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IP6SRCGW='> name:IP6SRCGW) op: assign_op.Equal rhs: {<fc00> <Id.Lit_Colon ':'> <0> <Id.Lit_Colon ':'> <0> <Id.Lit_Colon ':'> <1> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <1> } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'IP6DSTGW='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'IP6DSTGW='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'IP6DSTGW='> name:IP6DSTGW) op: assign_op.Equal rhs: {<fc00> <Id.Lit_Colon ':'> <0> <Id.Lit_Colon ':'> <0> <Id.Lit_Colon ':'> <2> <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 ':'> <0> <Id.Lit_Colon ':'> <0> <Id.Lit_Colon ':'> <2> <Id.Lit_Colon ':'> <Id.Lit_Colon ':'> <2> } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'BUS_SRCGW='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'BUS_SRCGW='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'BUS_SRCGW='> name:BUS_SRCGW) op: assign_op.Equal rhs: {<bus1>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'BUS_DSTGW='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'BUS_DSTGW='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'BUS_DSTGW='> name:BUS_DSTGW) op: assign_op.Equal rhs: {<bus2>} ) ] 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:{<false>}) 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.ShAssignment left: <Id.Lit_VarLike 'PING_OPTS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'PING_OPTS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PING_OPTS='> name:PING_OPTS) op: assign_op.Equal rhs: {(DQ <'-n -c 1 -w '> ($ Id.VSub_DollarName TIMEOUT))} ) ] redirects: [] ) (command.Simple blame_tok: <atf_test_case> more_env: [] words: [{<atf_test_case>} {<route_non_subnet_gateway>} {<cleanup>}] redirects: [] do_fork: T ) (command.ShFunction name_tok: <route_non_subnet_gateway_head> name: route_non_subnet_gateway_head body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <atf_set> more_env: [] words: [{<atf_set>} {(DQ <descr>)} {(DQ <'tests of a gateway not on the local subnet'>)}] 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: <route_non_subnet_gateway_body> name: route_non_subnet_gateway_body body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <rump_server_start> more_env: [] words: [{<rump_server_start>} {($ Id.VSub_DollarName SOCK_CLIENT)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_start> more_env: [] words: [{<rump_server_start>} {($ Id.VSub_DollarName SOCK_GW)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> (${ Id.VSub_Name SOCK_GW)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_add_iface> more_env: [] words: [ {<rump_server_add_iface>} {($ Id.VSub_DollarName SOCK_GW)} {<shmif0>} {($ Id.VSub_DollarName BUS)} ] 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>} {<192.168.0.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>} {<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>} {<-o>} {<match> <Id.Lit_Colon ':'> (SQ <'add net 10.0.0.1: gateway shmif0'>)} {<rump.route>} {<add>} {<-net>} {<'10.0.0.1/32'>} {<-link>} {<-cloning>} {<-iface>} {<shmif0>} ] 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.netstat> more_env: [] words: [{<rump.netstat>} {<-nr>} {<-f>} {<inet>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> (${ Id.VSub_Name SOCK_CLIENT)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_add_iface> more_env: [] words: [ {<rump_server_add_iface>} {($ Id.VSub_DollarName SOCK_CLIENT)} {<shmif0>} {($ Id.VSub_DollarName BUS)} ] 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>} {<'10.0.0.1/32'>} ] 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.netstat> more_env: [] words: [{<rump.netstat>} {<-nr>} {<-f>} {<inet>}] 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>} {<match> <Id.Lit_Colon ':'> (SQ <'100.0% packet loss'>)} {<-e>} {<match> <Id.Lit_Colon ':'> (SQ <'No route to host'>)} {<rump.ping>} {($ Id.VSub_DollarName PING_OPTS)} {<192.168.0.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 <'add net 192.168.0.1: gateway shmif0'>)} {<rump.route>} {<add>} {<-net>} {<'192.168.0.1/32'>} {<-link>} {<-cloning>} {<-iface>} {<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 <'add net default: gateway 192.168.0.1'>)} {<rump.route>} {<add>} {<default>} {<-ifa>} {<10.0.0.1>} {<192.168.0.1>} ] 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.netstat> more_env: [] words: [{<rump.netstat>} {<-nr>} {<-f>} {<inet>}] 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.ping>} {($ Id.VSub_DollarName PING_OPTS)} {<192.168.0.1>} ] 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: <route_non_subnet_gateway_cleanup> name: route_non_subnet_gateway_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>} {<route_command_get>} {<cleanup>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_test_case> more_env: [] words: [{<atf_test_case>} {<route_command_get6>} {<cleanup>}] redirects: [] do_fork: T ) (command.ShFunction name_tok: <route_command_get_head> name: route_command_get_head body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <atf_set> more_env: [] words: [{<atf_set>} {(DQ <descr>)} {(DQ <'tests of route get command'>)}] 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: <route_command_get6_head> name: route_command_get6_head body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <atf_set> more_env: [] words: [{<atf_set>} {(DQ <descr>)} {(DQ <'tests of route get command (IPv6)'>)}] 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_endpoint> name: setup_endpoint 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 'addr='> (${ Id.VSub_Number 2)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'bus='> (${ Id.VSub_Number 3)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'mode='> (${ Id.VSub_Number 4)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'gw='> (${ Id.VSub_Number 5)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> (${ Id.VSub_Name sock)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_add_iface> more_env: [] words: [ {<rump_server_add_iface>} {($ Id.VSub_DollarName sock)} {<shmif0>} {($ Id.VSub_DollarName bus)} ] 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 '['>} {($ Id.VSub_DollarName mode)} {<Id.Lit_Equals '='>} {(DQ <ipv6>)} {<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_Name addr)} ] 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.route>} {<add>} {<-inet6>} {<default>} {(${ Id.VSub_Name gw)} ] redirects: [] do_fork: T ) ] spids: [750 765] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<rump.ifconfig>} {<shmif0>} {<inet>} {(${ Id.VSub_Name addr)} {<netmask>} {<0xffffff00>} ] 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.route>} {<add>} {<default>} {(${ Id.VSub_Name gw)} ] redirects: [] do_fork: T ) ] 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.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.VSub_DollarName '$DEBUG'> more_env: [] words: [{($ Id.VSub_DollarName DEBUG)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <rump.ifconfig> more_env: [] words: [{<rump.ifconfig>} {<shmif0>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump.netstat> more_env: [] words: [{<rump.netstat>} {<-nr>}] redirects: [] do_fork: T ) ] spids: [895 900] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <setup_forwarder> name: setup_forwarder body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'mode='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'mode='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mode='> name:mode) op: assign_op.Equal rhs: {(${ Id.VSub_Number 1)} ) ] redirects: [] ) (command.Simple blame_tok: <rump_server_add_iface> more_env: [] words: [ {<rump_server_add_iface>} {($ Id.VSub_DollarName SOCKFWD)} {<shmif0>} {($ Id.VSub_DollarName BUS_SRCGW)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_add_iface> more_env: [] words: [ {<rump_server_add_iface>} {($ Id.VSub_DollarName SOCKFWD)} {<shmif1>} {($ Id.VSub_DollarName BUS_DSTGW)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> ($ Id.VSub_DollarName SOCKFWD)}] 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 '['>} {($ Id.VSub_DollarName mode)} {<Id.Lit_Equals '='>} {(DQ <ipv6>)} {<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_Name IP6SRCGW)} ] 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>} {<shmif1>} {<inet6>} {(${ Id.VSub_Name IP6DSTGW)} ] redirects: [] do_fork: T ) ] spids: [957 972] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<rump.ifconfig>} {<shmif0>} {<inet>} {(${ Id.VSub_Name IP4SRCGW)} {<netmask>} {<0xffffff00>} ] 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>} {<shmif1>} {<inet>} {(${ Id.VSub_Name IP4DSTGW)} {<netmask>} {<0xffffff00>} ] redirects: [] do_fork: T ) ] 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>} {<shmif1>} {<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.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.VSub_DollarName '$DEBUG'> more_env: [] words: [{($ Id.VSub_DollarName DEBUG)}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <rump.netstat> more_env: [] words: [{<rump.netstat>} {<-nr>}] 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 '['>} {($ Id.VSub_DollarName mode)} {<Id.Lit_Equals '='>} {(DQ <ipv6>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <rump.sysctl> more_env: [] words: [{<rump.sysctl>} {<net.inet6.ip6.forwarding>}] redirects: [] do_fork: T ) ] spids: [1125 1140] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <rump.sysctl> more_env: [] words: [{<rump.sysctl>} {<net.inet.ip.forwarding>}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [1112 1117] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <setup_forwarding> name: setup_forwarding body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> ($ Id.VSub_DollarName SOCKFWD)}] 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.inet.ip.forwarding> <Id.Lit_Equals '='> <1>} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <setup_forwarding6> name: setup_forwarding6 body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <export> more_env: [] words: [{<export>} {<Id.Lit_VarLike 'RUMP_SERVER='> ($ Id.VSub_DollarName SOCKFWD)}] 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.forwarding> <Id.Lit_Equals '='> <1>} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <setup> name: setup body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <rump_server_start> more_env: [] words: [{<rump_server_start>} {($ Id.VSub_DollarName SOCKSRC)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_start> more_env: [] words: [{<rump_server_start>} {($ Id.VSub_DollarName SOCKFWD)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <rump_server_start> more_env: [] words: [{<rump_server_start>} {($ Id.VSub_DollarName SOCKDST)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_endpoint> more_env: [] words: [ {<setup_endpoint>} {($ Id.VSub_DollarName SOCKSRC)} {($ Id.VSub_DollarName IP4SRC)} {($ Id.VSub_DollarName BUS_SRCGW)} {<ipv4>} {($ Id.VSub_DollarName IP4SRCGW)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_endpoint> more_env: [] words: [ {<setup_endpoint>} {($ Id.VSub_DollarName SOCKDST)} {($ Id.VSub_DollarName IP4DST)} {($ Id.VSub_DollarName BUS_DSTGW)} {<ipv4>} {($ Id.VSub_DollarName IP4DSTGW)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_forwarder> more_env: [] words: [{<setup_forwarder>} {<ipv4>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <setup6> name: setup6 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 SOCKFWD)} {<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_endpoint> more_env: [] words: [ {<setup_endpoint>} {($ Id.VSub_DollarName SOCKSRC)} {($ Id.VSub_DollarName IP6SRC)} {($ Id.VSub_DollarName BUS_SRCGW)} {<ipv6>} {($ Id.VSub_DollarName IP6SRCGW)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_endpoint> more_env: [] words: [ {<setup_endpoint>} {($ Id.VSub_DollarName SOCKDST)} {($ Id.VSub_DollarName IP6DST)} {($ Id.VSub_DollarName BUS_DSTGW)} {<ipv6>} {($ Id.VSub_DollarName IP6DSTGW)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_forwarder> more_env: [] words: [{<setup_forwarder>} {<ipv6>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <test_route_get> name: test_route_get body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (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.netstat> more_env: [] words: [{<rump.netstat>} {<-nr>} {<-f>} {<inet>}] 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.arp> more_env: [] words: [{<rump.arp>} {<-n>} {<-a>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <rump.arp> more_env: [] words: [{<rump.arp>} {<-d>} {($ Id.VSub_DollarName IP4SRCGW)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'./expect'>} ) (Redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <' route to: 10.0.1.2\n'> <'destination: 10.0.1.2\n'> <' local addr: 10.0.1.2\n'> <' interface: lo0\n'> <' flags: <UP,HOST,DONE,LLINFO,LOCAL>\n'> < ' recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire\n' > ] ) ) ] do_fork: T ) (command.Simple blame_tok: <rump.route> more_env: [] words: [{<rump.route>} {<-n>} {<get>} {($ Id.VSub_DollarName IP4SRC)}] redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'./output'>})] 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>} {<'./expect'>} {<'./output'>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {<-i>} {(SQ <'$d'>)} {<'./output'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<diff>} {<'./expect'>} {<'./output'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'./expect'>} ) (Redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <' route to: 10.0.1.1\n'> <'destination: 10.0.1.0\n'> <' mask: 255.255.255.0\n'> <' local addr: 10.0.1.2\n'> <' interface: shmif0\n'> <' flags: <UP,DONE,CONNECTED>\n'> < ' recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire\n' > ] ) ) ] do_fork: T ) (command.Simple blame_tok: <rump.route> more_env: [] words: [{<rump.route>} {<-n>} {<get>} {($ Id.VSub_DollarName IP4SRCGW)}] redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'./output'>})] 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>} {<'./expect'>} {<'./output'>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {<-i>} {(SQ <'$d'>)} {<'./output'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<diff>} {<'./expect'>} {<'./output'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'./expect'>} ) (Redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <' route to: 10.0.2.2\n'> <'destination: default\n'> <' mask: default\n'> <' gateway: 10.0.1.1\n'> <' local addr: 10.0.1.2\n'> <' interface: shmif0\n'> <' flags: <UP,GATEWAY,DONE,STATIC>\n'> < ' recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire\n' > ] ) ) ] do_fork: T ) (command.Simple blame_tok: <rump.route> more_env: [] words: [{<rump.route>} {<-n>} {<get>} {($ Id.VSub_DollarName IP4DST)}] redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'./output'>})] 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>} {<'./expect'>} {<'./output'>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {<-i>} {(SQ <'$d'>)} {<'./output'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<diff>} {<'./expect'>} {<'./output'>} ] 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.ping>} {<-q>} {<-n>} {<-w>} {($ Id.VSub_DollarName TIMEOUT)} {<-c>} {<1>} {($ Id.VSub_DollarName IP4SRCGW)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'./expect'>} ) (Redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <' route to: 10.0.1.1\n'> <'destination: 10.0.1.0\n'> <' mask: 255.255.255.0\n'> <' local addr: 10.0.1.2\n'> <' interface: shmif0\n'> <' flags: <UP,DONE,CONNECTED>\n'> < ' recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire\n' > ] ) ) ] do_fork: T ) (command.Simple blame_tok: <rump.route> more_env: [] words: [{<rump.route>} {<-n>} {<get>} {($ Id.VSub_DollarName IP4SRCGW)}] redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'./output'>})] 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>} {<'./expect'>} {<'./output'>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {<-i>} {(SQ <'$d'>)} {<'./output'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<diff>} {<'./expect'>} {<'./output'>} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <test_route_get6> name: test_route_get6 body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (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.netstat> more_env: [] words: [{<rump.netstat>} {<-nr>} {<-f>} {<inet>}] 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: <rump.ndp> more_env: [] words: [{<rump.ndp>} {<-d>} {($ Id.VSub_DollarName IP6SRCGW)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'./expect'>} ) (Redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <' route to: fc00:0:0:1::2\n'> <'destination: fc00:0:0:1::2\n'> <' local addr: fc00:0:0:1::2\n'> <' interface: lo0\n'> <' flags: <UP,HOST,DONE,LLINFO,LOCAL>\n'> < ' recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire\n' > ] ) ) ] do_fork: T ) (command.Simple blame_tok: <rump.route> more_env: [] words: [{<rump.route>} {<-n>} {<get>} {<-inet6>} {($ Id.VSub_DollarName IP6SRC)}] redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'./output'>})] 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>} {<'./expect'>} {<'./output'>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {<-i>} {(SQ <'$d'>)} {<'./output'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<diff>} {<'./expect'>} {<'./output'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'./expect'>} ) (Redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <' route to: fc00:0:0:1::1\n'> <'destination: fc00:0:0:1::\n'> <' mask: ffff:ffff:ffff:ffff::\n'> <' local addr: fc00:0:0:1::2\n'> <' interface: shmif0\n'> <' flags: <UP,DONE,CONNECTED>\n'> < ' recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire\n' > ] ) ) ] do_fork: T ) (command.Simple blame_tok: <rump.route> more_env: [] words: [{<rump.route>} {<-n>} {<get>} {<-inet6>} {($ Id.VSub_DollarName IP6SRCGW)}] redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'./output'>})] 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>} {<'./expect'>} {<'./output'>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {<-i>} {(SQ <'$d'>)} {<'./output'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<diff>} {<'./expect'>} {<'./output'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'./expect'>} ) (Redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <' route to: fc00:0:0:2::2\n'> <'destination: ::\n'> <' mask: default\n'> <' gateway: fc00:0:0:1::1\n'> <' local addr: fc00:0:0:1::2\n'> <' interface: shmif0\n'> <' flags: <UP,GATEWAY,DONE,STATIC>\n'> < ' recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire\n' > ] ) ) ] do_fork: T ) (command.Simple blame_tok: <rump.route> more_env: [] words: [{<rump.route>} {<-n>} {<get>} {<-inet6>} {($ Id.VSub_DollarName IP6DST)}] redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'./output'>})] 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>} {<'./expect'>} {<'./output'>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {<-i>} {(SQ <'$d'>)} {<'./output'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<diff>} {<'./expect'>} {<'./output'>} ] 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>} {<-c>} {<1>} {<-X>} {($ Id.VSub_DollarName TIMEOUT)} {($ Id.VSub_DollarName IP6SRCGW)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <cat> more_env: [] words: [{<cat>}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'./expect'>} ) (Redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [ <' route to: fc00:0:0:1::1\n'> <'destination: fc00:0:0:1::\n'> <' mask: ffff:ffff:ffff:ffff::\n'> <' local addr: fc00:0:0:1::2\n'> <' interface: shmif0\n'> <' flags: <UP,DONE,CONNECTED>\n'> < ' recvpipe sendpipe ssthresh rtt,msec rttvar hopcount mtu expire\n' > ] ) ) ] do_fork: T ) (command.Simple blame_tok: <rump.route> more_env: [] words: [{<rump.route>} {<-n>} {<get>} {<-inet6>} {($ Id.VSub_DollarName IP6SRCGW)}] redirects: [(Redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'./output'>})] 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>} {<'./expect'>} {<'./output'>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {<-i>} {(SQ <'$d'>)} {<'./output'>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_check> more_env: [] words: [ {<atf_check>} {<-s>} {<Id.ControlFlow_Exit exit> <Id.Lit_Colon ':'> <0>} {<diff>} {<'./expect'>} {<'./output'>} ] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <route_command_get_body> name: route_command_get_body body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <setup> more_env: [] words: [{<setup>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_forwarding> more_env: [] words: [{<setup_forwarding>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test_route_get> more_env: [] words: [{<test_route_get>}] 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: <route_command_get6_body> name: route_command_get6_body body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <setup6> more_env: [] words: [{<setup6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <setup_forwarding6> more_env: [] words: [{<setup_forwarding6>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test_route_get6> more_env: [] words: [{<test_route_get6>}] 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: <route_command_get_cleanup> name: route_command_get_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: <route_command_get6_cleanup> name: route_command_get6_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>} {<route_non_subnet_gateway>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_add_test_case> more_env: [] words: [{<atf_add_test_case>} {<route_command_get>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <atf_add_test_case> more_env: [] words: [{<atf_add_test_case>} {<route_command_get6>}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) ] )