Protocol message forwarding

Messages that are forwarded to a new thread are usually written using the protocol information of the destination thread. The exception is if the forwarded thread is also forwarding messages to another thread, forming a chain of forwarding threads.

These message forwarding commands are called from alerts, the command line (hcicmd), or Network Monitor:

  • Forward Start (hcicmd -fwd_start)

    This starts forwarding data messages to the thread that is specified by the FORWARDTHREAD Network Configurator entry.

  • Forward Stop (hcicmd -fwd_stop)

    This stops forwarding data messages.

  • Forward Reply Start (hcicmd -fwdr_start)

    This starts forwarding reply messages to the thread that is specified by the FORWARDTHREAD Network Configurator entry.

  • Forward Reply Stop (hcicmd -fwdr_stop)

    This stops forwarding reply messages.

When forwarding is enabled, the message is moved from the original thread's outbound queue. Then, it is placed in the outbound queue of the forwarded thread.

Before this happens:

  1. The message’s MSG_FLAG_FORWARDED flag is set.
  2. The message is run through the forwarded thread’s outbound TPS destination thread, if there is one. If special TPS procedures are to be applied, then use a thread that does not receive non-forwarded messages.