[VOL-2778] Fixing reboots
Change-Id: I9751a6a9abd83a1a45a809b1c32834d60ec22254
diff --git a/internal/bbsim/responders/eapol/eapol.go b/internal/bbsim/responders/eapol/eapol.go
index 5595d5b..8a37f02 100644
--- a/internal/bbsim/responders/eapol/eapol.go
+++ b/internal/bbsim/responders/eapol/eapol.go
@@ -38,7 +38,7 @@
 var eapolVersion uint8 = 1
 var GetGemPortId = omci.GetGemPortId
 
-func sendEapolPktIn(msg bbsim.ByteMsg, portNo uint32, gemid uint32, stream bbsim.Stream) {
+func sendEapolPktIn(msg bbsim.ByteMsg, portNo uint32, gemid uint32, stream bbsim.Stream) error {
 	// FIXME unify sendDHCPPktIn and sendEapolPktIn methods
 
 	log.WithFields(log.Fields{
@@ -58,8 +58,9 @@
 
 	if err := stream.Send(&openolt.Indication{Data: data}); err != nil {
 		eapolLogger.Errorf("Fail to send EAPOL PktInd indication. %v", err)
-		return
+		return err
 	}
+	return nil
 }
 
 func getMD5Data(eap *layers.EAP) []byte {
@@ -312,7 +313,10 @@
 			Bytes:  pkt,
 		}
 
-		sendEapolPktIn(msg, portNo, gemPortId, stream)
+		if err := sendEapolPktIn(msg, portNo, gemPortId, stream); err != nil {
+			_ = stateMachine.Event("auth_failed")
+			return
+		}
 		eapolLogger.WithFields(log.Fields{
 			"OnuId":  onuId,
 			"IntfId": ponPortId,
@@ -360,7 +364,10 @@
 			Bytes:  pkt,
 		}
 
-		sendEapolPktIn(msg, portNo, gemPortId, stream)
+		if err := sendEapolPktIn(msg, portNo, gemPortId, stream); err != nil {
+			_ = stateMachine.Event("auth_failed")
+			return
+		}
 		eapolLogger.WithFields(log.Fields{
 			"OnuId":  onuId,
 			"IntfId": ponPortId,