anchor.diff:                          end,
                       Filter =
                           fun(#{addr := #{family := D,
  -                                        addr   := A}}) ->
  -                                (D =:= Domain) andalso (A =:= LinkLocalAddr);
  +                                        addr   := A}} = C) ->
  +                                if
  +                                    (D =:= Domain) andalso
  +                                    (A =:= LinkLocalAddr) ->
  +                                        ?P("found link-local candidate: "
  +                                           "~n   ~p", [C]),
  +                                        true;
  +                                    true ->
  +                                        false
  +                                end;                                        
                              (_) ->
                                   false
                           end,
                       case net:getifaddrs(Filter) of
  -                        {ok, [#{addr := #{scope_id := ScopeID}}|_]} ->
  +                        {ok, [#{addr := #{scope_id := ScopeID}} = H|T]} ->
  +                            ?P("found link-local candidate(s): "
  +                               "~n   Candidate:         ~p"
  +                               "~n   Rest Candidate(s): ~p", [H, T]),
                               SockAddr = #{family   => Domain,
                                            addr     => LinkLocalAddr,
                                            port     => 0,
  
positive.code: 
      ?P("[client 2] try connect-init"),
      ServerSockAddr = SockAddr#{port => ServerPort},
      ok = gen_sctp:connect_init(CSock2, ServerSockAddr, []),
      ?P("[client 2] await connect completion"),
      CAssocID2 =
          receive
  
negative.code: 
      ?P("try connect client socket 1"),
      ServerSockAddr = SockAddr#{port => ServerPort},
      {COutStreams1, CInStreams1, CAssocID1} =
          case gen_sctp:connect(CSock1, ServerSockAddr, [], ?SECS(1)) of
              {ok, #sctp_assoc_change{state            = comm_up,
                                      error            = 0,
                                      outbound_streams = COS1,
                                      inbound_streams  = CIS1,
                                      assoc_id         = CAID1}} ->
                  {COS1, CIS1, CAID1};
              {ok, Unexpected1} ->
                  ?P("<ERROR> unexpected connect (1) result: "
                     "~n      ~p", [Unexpected1]),
                  ct:fail({unexpected_client_connect_result, 1, Unexpected1});
              {error, Reason1} ->
                  ?P("<ERROR> failed client 1 connect: "
                     "~n      Reason: ~p", [Reason1]),
                  ct:fail({client_connect_failed, 1, Reason1})
          end,
  
      ?P("client 1 connected: "
         "~n      Out Streams: ~p"
         "~n      In Streams:  ~p"
  