Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions config/RdkWanManager.xml
Original file line number Diff line number Diff line change
Expand Up @@ -514,6 +514,12 @@
<syntax>int</syntax>
<writable>true</writable>
</parameter>
<parameter>
<name>DSCPMark</name>
<type>string(64)</type>
<syntax>string</syntax>
<writable>true</writable>
</parameter>
</parameters>
</object>
</objects>
Expand Down
1 change: 1 addition & 0 deletions source/TR-181/include/dmsb_tr181_psm_definitions.h
Original file line number Diff line number Diff line change
Expand Up @@ -119,5 +119,6 @@
#define PSM_MARKING_SKBPORT "dmsb.wanmanager.if.%d.Marking.%s.SKBPort"
#define PSM_MARKING_SKBMARK "dmsb.wanmanager.if.%d.Marking.%s.SKBMark"
#define PSM_MARKING_ETH_PRIORITY_MASK "dmsb.wanmanager.if.%d.Marking.%s.EthernetPriorityMark"
#define PSM_MARKING_DSCPMARK "dmsb.wanmanager.if.%d.Marking.%d.DSCPMark"

#endif
1 change: 1 addition & 0 deletions source/TR-181/include/wanmgr_dml.h
Original file line number Diff line number Diff line change
Expand Up @@ -266,6 +266,7 @@ typedef struct _DML_MARKING
UINT SKBPort;
UINT SKBMark;
INT EthernetPriorityMark;
CHAR DSCPMark[BUFLEN_64];
} DML_MARKING;

typedef struct _DATAMODEL_MARKING
Expand Down
21 changes: 21 additions & 0 deletions source/TR-181/middle_layer_src/wanmgr_dml_iface_apis.c
Original file line number Diff line number Diff line change
Expand Up @@ -2833,6 +2833,20 @@ ULONG Marking_GetParamStringValue(ANSC_HANDLE hInsContext, char* ParamName, char
}
}

if (strcmp(ParamName, "DSCPMark") == 0)
{
if ( AnscSizeOfString(p_Marking->DSCPMark) < *pUlSize)
{
AnscCopyString(pValue, p_Marking->DSCPMark);
return 0;
}
else
{
*pUlSize = AnscSizeOfString(p_Marking->DSCPMark)+1;
return 1;
}
}

/* CcspTraceWarning(("Unsupported parameter '%s'\n", ParamName)); */
return -1;
}
Expand Down Expand Up @@ -2994,6 +3008,12 @@ BOOL Marking_SetParamStringValue(ANSC_HANDLE hInsContext, char* ParamName, char*
ret = TRUE;
}

if (strcmp(ParamName, "DSCPMark") == 0)
{
AnscCopyString(p_Marking->DSCPMark, pString);
ret = TRUE;
}
Comment on lines +3011 to +3015

/* CcspTraceWarning(("Unsupported parameter '%s'\n", ParamName)); */
return ret;
}
Expand Down Expand Up @@ -3072,6 +3092,7 @@ ULONG Marking_Commit(ANSC_HANDLE hInsContext)
p_Marking->SKBPort = 0;
p_Marking->SKBMark = 0;
p_Marking->EthernetPriorityMark = -1;
memset( p_Marking->DSCPMark, 0, sizeof( p_Marking->DSCPMark ) );
}
}
else
Expand Down
19 changes: 19 additions & 0 deletions source/TR-181/middle_layer_src/wanmgr_rdkbus_apis.c
Original file line number Diff line number Diff line change
Expand Up @@ -1035,6 +1035,25 @@ ANSC_STATUS WanMgr_WanIfaceMarkingInit ()
token = strtok( NULL, "-" );
continue;
}

//Get DSCPMark from PSM
memset( acPSMQuery, 0, sizeof( acPSMQuery ) );
memset( acPSMValue, 0, sizeof( acPSMValue ) );

snprintf( acPSMQuery, sizeof( acPSMQuery ), PSM_MARKING_DSCPMARK, ulIfInstanceNumber, acTmpMarkingData );
if ( ( CCSP_SUCCESS == DmlWanGetPSMRecordValue( acPSMQuery, acPSMValue ) ) && \
( strlen( acPSMValue ) > 0 ) )
{
snprintf( p_Marking->DSCPMark, sizeof( p_Marking->DSCPMark ), "%s", acPSMValue );
}
else
{
WanMgr_RemoveMarkingEntryFromPSMList(acOldMarkingList, acTmpMarkingData, ulIfInstanceNumber);
CcspTraceInfo(("%s %d - PSM entry for DSCPMark Failed. Don't add Marking table Entry for token: (%s)\n", __FUNCTION__, __LINE__, token));
token = strtok( NULL, "-" );
continue;
}
Comment on lines +1039 to +1055

/* Insert into marking table */
snprintf(aTableName, sizeof(aTableName), MARKING_TABLE, ulIfInstanceNumber);
if (CCSP_SUCCESS == CcspBaseIf_AddTblRow(bus_handle,WAN_COMPONENT_NAME,WAN_DBUS_PATH, 0, aTableName,&ulInstanceNumber))
Expand Down