anchor.diff:  %% ------------------------------------------------------------------
   
   do_callback(Module, Function, Args) ->
  -    io:format("callback: ~p ~p ~p~n", [Module, Function, Args]).
  -    % erlang:apply(Module, Function, Args).
  -
  -tell_controller_mode(Connection, active, State = #?STATE{
  -                                            generation_id = GenId,
  -                                            main_connection = Connection,
  -                                            of_version = Version}) ->
  -    Msg = ofs_msg_lib:set_role(Version, master, GenId),
  -    State1 = State#?STATE{generation_id = next_generation_id(GenId)},
  -    case of_driver:sync_send(Connection, Msg) of
  -        {error, Reason} ->
  -            {error, Reason, State1};
  -        {ok, _Reply} ->
  -            {ok, State1}
  -    end;
  -tell_controller_mode(_Connection, standby, _State) ->
  -    ok.
  -
  -next_generation_id(GenId) ->
  -    GenId + 1.
  -
  -get_opt(Key) ->
  -    get_opt(Key, []).
  +    erlang:apply(Module, Function, Args).
   
   get_opt(Key, Options) ->
       Default = case application:get_env(ofs_handler, Key) of
  
positive.code: handle_call({get_async_subscribe, _Module}, _From, State) ->
      {reply, ok, State};
  handle_call(terminate, _From, State) ->
      {reply, ok, State};
  
  % handle callbacks from of_driver
  handle_call({init, IpAddr, DatapathId, Features, Version, Connection, Opt}, _From, State = #?STATE{datapath_id = DatapathId}) ->
      % switch connected to of_driver.
      % this is the main connection.
      State1 = State#?STATE{
          ipaddr = IpAddr,
          features = Features,
          of_version = Version,
          main_connection = Connection,
          aux_connections = [],
          callback_mod = get_opt(callback_mod, Opt),
          opt = Opt
      },
      {reply, {ok, self()}, State1};
  handle_call({connect, _IpAddr, _DatapathId, _Features, _Version, Connection, AuxId, _Opt}, _From, State = #?STATE{aux_connections = AuxConnections}) ->
      State1 = State#?STATE{aux_connections = [{AuxId, Connection} | AuxConnections]},
      % switch connected to of_driver.
  
negative.code: %% ------------------------------------------------------------------
  
  init([DatapathId]) ->
      {ok, #?STATE{datapath_id = DatapathId}}.
  
  % handle API
  