anchor.diff:          {ok, Index} ->
               ok;
           {ok, BadIndex} ->
  -            ?FAIL({name2index, Name, Index, BadIndex});
  -        {error, ReasonN2I} ->
  -            ?FAIL({name2index, Name, ReasonN2I})
  +            ?FAIL({if_name2index, Name, Index, BadIndex});
  +        {error, enotsup = Reason_N2I1} ->
  +            ?SKIP({if_name2index, Reason_N2I1});
  +        {error, Reason_N2I2} ->
  +            ?FAIL({if_name2index, Name, Reason_N2I2})
       end,
       case net:if_index2name(Index) of
           {ok, Name} ->
               ok;
           {ok, BadName} ->
  -            ?FAIL({index2name, Index, Name, BadName});
  -        {error, ReasonI2N} ->
  -            ?FAIL({index2name, Index, ReasonI2N})
  +            ?FAIL({if_index2name, Index, Name, BadName});
  +        {error, enotsup = Reason_I2N1} ->
  +            ?SKIP({if_index2name, Reason_I2N1});
  +        {error, Reason_I2N2} ->
  +            ?FAIL({if_index2name, Index, Reason_I2N2})
       end,
       verify_if_names(T).
   
   
   
   %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  -
  -%% local_host() ->
  -%%     try net_adm:localhost() of
  -%%         Host when is_list(Host) ->
  -%% 	    %% Convert to shortname if long
  -%% 	    case string:tokens(Host, [$.]) of
  -%% 		[H|_] ->
  -%% 		    list_to_atom(H)
  -%% 	    end
  -%%     catch
  -%%         C:E:S ->
  -%%             erlang:raise(C, E, S)
  -%%     end.
  -
   
   %% This gets the local address (not 127.0...)
   %% We should really implement this using the (new) net module,
  
positive.code:         case net:if_names() of
              {ok, N} when is_list(N) andalso (N =/= []) ->
                  N;
              {error, Reason} ->
                  ?FAIL({if_names, Reason})
          end,
  
negative.code: -define(SLEEP(T), receive after T -> ok end).
  
  -define(FAIL(R), exit(R)).
  -define(SKIP(R), throw({skip, R})).
  
  -define(MINS(M), timer:minutes(M)).
  -define(SECS(S), timer:seconds(S)).
  