There is no API to perform a republish and update the serivceId. Requierd for the SOA support.
- Extend the tlp_replublish to support serviceId always
- Extend the tlp_replublish to support serviceId if compiled with SOA_SUPPORT defined
- Adding a new funciton tlp_republishService
We need to decide what to implement.
Proposed function:
Same behaviour as the tlp_republish with the folling line
pubHandle->addr.serviceId = serviceId;
/******************/
/ Prepare for sending PD messages.
- Reinitialize and queue a PD message, it will be send when tlc_publish has been called
*
- @param[in] appHandle the handle returned by tlc_openSession
- @param[in] pubHandle handle for related unpublish
- @param[in] etbTopoCnt ETB topocount to use, 0 if consist local communication
- @param[in] opTrnTopoCnt operational topocount, != 0 for orientation/direction sensitive communication
- @param[in] srcIpAddr own IP address, 0 - srcIP will be set by the stack
- @param[in] destIpAddr where to send the packet to
- @param[in] serviceId Service Id containing
*
- @retval TRDP_NO_ERR no error
- @retval TRDP_PARAM_ERR parameter error
- @retval TRDP_MEM_ERR could not insert (out of memory)
- @retval TRDP_NOINIT_ERR handle invalid
*/
EXT_DECL TRDP_ERR_T tlp_republishService(
TRDP_APP_SESSION_T appHandle,
TRDP_PUB_T pubHandle,
UINT32 etbTopoCnt,
UINT32 opTrnTopoCnt,
TRDP_IP_ADDR_T srcIpAddr,
TRDP_IP_ADDR_T destIpAddr,
UINT32 serviceId)
{
We decided to use solution 3. This is a temporary function until NG-TCN switches will provide full support for RNat routing.
Commit at 2362