anchor.diff:  				  {OFDPIP, DatapathId, Version, _, _} = X,
   				  case OFDPIP == IPAddr of
   				      true ->
  -					  dns_tap([DataPathId],Port1,Port2,IPs);
  +					  dns_tap([DatapathId],Version,Port1,Port2,IPs);
   				      false -> ok
   				  end
   			  end, OFSwitchList),
  
positive.code:     
  
  
  dns_tap([],_Port1,_Port2,_IPTupleList)->
      ok;
  dns_tap(OFDPL,Port1,Port2,IPTupleList)->
      [DatapathId|Rest] = OFDPL,
      IPList = [ list_to_binary(tuple_to_list(IPTuple)) || IPTuple <- IPTupleList ],
      error_logger:info_msg("dns_tap: ~p, ~p, ~p, ~p~n",[OFDP,Port1,Port2,IPTupleList]),
      ofs_handler:send(DatapathId, remove_all_flows_mod(Version)),
      lists:foreach(fun(X)->ofs_handler:send(DatapathId, tap_dns_response(Version, Port1,Port2,controller,X)) end,IPList),
      ofs_handler:send(DatapathId, forward_mod(Version, Port1, [Port2])),
      ofs_handler:send(DatapathId, forward_mod(Version, Port2, [Port1]))
      dns_tap(Rest,Port1,Port2,IPTupleList).
  
negative.code: 	    {dns_port,Port1} = DNSPort,
  	    {client_port,Port2} = ClientPort,
  	    {dns_ips,IPs} = DNSIps,
  	    OFSwitchList = simple_ne_logic:switches(),
  	    lists:foreach(fun(X)->
  				  {OFDPIP, DatapathId, Version, _, _} = X,
  				  case OFDPIP == IPAddr of
  				      true ->
  					  dns_tap([DatapathId],Version,Port1,Port2,IPs);
  				      false -> ok
  				  end
  			  end, OFSwitchList),
  	    process_ofdps(Rest);
  	_ -> process_ofdps(Rest)
      end.
  