code: def _do_report(self, report, in_port, msg):
          
          datapath = msg.datapath
          ofproto = datapath.ofproto
          parser = datapath.ofproto_parser
  
          if ofproto.OFP_VERSION == ofproto_v1_0.OFP_VERSION:
              size = 65535
          else:
              size = ofproto.OFPCML_MAX
  
          update = False
          self._mcast.setdefault(report.address, {})
          if in_port not in self._mcast[report.address]:
              update = True
          self._mcast[report.address][in_port] = True
  
          if update:
              actions = []
              for port in self._mcast[report.address]:
                  actions.append(parser.OFPActionOutput(port))
              self._set_flow_entry(
                  datapath, actions, self.server_port, report.address)
              self._set_flow_entry(
                  datapath,
                  [parser.OFPActionOutput(ofproto.OFPP_CONTROLLER, size)],
                  in_port, report.address)
docs: the process when the querier received a REPORT message.