gprs_ns2_message: tx_status: move all cause dependent code into the switch/case

Change-Id: I8f1e0962c6f5f0c7287990bb7608d0cc9b86dfdb
This commit is contained in:
Alexander Couzens 2021-02-15 04:55:08 +01:00 committed by lynxis lazus
parent cf1fa6351b
commit ce646c2371
1 changed files with 11 additions and 10 deletions

View File

@ -450,18 +450,18 @@ int ns2_tx_status(struct gprs_ns2_vc *nsvc, uint8_t cause,
msgb_tvlv_put(msg, NS_IE_CAUSE, 1, &cause);
/* Section 9.2.7.1: Static conditions for NS-VCI */
if (cause == NS_CAUSE_NSVC_BLOCKED ||
cause == NS_CAUSE_NSVC_UNKNOWN)
msgb_tvlv_put(msg, NS_IE_VCI, 2, (uint8_t *)&nsvci);
/* Section 9.2.7.2: Static conditions for NS PDU */
switch (cause) {
case NS_CAUSE_NSVC_BLOCKED:
case NS_CAUSE_NSVC_UNKNOWN:
/* Section 9.2.7.1: Static conditions for NS-VCI */
msgb_tvlv_put(msg, NS_IE_VCI, 2, (uint8_t *)&nsvci);
break;
case NS_CAUSE_SEM_INCORR_PDU:
case NS_CAUSE_PDU_INCOMP_PSTATE:
case NS_CAUSE_PROTO_ERR_UNSPEC:
case NS_CAUSE_INVAL_ESSENT_IE:
case NS_CAUSE_MISSING_ESSENT_IE:
/* Section 9.2.7.2: Static conditions for NS PDU */
/* ensure the PDU doesn't exceed the MTU */
orig_len = msgb_l2len(orig_msg);
max_orig_len = msgb_length(msg) + TVLV_GROSS_LEN(orig_len);
@ -469,14 +469,15 @@ int ns2_tx_status(struct gprs_ns2_vc *nsvc, uint8_t cause,
orig_len -= max_orig_len - nsvc->bind->mtu;
msgb_tvlv_put(msg, NS_IE_PDU, orig_len, orig_msg->l2h);
break;
case NS_CAUSE_BVCI_UNKNOWN:
/* Section 9.2.7.3: Static conditions for BVCI */
msgb_tvlv_put(msg, NS_IE_VCI, 2, (uint8_t *)&bvci);
break;
default:
break;
}
/* Section 9.2.7.3: Static conditions for BVCI */
if (cause == NS_CAUSE_BVCI_UNKNOWN)
msgb_tvlv_put(msg, NS_IE_VCI, 2, (uint8_t *)&bvci);
return ns_vc_tx(nsvc, msg);
}