anchor.diff:  	  capabilities,
   
   	  eapol_state,
  +	  eapol_retransmit,
  +	  eapol_timer,
   	  cipher_state,
   
   	  rekey_running,
  
positive.code: 	    lager:debug("TxKeyData: ~p", [pbkdf2:to_hex(TxKeyData)]),
  	    lager:debug("EncTxKeyData: ~p", [pbkdf2:to_hex(EncTxKeyData)]),
  
  	    Key = eapol:key([pairwise, install, ack, mic, secure, enc], EncTxKeyData, CipherState),
  	    Frame = eapol:encode_802_11(StationMAC, BSS, Key),
  	    wtp_send_80211(Frame, State),
  	    State#state{eapol_state = install, cipher_state = CipherState};
  
  	Other ->
  	    lager:debug("rsna_4way_handshake 2 of 4: ~p", [Other]),
  
negative.code:     end;
  
  rsna_4way_handshake({key, _Flags, _CipherSuite, ReplayCounter, _SNonce, _KeyData, MICData},
  		    State0 = #state{ac = AC, radio_mac = BSS, mac = StationMAC, capabilities = Caps,
  				    eapol_state = install,
  				    cipher_state =
  					#ccmp{
  					   replay_counter = ReplayCounter} = CipherState}) ->
      State = stop_eapol_timer(State0),
      case eapol:validate_mic(CipherState, MICData) of
  	ok ->
  	    lager:debug("rsna_4way_handshake 4 of 4: ok"),
  