Skip to content

delete_packet_filters -> Delete Bearer via async Gx CCR-U (#22 Increment 2) - #52

Closed
next-nf wants to merge 5 commits into
async-ue-bearer-22from
async-ue-bearer-22-inc2
Closed

delete_packet_filters -> Delete Bearer via async Gx CCR-U (#22 Increment 2)#52
next-nf wants to merge 5 commits into
async-ue-bearer-22from
async-ue-bearer-22-inc2

Conversation

@next-nf

@next-nf next-nf commented Jul 21, 2026

Copy link
Copy Markdown
Owner

Stacked on #49 (base async-ue-bearer-22). Second increment of #22 (UE-requested bearer resource modification).

Turns a UE Bearer Resource Command carrying delete_packet_filters into the first real diameter-async async_m procedure: report the removed SDF filters to the PCRF over a Gx CCR-Update, await the reply non-blockingly, apply the PCC delta, and when the bearer's last rule is gone run the single-bearer deactivation echoing the PTI. On reject → Bearer Resource Failure Indication.

Commits

  • encode Packet-Filter-Operation/Packet-Filter-Information in the Gx CCR (DELETE shape: operation + identifiers only, per TS 29.212 §4.5.2)
  • smf_tft:pf_ids_to_sdf/2 reverse lookup — inverts #ded_bearer.sdf_to_pf, fails loud on a non-injective map or unknown id (never guesses)
  • the async procedure + delete_packet_filters reject-arm rewire + smf_aaa_pcf:merge_ctx/2
  • gate refinement: postpone fire-and-forget Gx {'$reply'} while an async procedure is parked — closes a pcf/aaa_session write-back race (an early Step-5 gate refinement)
  • TODO(PGW: implement UE-requested bearer resource modification (TAD add/replace/delete) #22) note on the remove-only fold (Increment 3 adds the install pass)

Design notes

  • Empty-TFT → Delete Bearer is judged post-fold via smf_gsn_lib:detect_removed_bearers/3 (the PCRF's rule decision governs), not from the TAD op.
  • fold_cca's stripped #pcf_ctx{} (app_id=undefined) is merged via merge_ctx/2, never wholesale-replaced (would break the next CCR-U).
  • Correlation (PTI/EBI/tunnel) rides the do-block closure across the await — no separate map.

Tests

pgw_SUITE 129/129 (2 new e2e cases: delete → one Delete Bearer echoing the PTI; reject → Failure Indication). diameter_Gx_SUITE 7/7, smf_tft_SUITE 25/25. Default compile green.

Out of scope (Increment 3)

The Update-TFT outcome + PTI Update emitter + uplink-filter guarantee; add/replace; requested-QoS.

Follow-ups

@next-nf

next-nf commented Jul 25, 2026

Copy link
Copy Markdown
Owner Author

Superseded by the async-invoke restack. This increment was re-authored onto invoke(pipeline_async) and collapsed into #56 (delete/add/replace together) on the redone #48 foundation. Closing in favor of #56.

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.

1 participant