diff options
author | Alexander Couzens <lynxis@fe80.eu> | 2021-02-15 04:55:08 +0100 |
---|---|---|
committer | lynxis lazus <lynxis@fe80.eu> | 2021-02-19 10:41:50 +0000 |
commit | ce646c23711b5136d11a4ab7130be480b2065af5 (patch) | |
tree | 16db5007e88dde09704d31a691e5e2cfd37dc012 /src | |
parent | cf1fa6351b30381a1d2ec2ef7c2acd0699c7b659 (diff) |
gprs_ns2_message: tx_status: move all cause dependent code into the switch/case
Change-Id: I8f1e0962c6f5f0c7287990bb7608d0cc9b86dfdb
Diffstat (limited to 'src')
-rw-r--r-- | src/gb/gprs_ns2_message.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/src/gb/gprs_ns2_message.c b/src/gb/gprs_ns2_message.c index 7f52c4bb..ddf7285f 100644 --- a/src/gb/gprs_ns2_message.c +++ b/src/gb/gprs_ns2_message.c @@ -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); } |