anchor.diff:      lists:reverse(Acc);
   
   %% v3
  -process_taddrs([{{?snmpUDPDomain, [A,B,C,D,U1,U2]}, SecData} | T], Acc) ->
  +process_taddrs([{{TDomain, TAddress}, SecData} | T], Acc) ->
       ?vtrace("process_taddrs -> entry when v3 with"
  -	    "~n   A:       ~p"
  -	    "~n   B:       ~p"
  -	    "~n   C:       ~p"
  -	    "~n   D:       ~p"
  -	    "~n   U1:      ~p"
  -	    "~n   U2:      ~p"
  -	    "~n   SecData: ~p", [A, B, C, D, U1, U2, SecData]),
  -    Entry = {{snmpUDPDomain, {{A,B,C,D}, U1 bsl 8 + U2}}, SecData}, 
  -    process_taddrs(T, [Entry | Acc]);
  -%% Bad v3
  -process_taddrs([{{TDomain, TAddr}, _SecData} | T], Acc) ->
  -    ?vtrace("process_taddrs -> entry when bad v3 with"
  -	    "~n   TDomain: ~p"
  -	    "~n   TAddr:   ~p", [TDomain, TAddr]),
  -    user_err("Bad TDomain/TAddr: ~w/~w", [TDomain, TAddr]),
  -    process_taddrs(T, Acc);
  +	    "~n   TDomain:  ~p"
  +	    "~n   TAddress: ~p"
  +	    "~n   SecData:  ~p", [TDomain, TAddress, SecData]),
  +    case transform_taddr(TDomain, TAddress) of
  +	{ok, DestAddr} ->
  +	    ?vtrace("process_taddrs -> transformed: "
  +		    "~n   DestAddr: ~p", [DestAddr]),
  +	    Entry = {DestAddr, SecData}, 
  +	    process_taddrs(T, [Entry | Acc]);
  +	{error, Reason} ->
  +	    ?vinfo("Failed transforming v3 domain and address"
  +		   "~n   Reason:  ~p", [Reason]),
  +	    user_err("Bad TDomain/TAddress: ~w/~w", [TDomain, TAddress]),
  +	    process_taddrs(T, Acc)
  +    end;
   %% v1 & v2
  -process_taddrs([{?snmpUDPDomain, [A,B,C,D,U1,U2]} | T], Acc) ->
  +process_taddrs([{TDomain, TAddress} | T], Acc) ->
       ?vtrace("process_taddrs -> entry when v1/v2 with"
  -	    "~n   A:  ~p"
  -	    "~n   B:  ~p"
  -	    "~n   C:  ~p"
  -	    "~n   D:  ~p"
  -	    "~n   U1: ~p"
  -	    "~n   U2: ~p", [A, B, C, D, U1, U2]),
  -    Entry = {snmpUDPDomain, {{A,B,C,D}, U1 bsl 8 + U2}}, 
  -    process_taddrs(T, [Entry | Acc]);
  -%% Bad v1 or v2
  -process_taddrs([{TDomain, TAddr} | T], Acc) ->
  -    ?vtrace("process_taddrs -> entry when bad v1/v2 with"
  -	    "~n   TDomain: ~p"
  -	    "~n   TAddr:   ~p", [TDomain, TAddr]),
  -    user_err("Bad TDomain/TAddr: ~w/~w", [TDomain, TAddr]),
  -    process_taddrs(T, Acc);
  +	    "~n   TDomain:  ~p"
  +	    "~n   TAddress: ~p", [TDomain, TAddress]),
  +    case transform_taddr(TDomain, TAddress) of
  +	{ok, DestAddr} ->
  +	    ?vtrace("process_taddrs -> transformed: "
  +		    "~n   DestAddr: ~p", [DestAddr]),
  +	    Entry = DestAddr, 
  +	    process_taddrs(T, [Entry | Acc]);
  +	{error, Reason} ->
  +	    ?vinfo("Failed transforming v1/v2 domain and address: "
  +		   "~n   Reason:  ~p", [Reason]),
  +	    user_err("Bad TDomain/TAddress: ~w/~w", [TDomain, TAddress]),
  +	    process_taddrs(T, Acc)
  +    end;
   process_taddrs(Crap, Acc) ->
       throw({error, {taddrs_crap, Crap, Acc}}).
   
  
positive.code:     end.
  	
      
  process_taddrs(Dests) ->
      ?vtrace("process_taddrs -> entry with"
  	    "~n   Dests: ~p", [Dests]),
  
negative.code: -include("SNMP-MPD-MIB.hrl").
  -include("SNMPv2-TM.hrl").
  -include("SNMP-FRAMEWORK-MIB.hrl").
  -include("TRANSPORT-ADDRESS-MIB.hrl").
  
  -define(VMODULE,"MPD").
  -include("snmp_verbosity.hrl").
  