code: def process_mavlink(slave):
      '''process packets from MAVLink slaves, forwarding to the master'''
      try:
          buf = slave.recv()
      except socket.error:
          return
      try:
          global mavversion
          if slave.first_byte and mavversion is None:
              slave.auto_mavlink_version(buf)
          msgs = slave.mav.parse_buffer(buf)
      except mavutil.mavlink.MAVError as e:
          mpstate.console.error("Bad MAVLink slave message from %s: %s" % (slave.address, e.message))
          return
      if msgs is None:
          return
      if mpstate.settings.mavfwd and not mpstate.status.setup_mode:
          for m in msgs:
              mpstate.master().write(m.get_msgbuf())
              if mpstate.status.watch:
                  for msg_type in mpstate.status.watch:
                      if fnmatch.fnmatch(m.get_type().upper(), msg_type.upper()):
                          mpstate.console.writeln('> '+ str(m))
                          break
      mpstate.status.counters['Slave'] += f process_mavlink(slave):
      '''process packets from MAVLink slaves, forwarding to the master'''
      try:
          buf = slave.recv()
      except socket.error:
          return
      try:
          global mavversion
          if slave.first_byte and mavversion is None:
              slave.auto_mavlink_version(buf)
          msgs = slave.mav.parse_buffer(buf)
      except mavutil.mavlink.MAVError as e:
          mpstate.console.error("Bad MAVLink slave message from %s: %s" % (slave.address, e.message))
          return
      if msgs is None:
          return
      if mpstate.settings.mavfwd and not mpstate.status.setup_mode:
          for m in msgs:
              mpstate.master().write(m.get_msgbuf())
              if mpstate.status.watch:
                  for msg_type in mpstate.status.watch:
                      if fnmatch.fnmatch(m.get_type().upper(), msg_type.upper()):
                          mpstate.console.writeln('> '+ str(m))
                          break
      mpstate.status.counters['Slave'] += 1
docs: process packets from MAVLink slaves, forwarding to the master