anchor.diff:      connection_close_callback(SwitchHandler, HandlerState, AuxID),
       {stop, normal, State#?STATE{socket = undefined}}.
   
  +connection_close_callback(Module, undefined, _) ->
  +    ?WARNING("Switch handler state for ~p undefined while closing connection ",
  +             [Module]);
   connection_close_callback(Module, HandlerState, 0) ->
       Module:terminate(driver_closed_connection, HandlerState);
   connection_close_callback(Module, HandlerState, _AuxID) ->
  
positive.code:             State#?STATE{aux_id = 0, datapath_mac = DatapathMac};
          _ ->
          	{_MsgName, _MsgXid, MsgRes} = of_msg_lib:decode(Msg),
            DPID = proplists:get_value(datapath_id,  MsgRes),
            PDMAC = proplists:get_value(datapath_mac, MsgRes),
            DatapathMac = of_driver_utils:datapath_mac(DPID,PDMAC),
          	AuxID = proplists:get_value(auxiliary_id, MsgRes),
  
negative.code: 
  do_send(Msg, #?STATE{protocol = Protocol,
                       socket = Socket,
                        address = IpAddr,
                        datapath_mac = DatapathMac} = _State) ->
      ls_metrics:handle_packet_out(DatapathMac,Msg),
      case of_protocol:encode(Msg) of
          {ok, EncodedMessage} ->
              ?DEBUG("Send to ~p: ~p~n", [IpAddr, Msg]),
  