Skip to content

[codegen, fix] Replace (not insert) table entries with matching keys - #282

Merged
zeeshanlakhani merged 1 commit into
mainfrom
zl/upsert-table-entries
Nov 10, 2026
Merged

zeeshanlakhani merged 1 commit into
mainfrom
zl/upsert-table-entries

Conversation

@zeeshanlakhani

Copy link
Copy Markdown
Contributor

HashSet::insert retained the prev entry, which meant that adding the same key with a new action or new params was a no-op. We now use replace per @rcgoodfellow @ oxidecomputer/dendrite#405.

`HashSet::insert` retained the prev entry, which meant that adding the
same key with a new action or new params was a no-op. We now use replace
per @rcgoodfellow @ oxidecomputer/dendrite#405.
zeeshanlakhani added a commit to oxidecomputer/dendrite that referenced this pull request Nov 9, 2026
Note on *deps*:
  - softnpu -> zl/table-clear (oxidecomputer/softnpu#234)
  - p4 -> zl/upsert-table-entries (oxidecomputer/p4#282)
@zeeshanlakhani zeeshanlakhani self-assigned this Nov 9, 2026
zeeshanlakhani added a commit to oxidecomputer/softnpu that referenced this pull request Nov 9, 2026
Previously, dpd could only clear tracked multicast
replication entries in softnpu. The pipeline outlives the dpd
process, and any state from earlier runs was not cleared.

Includes:

- `TableClear` empties a table under the pipeline
  lock (without a response)
  - unknown table IDs get rejected (and logged by SoftNPU).
- mgmt replies (radix, `DumpRequest`) return the send error
  instead of unwrapping it (SoftNPU logs and continues)
- p4rs pinned to oxidecomputer/p4#282.

Note: propolis will drop `TableClear` requests until
softnpu is updated there.
zeeshanlakhani added a commit to oxidecomputer/softnpu that referenced this pull request Nov 9, 2026
Previously, dpd could only clear tracked multicast
replication entries in softnpu. The pipeline outlives the dpd
process, and any state from earlier runs was not cleared.

Includes:

- `TableClear` empties a table under the pipeline
  lock (without a response)
  - unknown table IDs get rejected (and logged by SoftNPU).
- mgmt replies (radix, `DumpRequest`) return the send error
  instead of unwrapping it (SoftNPU logs and continues)
- p4rs pinned to oxidecomputer/p4#282.

Note: propolis will drop `TableClear` requests until
softnpu is updated there.
@zeeshanlakhani
zeeshanlakhani merged commit 89b725c into main Nov 10, 2026
4 checks passed
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.

2 participants