anchor.diff:      State1 = case (R1 == CurHash) of
                    true  -> State;
                    false ->
  -                     {ok, CurHash1} = gen_routing_table(?SYNC_MODE_CUR_RING),
  -                     State#state{cur = #routing_table{checksum = CurHash1}}
  +                     {ok, {CurHash1, CurIdx, CurTbl}} = gen_routing_table(?SYNC_MODE_CUR_RING),
  +                     State#state{cur = #routing_table{checksum = CurHash1,
  +                                                      index    = CurIdx,
  +                                                      table    = CurTbl}}
                end,
       State2 = case (R2 == PrevHash) of
                    true  -> State1;
                    false ->
  -                     {ok, PrevHash1} = gen_routing_table(?SYNC_MODE_PREV_RING),
  -                     State1#state{prev = #routing_table{checksum = PrevHash1}}
  +                     {ok, {PrevHash1, PrevIdx, PrevTbl}} = gen_routing_table(?SYNC_MODE_PREV_RING),
  +                     State1#state{prev = #routing_table{checksum = PrevHash1,
  +                                                        index    = PrevIdx,
  +                                                        table    = PrevTbl}}
                end,
       State2.
   
  
positive.code: gen_routing_table(Version) ->
      %% Retrieve ring from local's master [etc|mnesia]
      {ok, CurRing} = leo_redundant_manager_api:get_ring(Version),
      Checksum = erlang:crc32(term_to_binary(CurRing)),
      ?debugVal(Checksum),
      %%
  
  
      {ok, Checksum}.
  
negative.code: -define(DEF_TIMEOUT,       3000).
  -endif.
  
  -define(DEF_NUM_OF_DIV, 32).
  
  -record(routing_table, {index = []    :: list(pos_integer()),
                          checksum = -1 :: integer(),
                          table = []    :: list()
  