anchor.diff:  
   data_check({keep_alive, DataPath, WTPDataChannelAddress, Header, PayLoad}, _From,
   	   State = #state{ctrl_stream = CtrlStreamState}) ->
  -    lager:info("in DATA_CHECK got expected keep_alive: ~p", [{Header, PayLoad}]),
  +    lager:md([{data_channel_address, WTPDataChannelAddress}]),
  +    ?log_capwap_keep_alive(peer_log_str(WTPDataChannelAddress, State), PayLoad, Header),
  +
       capwap_wtp_reg:register(WTPDataChannelAddress),
       MTU = capwap_stream:get_mtu(CtrlStreamState),
       capwap_dp:add_wtp(WTPDataChannelAddress, MTU),
  
positive.code: -define(DEBUG_OPTS,[{install, {fun lager_sys_debug:lager_gen_fsm_trace/3, ?MODULE}}]).
  
  -define(log_capwap_control(Id, MsgType, SeqNo, Elements, Header),
  	begin
  	    #capwap_header{radio_id = RadioId, wb_id = WBID} = Header,
  	    lager:info("~s: ~s(Seq: ~w, R-Id: ~w, WB-Id: ~w): ~p", [Id, capwap_packet:msg_description(MsgType), SeqNo, RadioId, WBID, [lager:pr(E, ?MODULE) || E <- Elements]])
  	end).
  
  %%%===================================================================
  
negative.code: %%--------------------------------------------------------------------
  init([WTPControlChannelAddress]) ->
      process_flag(trap_exit, true),
      lager:md([{control_channel_address, WTPControlChannelAddress}]),
      capwap_wtp_reg:register(WTPControlChannelAddress),
      {ok, listen, #state{ctrl_channel_address = WTPControlChannelAddress,
  			request_queue = queue:new(),
  