anchor.diff:  
   
   -define(LOGVAR(Var), begin io:format(??Var" = ~p~n", [Var]) end).
  +-define(no_return(Expr), error({unexpected, Expr})).
  +
  +check_sctp_connectx(Case, Config) ->
  +    {ok,S} = gen_sctp:open([]),
  +    try
  +        {ok,Pb} = inet:port(S),
  +        case gen_sctp:connectx_init(S, [{127,0,0,1}], Pb, []) of
  +            {error, enotsup} ->
  +                {skip, "sctp_connectx unsupported"};
  +            _ ->
  +                init_per_testcase_common(Case, Config)
  +        end
  +    after
  +        gen_sctp:close(S)
  +    end.
   
   is_old_solaris() ->
       os:type() =:= {unix,sunos} andalso os:version() < {5,12,0}.
  
positive.code:     SockAddr = #{family   => inet,
                   addr     => Localhost,
                   port     => Pb},
      {ok, A1} = gen_sctp:connectx_init(Sa, [SockAddr], []),
      {Localhost,Pb,#sctp_assoc_change{state=cant_assoc, assoc_id = A1}} =
  	recv_event(log_ok(gen_sctp:recv(Sa, infinity))),
      ok = gen_sctp:listen(Sb, true),
      {ok, A2} = gen_sctp:connectx_init(Sa, [SockAddr], []),
      {Localhost,Pb,#sctp_assoc_change{state=comm_up, assoc_id = A2}} =
  	recv_event(log_ok(gen_sctp:recv(Sa, infinity))),
      ok = gen_sctp:close(Sa),
      ok = gen_sctp:close(Sb),
      ok.
  
  
  
negative.code: 
      {ok,S} = gen_sctp:open(),
      {ok,Pb} = inet:port(S),
      try ?no_return(gen_sctp:connectx_init(S, Localhost, 12345, []))
      catch error:badarg -> ok
      end,
      {error, einval} = gen_sctp:connectx_init(S, [Localhost], not_allowed_for_port, []),
      %% try ?no_return(gen_sctp:connectx_init(S, [Localhost], not_allowed_for_port, []))
      %% catch error:badarg -> ok
      %% end,
      try ?no_return(gen_sctp:connectx_init(S, [Localhost], 12345, not_allowed_for_opts))
      catch error:badarg -> ok
      end,
      ok = gen_sctp:close(S),
  