Skip to content

RDKCOM-5619: RDKBNETWOR-99 Implement Dynamic L2/L3 Packet Marking Framework - #223

Open
sherik-sensin wants to merge 1 commit into
rdkcentral:mainfrom
sherik-sensin:RDKBNETWOR-99_qos
Open

RDKCOM-5619: RDKBNETWOR-99 Implement Dynamic L2/L3 Packet Marking Framework#223
sherik-sensin wants to merge 1 commit into
rdkcentral:mainfrom
sherik-sensin:RDKBNETWOR-99_qos

Conversation

@sherik-sensin

Copy link
Copy Markdown

Reason for change: Marking table should be created dynamically based on the virtual interface marking entry from WanManager.

Test Procedure: Performed WANManager Sanity test.
Risks: None.

Copilot AI review requested due to automatic review settings July 29, 2026 10:17
@sherik-sensin
sherik-sensin requested a review from a team as a code owner July 29, 2026 10:17

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a new DSCPMark field to the WAN Interface Marking data model and attempts to load it from PSM during dynamic Marking table initialization, supporting the “dynamic L2/L3 packet marking framework” goal.

Changes:

  • Added DSCPMark to the TR-181 Marking object (data model struct + XML parameter).
  • Implemented get/set/commit handling for DSCPMark in the DML interface layer.
  • Extended Marking init to read DSCPMark from PSM and skip entries where it’s missing.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
source/TR-181/middle_layer_src/wanmgr_rdkbus_apis.c Reads DSCPMark from PSM during Marking init and skips invalid entries.
source/TR-181/middle_layer_src/wanmgr_dml_iface_apis.c Exposes DSCPMark via TR-181 get/set and clears it on failed add.
source/TR-181/include/wanmgr_dml.h Adds DSCPMark field to DML_MARKING.
source/TR-181/include/dmsb_tr181_psm_definitions.h Introduces PSM key macro for DSCPMark (currently broken).
config/RdkWanManager.xml Adds DSCPMark parameter to the Marking object definition.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread source/TR-181/include/dmsb_tr181_psm_definitions.h
Comment thread source/TR-181/middle_layer_src/wanmgr_rdkbus_apis.c
@pradeeptakdas pradeeptakdas changed the title RDKBNETWOR-99 : Implement Dynamic L2/L3 Packet Marking Framework RDKCOM-5619: RDKBNETWOR-99 Implement Dynamic L2/L3 Packet Marking Framework Jul 29, 2026
Reason for change: Marking table should be created dynamically based on the virtual interface marking entry from WanManager.

Test Procedure: Performed WANManager Sanity test.
Risks: None.

Signed-off-by: Sherik Sensin A <sherik.a@telekom-digital.com>
Copilot AI review requested due to automatic review settings July 30, 2026 10:46

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 5 out of 5 changed files in this pull request and generated no new comments.

Comments suppressed due to low confidence (2)

source/TR-181/middle_layer_src/wanmgr_rdkbus_apis.c:1054

  • The new DSCPMark PSM lookup treats a missing/empty DSCPMark as a hard failure: it removes the alias from the PSM Marking.List and skips creating the TR-181 table row. On upgrade, existing marking entries won’t have the new DSCPMark key yet, so this will incorrectly delete/skip otherwise valid marking entries.
                        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, "-" );

source/TR-181/middle_layer_src/wanmgr_dml_iface_apis.c:3015

  • DSCPMark is now writable via Marking_SetParamStringValue(), but it is never persisted to PSM by the marking commit path (DmlSetMarking/DmlAddMarking ultimately call DmlCheckAndProceedMarkingOperations in wanmgr_rdkbus_apis.c, which only writes Alias/SKBPort/SKBMark/EthernetPriorityMark). Since WanMgr_WanIfaceMarkingInit() now requires DSCPMark in PSM to recreate the table, DSCPMark updates will be lost across restart and can also cause marking entries to be skipped.
    if (strcmp(ParamName, "DSCPMark") == 0)
    {
        AnscCopyString(p_Marking->DSCPMark, pString);
        ret = TRUE;
    }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants