(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 '}'>
        )
    )
  ]
)