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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions