title: How Pox controller will send packet without installing flow rules
body: <p>I am writing worm detection code using <strong><em>pox</em></strong> controller can anyone tell me how to write a function where my controller will send packet to host directly i mean suppose host A send ****TCPSYN**** packet to host B now as flow rules not available than switch will send packet to controller now i want to write function where ****controller**** will send packet to host B without installing any flow rules.I am writing packetin handeling code</p>
  
  <p>def _handle_PacketIn (self, event):</p>
  
  <pre><code>packet = event.parsed
  log.info("Packet come in %s"%packet.type)
  dpidstr = dpid_to_str(event.dpid)
  # updating out mac to port mapping
  self.macToPort[(event.connection,packet.src)] = event.port
  dst_port = self.macToPort.get((event.connection,packet.dst))
  
  tcpp = packet.find('tcp')
  if tcpp and tcpp.SYN:
          #here i want to write code where my controller will send tcp syn packet received from host A to the destination host(B) with installing any flow rules
  if tcpp and tcpp.ACK:
          #here i want to write code where my controller will receive tcp synack packet and send this syn ack packet to the sender(A) which has sent syn packet to host (B) 
  </code></pre>
  
  <p>actually my algorithm is like </p>
  
  <ol>
  <li>Suppose that internal host A sends a TCP SYN to a new external host
  B. Since there are no flows in the switch matching this packet, it will be sent to the POX controller.</li>
  <li>The TRW-CB instance running at the POX controller simply forwards this
  packet through the switch, without setting any flows. At the same time, the
  algorithm also does its normal processing (i.e. adds B to a list of hosts pre-
  viously contacted by A and adds the connection request to A's queue).</li>
  <li>The two possible responses from B are:
  (a)  If a TCP SYNACK from B to A is received, the switch again forwards
  this to the NOX controller (since it still does not match any flows). Upon
  receiving the SYNACK, the TRW-CB instance at the controller installs
  two flows in the switch. The first flow matches all packets sent from
  A to B. It contains A's IP address in the IP src field and B's IP address
  in the IP dst field. Except for Ether type (which is set to IP), all other
  fields in the flow are wildcarded. The second flow is similar to the first,
  but matches all packets sent from B to A. Each flow contains an action
  to forward matching packets out of the relevant port of the switch. Ad-
  ditionally, TRW-CB also does its normal processing (i.e. removing this
  connection request from A's queue and decreasing A's likelihood ratio)..
  (b)  If the connection times out, then TRW-CB does its regular processing
  (for  the  connection  failure  case)  without  interacting  with  the  switch.Thus no flows are installed.</li>
  </ol>