SEBA-663 VOLTHA 1.7 support in BBSim
Error handling in FlowRemove()
Error handling in getGemPortId
Update README for supporting VOLTHA 1.7

Change-Id: Ib9e76282f8bdf2b7b66bbf745521bca31cd4a219
diff --git a/core/core_server.go b/core/core_server.go
index 2033ec1..17404e3 100644
--- a/core/core_server.go
+++ b/core/core_server.go
@@ -19,10 +19,11 @@
 import (
 	"context"
 	"errors"
-	"reflect"
 	"strconv"
 	"sync"
+	"reflect"
 
+	omci "github.com/opencord/omci-sim"
 	"gerrit.opencord.org/voltha-bbsim/common/logger"
 	"gerrit.opencord.org/voltha-bbsim/common/utils"
 	"gerrit.opencord.org/voltha-bbsim/device"
@@ -30,7 +31,6 @@
 	"github.com/google/gopacket"
 	"github.com/google/gopacket/layers"
 	"github.com/google/gopacket/pcap"
-	omci "github.com/opencord/omci-sim"
 	log "github.com/sirupsen/logrus"
 	"golang.org/x/sync/errgroup"
 	"google.golang.org/grpc"
diff --git a/core/grpc_service.go b/core/grpc_service.go
index 69dadaa..c030c18 100644
--- a/core/grpc_service.go
+++ b/core/grpc_service.go
@@ -213,13 +213,14 @@
 
 // FlowRemove should handle flow deletion from datapath
 func (s *Server) FlowRemove(c context.Context, flow *openolt.Flow) (*openolt.Empty, error) {
-	onu, _ := s.GetOnuByID(uint32(flow.OnuId), uint32(flow.AccessIntfId))
-
-	utils.LoggerWithOnu(onu).WithFields(log.Fields{
-		"olt":   s.Olt.ID,
-		"c_tag": flow.Action.IVid,
-	}).Debug("OLT receives FlowRemove().")
-
+	logger.Debug("OLT %d receives FlowRemove()", s.Olt.ID)
+	onu, err := s.GetOnuByID(uint32(flow.OnuId), uint32(flow.AccessIntfId))
+	if err == nil{
+		utils.LoggerWithOnu(onu).WithFields(log.Fields{
+			"olt":   s.Olt.ID,
+			"c_tag": flow.Action.IVid,
+		}).Debug("OLT receives FlowRemove().")
+	}
 	return new(openolt.Empty), nil
 }