diff options
author | Harald Welte <laforge@gnumonks.org> | 2011-07-24 00:01:46 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2011-07-24 00:01:46 +0200 |
commit | 97d4c44db20fbcd4070bf058f0a537a3170ccbe7 (patch) | |
tree | 0ddb068084c3b742c2200769ba0a497a4dee809b /src | |
parent | 9d4736a5bebaaf84bf102559fafa4c723f5e833b (diff) |
RSL: send CRCX/MDCX related messages as msg discriminator ip.access
Diffstat (limited to 'src')
-rw-r--r-- | src/common/rsl.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/common/rsl.c b/src/common/rsl.c index 98907d58..4b8798b9 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -178,6 +178,16 @@ static void rsl_dch_push_hdr(struct msgb *msg, uint8_t msg_type, uint8_t chan_nr dch->chan_nr = chan_nr; } +static void rsl_ipa_push_hdr(struct msgb *msg, uint8_t msg_type, uint8_t chan_nr) +{ + struct abis_rsl_dchan_hdr *dch; + + dch = (struct abis_rsl_dchan_hdr *) msgb_push(msg, sizeof(*dch)); + dch->c.msg_discr = ABIS_RSL_MDISC_IPACCESS; + dch->c.msg_type = msg_type; + dch->ie_chan = RSL_IE_CHAN_NR; + dch->chan_nr = chan_nr; +} /* * TRX related messages @@ -898,7 +908,7 @@ static int rsl_tx_ipac_XXcx_ack(struct gsm_lchan *lchan, int inc_pt2, } /* push the header in front */ - rsl_dch_push_hdr(msg, orig_msgt + 1, chan_nr); + rsl_ipa_push_hdr(msg, orig_msgt + 1, chan_nr); msg->trx = lchan->ts->trx; return abis_rsl_sendmsg(msg); @@ -915,7 +925,7 @@ static int rsl_tx_ipac_dlcx_ack(struct gsm_lchan *lchan, int inc_conn_id) if (inc_conn_id) msgb_tv_put(msg, RSL_IE_IPAC_CONN_ID, lchan->abis_ip.conn_id); - rsl_dch_push_hdr(msg, RSL_MT_IPAC_DLCX_ACK, chan_nr); + rsl_ipa_push_hdr(msg, RSL_MT_IPAC_DLCX_ACK, chan_nr); msg->trx = lchan->ts->trx; return abis_rsl_sendmsg(msg); @@ -935,7 +945,7 @@ static int rsl_tx_ipac_dlcx_nack(struct gsm_lchan *lchan, int inc_conn_id, msgb_tlv_put(msg, RSL_IE_CAUSE, 1, &cause); - rsl_dch_push_hdr(msg, RSL_MT_IPAC_DLCX_NACK, chan_nr); + rsl_ipa_push_hdr(msg, RSL_MT_IPAC_DLCX_NACK, chan_nr); msg->trx = lchan->ts->trx; return abis_rsl_sendmsg(msg); @@ -970,7 +980,7 @@ static int tx_ipac_XXcx_nack(struct gsm_lchan *lchan, uint8_t cause, msgb_tlv_put(msg, RSL_IE_CAUSE, 1, &cause); /* push the header in front */ - rsl_dch_push_hdr(msg, orig_msgtype + 2, chan_nr); + rsl_ipa_push_hdr(msg, orig_msgtype + 2, chan_nr); msg->trx = lchan->ts->trx; return abis_rsl_sendmsg(msg); |