anchor.diff:  -compile([export_all]).
   
   config()->
  +    [code:add_pathz(Path) || Path <- filelib:wildcard("./lib/loom/ebin")],
  +    [code:add_pathz(Path) || Path <- filelib:wildcard("./lib/loom/deps/*/ebin")],
  +    [code:add_pathz(Path) || Path <- filelib:wildcard("./lib/loom/apps/*/ebin")],
  +    loom_app:start(),
       ConfigFile = file:consult("tapestry.config"),
       case ConfigFile of
   	{ok,Config}->
  
positive.code: dns_tap(OFDPL,Port1,Port2,IPTupleList)->
      [OFDP|Rest] = OFDPL,
      IPList = [ list_to_binary(tuple_to_list(IPTuple)) || IPTuple <- IPTupleList ],
      loom_ofdp_lib:clear(OFDP),
      lists:foreach(fun(X)->send_dns_tap_msg(Port1,Port2, controller, X, OFDP) end,IPList),
      loom_ofdp_lib:forward(OFDP,Port2,[Port1]), 
      loom_ofdp_lib:forward(OFDP, Port1,[Port2]),
      dns_tap(Rest,Port1,Port2,IPTupleList).
  
  send_dns_tap_msg(Port1, Port2, Port3, IPv4Src, OFDP) ->    
      M1 = loom_flow_lib:tap_dns_response(Port1, Port2, Port3, IPv4Src),
      loom_ofdp:send_ofp_msg(OFDP, M1).
  
  
  
  
negative.code: process_ofdps([])->
      ok;
  process_ofdps([OFDP|Rest]) ->
      io:format("process_ofdps: ofdp = ~p, Rest = ~p~n",[OFDP,Rest]),
      case OFDP of
  	{ofdp,IP,DNSPort,ClientPort,DNSIps}->
  	    io:format("processing: ~p~n",[OFDP]),
  	    {ip_addr,IPAddr} = IP,
  	    {dns_port,Port1} = DNSPort,
  	    {client_port,Port2} = ClientPort,
  