anchor.diff:      Config.
   
   
  +init_per_testcase(read_packets, Config) ->
  +    ct:timetrap({minutes, 2}),
  +    Config;
   init_per_testcase(_Case, Config) ->
       Config.
   
  
positive.code: 
  read_packets_verify(R, SP, Trace) ->
      [Max | _] = Pkts = lists:reverse(lists:sort(read_packets_verify(R, SP, Trace, 0))),
      ct:pal("~p",[lists:sublist(Pkts,10)]),
      Max.
  
  read_packets_verify(R, SP, [{trace,R,OutIn,_}|Trace], M) 
  
negative.code: 
  %% OTP-6249 UDP option for number of packet reads.
  read_packets(Config) when is_list(Config) ->
      N1   = 5,
      N2   = 1,
      Msgs = 30000,
      ?P("open socket (with read-packets: ~p)", [N1]),
      {ok, R}   = gen_udp:open(0, [{read_packets,N1}]),
      {ok, RP}  = inet:port(R),
      ?P("create slave node"),
      {ok,Node} = start_node(gen_udp_SUITE_read_packets),
      %%
      ?P("perform read-packets test"),
      {V1, Trace1} = read_packets_test(R, RP, Msgs, Node),
      ?P("verify read-packets (to ~w)", [N1]),
      {ok,[{read_packets,N1}]} = inet:getopts(R, [read_packets]),
      %%
      ?P("set new read-packets: ~p", [N2]),
      ok = inet:setopts(R, [{read_packets, N2}]),
      ?P("perform read-packets test"),
      {V2, Trace2} = read_packets_test(R, RP, Msgs, Node),
      ?P("verify read-packets (to ~w)", [N2]),
      {ok,[{read_packets,N2}]} = inet:getopts(R, [read_packets]),
      %%
      ?P("stop slave node"),
      stop_node(Node),
  
      ?P("dump trace 1"),
      dump_terms(Config, "trace1.terms", Trace1),
      ?P("dump trace 2"),
      dump_terms(Config, "trace2.terms", Trace2),
  
      %% Because of the inherit racy-ness of the feature it is
  