ironcore-dev / ironcore-dev/network-operator
Cisco NX-OS: gNMI Replace fails with "child cannot be added to deleted object" when replacing nested PIM StaticRP multicast groups
Nobody has claimed this yet.
- Dominant language
- Go
- Stars
- 11
- Forks
- 7
- Avg merge
- 1d 7h
- Merged PRs (30d)
- 40
Description
Problem Statement
On Cisco NX-OS, a gNMI Replace operation on the PIM rp-items container fails when changing the multicast group of an existing Static RP. NX-OS DME processes the Replace as a delete-parent + add-child within the same transaction, then rejects the child add because the parent is seen as deleted in that same transaction context — violating gNMI Replace atomicity semantics.
Error:
rpc error: code = Internal desc = descr:internal processing error
[error:operation-failed msg:child (Rn) cannot be added to deleted object
Rn=rpgrplist-[226.0.0.0/8], Commit Failed]
Platform: Cisco Nexus 9332D-GX2B (N9K-C9332D-GX2B)
NX-OS: 10.6(2) [Feature Release]
Steps to Reproduce
- Enable PIM:
gnmic set --replace-path "System/fm-items/pim-items" \
--replace-value '{"adminSt":"enabled"}'
- Set initial RP with group
225.0.0.0/8:
gnmic set --replace-path "System/pim-items/inst-items/dom-items/Dom-list[name=default]/staticrp-items/rp-items" \
--replace-value '{"StaticRP-list":[{"addr":"10.0.0.1/32","rpgrplist-items":{"RPGrpList-list":[{"grpListName":"225.0.0.0/8","bidir":false,"override":false}]}}]}'
- Replace with new group
226.0.0.0/8— FAILS:
gnmic set --replace-path "System/pim-items/inst-items/dom-items/Dom-list[name=default]/staticrp-items/rp-items" \
--replace-value '{"StaticRP-list":[{"addr":"10.0.0.1/32","rpgrplist-items":{"RPGrpList-list":[{"grpListName":"226.0.0.0/8","bidir":false,"override":false}]}}]}'
# ERROR: child (Rn) cannot be added to deleted objectRn=rpgrplist-[226.0.0.0/8], Commit Failed
Expected Behavior
gNMI Replace should atomically swap the old group with the new group in a single transaction.
Vendor Acknowledgement
Cisco TAC case opened: 700650417
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
No source file or test is identified in the issue. Start by running the listed gnmic Replace commands against the specified Cisco NX-OS platform and review how the repository handles gNMI Replace requests; done means the nested PIM StaticRP group changes atomically without the deleted-parent error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100