Assignment Request modifies conn->lcls state before the Assignment is successful
In osmo-bsc, all transient state around Assignment should live in conn->assignment.*
and only become definitive valid conn->* items upon a successful Assignment;
if Assignment fails, conn->* should remain unaffected.
In current master, I notice that this call does not heed this separation properly:
bssmap_handle_assignm_req(): bssmap_handle_ass_req_lcls(conn, &tp);
This apparently changes the LCLS state before the Assignment is accepted as a valid request.
It seems to me that
- bssmap_handle_ass_req_lcls() part evaluating the IEs should at first store the IE information in conn->assignment.* instead of in conn->*, and should copy to conn->lcls in assignment_success();
- and that lcls_update_config() should be called in assignment_success() near the end.