anchor.diff:                             {ok, State#{local_sa => LSA}}
                      end},
            #{desc => "open socket",
  -           cmd  => fun(#{domain := Domain} = State) ->
  -                           Sock = sock_open(Domain, dgram, udp),
  +           cmd  => fun(#{domain := Domain, protocol := Proto} = State) ->
  +                           Sock = sock_open(Domain, dgram, Proto),
                              SA   = sock_sockname(Sock),
                              {ok, State#{sock => Sock, sa => SA}}
                      end},
  
positive.code:            fun() -> has_support_ipv6() end,
             fun() ->
                     Recv      = fun(Sock, To) -> socket:recvfrom(Sock, [], To) end,
                     InitState = #{domain => inet6,
                                   recv   => Recv},
                     ok = sc_lc_receive_response_udp(InitState)
             end).
  
  
negative.code:         {ok, Port} ->
              Port;
          {error, Reason} ->
              i("sock_bind -> error: "
                "~n   SockAddr: ~p"
                "~n   Reason:   ~p", [SockAddr, Reason]),
              ?FAIL({bind, Reason})
      catch
          C:E:S ->
  