anchor.diff:      end,
   
       %% Req from a slave with other erlang vsn.
  -    S3 = open_udp(),
  +    S3 = open_udp(Ip),
       prim_inet:sendto(S3, Ip, EBOOT_PORT, [EBOOT_REQUEST,"1.0"]),
       receive
   	Anything ->
  
positive.code:     end,
  
      %% Req from a slave with same erlang vsn.
      S2 = open_udp(),
      prim_inet:sendto(S2, Ip, EBOOT_PORT, [EBOOT_REQUEST,ThisVer]),
      receive
  	{udp,S2,Ip,_Port1,Resp1} ->
  	    close_udp(S2),
  	    EBOOT_REPLY = string:substr(Resp1, 1, length(EBOOT_REPLY)),
  	    Rest1 = string:substr(Resp1, length(EBOOT_REPLY)+1, length(Resp1)),
  
negative.code:     GoodHost3 = "sauron",
      [GoodHost1, GoodHost2, GoodHost3].
  
  open_udp(Ip) ->
      {ok, S} = prim_inet:open(udp, inet, dgram),
      ok = prim_inet:setopts(S, [{mode,list},{active,true},
  			       {deliver,term},{broadcast,true}]),
      {ok,_} = prim_inet:bind(S, Ip, 0),
      S.
  
  close_udp(S) ->
  