X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=pkg%2Frpe%2Frpe.go;h=a04133cf6e642ec0b5530937df4403ac65c646d0;hb=57d8540765fc4d6e4b66cd9d100c564866d3f0f9;hp=fcda8fe3828c263b5e67798b32a10b35f1f00dc4;hpb=4d0e07a80a63ea6e0590f3aa46f91ef6b52db8de;p=ric-plt%2Frtmgr.git diff --git a/pkg/rpe/rpe.go b/pkg/rpe/rpe.go index fcda8fe..a04133c 100644 --- a/pkg/rpe/rpe.go +++ b/pkg/rpe/rpe.go @@ -29,6 +29,7 @@ import ( "routing-manager/pkg/rtmgr" "routing-manager/pkg/sbi" "strconv" + "runtime" ) var ( @@ -79,17 +80,25 @@ func getEndpointByUuid(uuid string) *rtmgr.Endpoint { } func (r *Rpe) addRoute(messageType string, tx *rtmgr.Endpoint, rx *rtmgr.Endpoint, routeTable *rtmgr.RouteTable, subId int32) { - txList := rtmgr.EndpointList{*tx} - rxList := []rtmgr.EndpointList{[]rtmgr.Endpoint{*rx}} - messageId := rtmgr.MessageTypes[messageType] - route := rtmgr.RouteTableEntry{ - MessageType: messageId, - TxList: txList, - RxGroups: rxList, - SubID: subId} - *routeTable = append(*routeTable, route) - rtmgr.Logger.Debug("Route added: MessageTyp: %v, Tx: %v, Rx: %v, SubId: %v", messageId, tx.Uuid, rx.Uuid, subId) - rtmgr.Logger.Trace("Route added: MessageTyp: %v, Tx: %v, Rx: %v, SubId: %v", messageId, tx, rx, subId) + if tx != nil && rx != nil { + txList := rtmgr.EndpointList{*tx} + rxList := []rtmgr.EndpointList{[]rtmgr.Endpoint{*rx}} + messageId := rtmgr.MessageTypes[messageType] + route := rtmgr.RouteTableEntry{ + MessageType: messageId, + TxList: txList, + RxGroups: rxList, + SubID: subId} + *routeTable = append(*routeTable, route) + rtmgr.Logger.Debug("Route added: MessageTyp: %v, Tx: %v, Rx: %v, SubId: %v", messageId, tx.Uuid, rx.Uuid, subId) + rtmgr.Logger.Trace("Route added: MessageTyp: %v, Tx: %v, Rx: %v, SubId: %v", messageId, tx, rx, subId) + } else { + pc,_,_,ok := runtime.Caller(1) + details := runtime.FuncForPC(pc) + if ok && details != nil { + rtmgr.Logger.Error("Route addition skipped: Either TX or RX endpoint not present. Caller function is %s", details.Name()) + } + } } func (r *Rpe) generateXappRoutes(xAppEp *rtmgr.Endpoint, e2TermEp *rtmgr.Endpoint, subManEp *rtmgr.Endpoint, routeTable *rtmgr.RouteTable) { @@ -101,6 +110,9 @@ func (r *Rpe) generateXappRoutes(xAppEp *rtmgr.Endpoint, e2TermEp *rtmgr.Endpoin r.addRoute("RIC_SUB_DEL_REQ", xAppEp, subManEp, routeTable, -1) //xApp -> E2 Termination r.addRoute("RIC_CONTROL_REQ", xAppEp, e2TermEp, routeTable, -1) + //E2 Termination -> xApp + r.addRoute("RIC_CONTROL_ACK", e2TermEp, xAppEp, routeTable, -1) + r.addRoute("RIC_CONTROL_FAILURE", e2TermEp, xAppEp, routeTable, -1) } } @@ -145,24 +157,27 @@ func (r *Rpe) generatePlatformRoutes(e2TermEp *rtmgr.Endpoint, subManEp *rtmgr.E //Platform Routes --- X2 Routes //E2 Manager -> E2 Termination r.addRoute("RIC_X2_SETUP_REQ", e2ManEp, e2TermEp, routeTable, -1) - r.addRoute("RIC_X2_SETUP_RESP", e2ManEp, e2TermEp, routeTable, -1) - r.addRoute("RIC_X2_SETUP_FAILURE", e2ManEp, e2TermEp, routeTable, -1) + r.addRoute("RIC_X2_RESET_REQ", e2ManEp, e2TermEp, routeTable, -1) r.addRoute("RIC_X2_RESET_RESP", e2ManEp, e2TermEp, routeTable, -1) r.addRoute("RIC_ENDC_X2_SETUP_REQ", e2ManEp, e2TermEp, routeTable, -1) - r.addRoute("RIC_ENDC_X2_SETUP_RESP", e2ManEp, e2TermEp, routeTable, -1) - r.addRoute("RIC_ENDC_X2_SETUP_FAILURE", e2ManEp, e2TermEp, routeTable, -1) r.addRoute("RIC_SCTP_CLEAR_ALL", e2ManEp, e2TermEp, routeTable, -1) + r.addRoute("RIC_ENB_CONF_UPDATE_ACK", e2ManEp, e2TermEp, routeTable, -1) + r.addRoute("RIC_ENB_CONF_UPDATE_FAILURE", e2ManEp, e2TermEp, routeTable, -1) + r.addRoute("RIC_ENDC_CONF_UPDATE_ACK", e2ManEp, e2TermEp, routeTable, -1) + r.addRoute("RIC_ENDC_CONF_UPDATE_FAILURE", e2ManEp, e2TermEp, routeTable, -1) //E2 Termination -> E2 Manager r.addRoute("E2_TERM_INIT", e2TermEp, e2ManEp, routeTable, -1) - r.addRoute("RIC_X2_SETUP_REQ", e2TermEp, e2ManEp, routeTable, -1) r.addRoute("RIC_X2_SETUP_RESP", e2TermEp, e2ManEp, routeTable, -1) - r.addRoute("RIC_X2_RESET", e2TermEp, e2ManEp, routeTable, -1) - r.addRoute("RIC_X2_RESOURCE_STATUS_RESPONSE", e2TermEp, e2ManEp, routeTable, -1) + r.addRoute("RIC_X2_SETUP_FAILURE", e2TermEp, e2ManEp, routeTable, -1) + r.addRoute("RIC_X2_RESET_REQ", e2TermEp, e2ManEp, routeTable, -1) r.addRoute("RIC_X2_RESET_RESP", e2TermEp, e2ManEp, routeTable, -1) - r.addRoute("RIC_ENDC_X2_SETUP_REQ", e2ManEp, e2TermEp, routeTable, -1) - r.addRoute("RIC_ENDC_X2_SETUP_RESP", e2ManEp, e2TermEp, routeTable, -1) - r.addRoute("RIC_ENDC_X2_SETUP_FAILURE", e2ManEp, e2TermEp, routeTable, -1) + r.addRoute("RIC_ENDC_X2_SETUP_RESP", e2TermEp, e2ManEp, routeTable, -1) + r.addRoute("RIC_ENDC_X2_SETUP_FAILURE", e2TermEp, e2ManEp, routeTable, -1) + r.addRoute("RIC_ENDC_CONF_UPDATE", e2TermEp, e2ManEp, routeTable, -1) r.addRoute("RIC_SCTP_CONNECTION_FAILURE", e2TermEp, e2ManEp, routeTable, -1) + r.addRoute("RIC_ERROR_INDICATION", e2TermEp, e2ManEp, routeTable, -1) + r.addRoute("RIC_ENB_CONF_UPDATE", e2TermEp, e2ManEp, routeTable, -1) + r.addRoute("RIC_ENB_LOAD_INFORMATION", e2TermEp, e2ManEp, routeTable, -1) } func (r *Rpe) generateRouteTable(endPointList rtmgr.Endpoints) *rtmgr.RouteTable {