Attention is currently required from: canghaiwuhen.
1 comment:
File src/sgsn/gprs_sm.c:
Patch Set #6, Line 339: pdp->req_qos_len = TLVP_LEN(tp, OSMO_IE_GSM_REQ_QOS);
I just noticed that all the tp copying is done in sgsn_create_pdp_ctx() being called above, so this line should be moved there.
Actually, the QoS is being copied there, also the length, so afaict there's no need to store the length yet again in another variable?
See this code from that function:
/* QoS options from GMM or remote */
if (TLVP_LEN(tp, OSMO_IE_GSM_SUB_QOS) > 0) {
qos_len = TLVP_LEN(tp, OSMO_IE_GSM_SUB_QOS);
qos = TLVP_VAL(tp, OSMO_IE_GSM_SUB_QOS);
} else {
qos_len = TLVP_LEN(tp, OSMO_IE_GSM_REQ_QOS);
qos = TLVP_VAL(tp, OSMO_IE_GSM_REQ_QOS);
}
pdp->qos_req.l = qos_len + 1;
if (pdp->qos_req.l > sizeof(pdp->qos_req.v))
pdp->qos_req.l = sizeof(pdp->qos_req.v);
pdp->qos_req.v[0] = 0; /* Allocation/Retention policy */
memcpy(&pdp->qos_req.v[1], qos, pdp->qos_req.l - 1);
So you probably need to use "pdp->qos_req.l - 1" (because the GTP QoS has an extra byte prepended for allocation/retention policy).
To view, visit change 41948. To unsubscribe, or for help writing mail filters, visit settings.