diff --git a/goKMS/gnmiHandlers/kms/assignForwardingHandler.go b/goKMS/gnmiHandlers/kms/assignForwardingHandler.go index 01ebfedb3ed99aca35c08a531226893702f48210..bc4daedacc12d99e48b11db7179c5f36cc2dc3af 100644 --- a/goKMS/gnmiHandlers/kms/assignForwardingHandler.go +++ b/goKMS/gnmiHandlers/kms/assignForwardingHandler.go @@ -45,6 +45,8 @@ func (yh *AssignForwardingHandler) Update(c ygot.ValidatedGoStruct, jobs []*gnmi return fmt.Errorf("failed type assertion for newConfig %T", (*gnmitargetygot.Gnmitarget)(nil)) } + log.Debugf("Received Update within AssignForwardingHandler") + forwarding := config.GetOrCreateAssignForwarding() pathId := forwarding.GetPathId() @@ -56,9 +58,11 @@ func (yh *AssignForwardingHandler) Update(c ygot.ValidatedGoStruct, jobs []*gnmi if nextHop != nil { nextHopString = nextHop.GetNodeId() + log.Debugf("AssignForwardingHandler - NextHopString: %s", nextHopString) } if prevHop != nil { prevHopString = prevHop.GetNodeId() + log.Debugf("AssignForwardingHandler - PrevHopString: %s", prevHopString) } var initKMS *util.RemoteKMS @@ -69,15 +73,16 @@ func (yh *AssignForwardingHandler) Update(c ygot.ValidatedGoStruct, jobs []*gnmi addressPrefix = initiatingKmsAddress.GetIpAddress() } else if initiatingKmsAddress.GetHostname() != "" { addressPrefix = initiatingKmsAddress.GetHostname() - } else { - log.Error("initiatingKmsAddress must have either an IP address or a hostname") - return fmt.Errorf("initiatingKmsAddress must have either an IP address or a hostname") } - initKMS = &util.RemoteKMS{ - Id: initiatingKmsAddress.GetNodeId(), - Address: addressPrefix, - Port: initiatingKmsAddress.GetPort(), + log.Debugf("AssignForwardingHandler - InitiatingKMSAddress was set with the following parameters: NodeId: %s, Hostname: %s, IpAddress: %s, Port: %d", initiatingKmsAddress.GetNodeId(), initiatingKmsAddress.GetHostname(), initiatingKmsAddress.GetIpAddress(), initiatingKmsAddress.GetPort()) + + if addressPrefix != "" { + initKMS = &util.RemoteKMS{ + Id: initiatingKmsAddress.GetNodeId(), + Address: addressPrefix, + Port: initiatingKmsAddress.GetPort(), + } } } diff --git a/goKMS/kms/kms.go b/goKMS/kms/kms.go index 0862711365b1f4e3293bd9bfd916c0e8d85e3a04..536bfc17312eca58be32a7adcd6dc79ef4f9a9ac 100644 --- a/goKMS/kms/kms.go +++ b/goKMS/kms/kms.go @@ -384,11 +384,6 @@ func (kms *KMS) AssignForwardingRoute(pId, pHop, nHop string, remoteKMS *util.Re kms.routingTable[pathId] = tmpRoute kms.routingTableMutex.Unlock() - if tmpRoute.RemoteKMS == nil { - log.Error("NOOOOO REMOTE KMS") - return fmt.Errorf("NOOOOO REMOTE KMS") - } - if tmpRoute.RemoteKMS != nil { kms.remoteKMSMappingMutex.Lock() if _, ok := kms.remoteKMSMapping[tmpRoute.RemoteKMS.Id]; !ok {