Skip to content

M3 — Admission: association + 2-step RACH #257

Description

@josephnef

Part of the 5G-NR RAN EPIC #254. Phase A.

Goal: UEs join a running cell without disturbing scheduled traffic.

5G mapping

2-step RACH — a joining UE sends a preamble+msg in a reserved contention slot; the DU replies with a MACID + grant in the next beacon (fewer round-trips than LTE 4-step).

Deliverables (into src/cell/ + examples/cell)

  • N-UE association — generalize the single-client tests/ap_responder.cpp + tests/ap_wpa2.cpp (beacon/probe/auth/assoc/DHCP/WPA2/CCMP) into UeRegistry. Authenticate before allocating persistent resources (from the review — don't hand a MACID/grant to an unauthenticated preamble).
  • Rach — a reserved contention slot in the SlotGrid; joining UE sends a preamble, the DU allocates MACID + grant and answers in the next beacon (2-step: preamble+msg → grant). Robust contention (from the review): randomized contention opportunities, collision detection/resolution, backoff, a temporary identity until association, duplicate-request detection, and defined exhaustion/denial behavior when the MACID/grant pool is full.

Reuses

The AP association machinery (ap_responder.cpp, ap_wpa2.cpp), AckResponder, M1's UeRegistry/GrantMap/SlotGrid.

Dependencies

M1 (#254 tracks).

Test — tests/cell_rach.sh

DU + 1 active UE (scheduled traffic running); hot-plug a 3rd station that joins via the RACH slot within N beacons and receives a collision-free grant — the existing UE's slot is undisturbed throughout. Reuse ap_wpa2_demo.sh for the association leg.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions