anchor.diff:  %% the controller.  Bridge between Port1 and Port2.
   %% If Key is ``default'', clear all flows on the default switch.
   %% @end
  --spec tapestry_config(switch_key(), integer(), integer(), integer(), [ipaddress{}]) -> ok.
  +-spec tapestry_config(switch_key(), integer(), integer(), [ipaddress()]) -> ok.
   tapestry_config(Key, Port1, Port2, DnsIps) ->
       ?DEBUG("clear_flows: ~p~n", [clear_flows(Key, 0)]),
       ?DEBUG("dns_tap: ~p~n",
  
positive.code:     send(Key, Msg).
  
  %% @equiv tapestry_config(default, Port1, Port2, DnsIps)
  -spec tapestry_config(integer(), integer(), integer(), [ipaddress{}]) -> ok.
  tapestry_config(Port1, Port2, DnsIps) ->
      tapestry_config(default, Port1, Port2, DnsIps).
  
  
negative.code: %%           {dns_ips, [{10,0,2,60}, {10,48,2,5}]}
  %% ]}.
  %% @end
  -spec tapestry_config(all | switch_key(), string()) -> ok.
  tapestry_config(all, Filename) ->
      Switches = icontrol_logic:switches(),
      Configs = consult_config(Filename),
  