Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
zzha zzha
OpenXG-RAN
Commits
9a8dbf5d
Commit
9a8dbf5d
authored
Dec 22, 2014
by
Raymond Knopp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
git-svn-id:
http://svn.eurecom.fr/openair4G/trunk@6309
818b1a75-f10b-46b9-bf7c-635c3b92a50f
parent
d08a7f4a
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
99 additions
and
3 deletions
+99
-3
openair2/LAYER2/PDCP_v10.1.0/pdcp.c
openair2/LAYER2/PDCP_v10.1.0/pdcp.c
+81
-0
openair2/LAYER2/PDCP_v10.1.0/pdcp.h
openair2/LAYER2/PDCP_v10.1.0/pdcp.h
+14
-0
openair2/LAYER2/RLC/rlc.h
openair2/LAYER2/RLC/rlc.h
+1
-1
openair2/LAYER2/RLC/rlc_rrc.c
openair2/LAYER2/RLC/rlc_rrc.c
+0
-1
openair2/RRC/LITE/rrc_eNB.c
openair2/RRC/LITE/rrc_eNB.c
+3
-1
No files found.
openair2/LAYER2/PDCP_v10.1.0/pdcp.c
View file @
9a8dbf5d
...
...
@@ -936,6 +936,87 @@ void pdcp_run (
}
boolean_t
pdcp_remove_UE
(
const
moduled_id_t
enb_mod_idP
,
const
module_id_t
ue_mod_idP
,
const
frame_t
frameP
)
{
pdcp_t
*
pdcp_p
=
NULL
;
DRB_Identity_t
srb_id
=
0
;
DRB_Identity_t
drb_id
=
0
;
// check and remove SRBs first
for
(
srb_id
=
0
;
srb_id
<
2
;
srb_id
++
)
{
pdcp_p
=
&
pdcp_array_srb_eNB
[
enb_mod_idP
][
ue_mod_idP
][
srb_id
-
1
];
if
(
pdcp_p
->
instanciated_instance
==
TRUE
)
{
pdcp_p
->
instanciated_instance
=
FALSE
;
pdcp_p
->
lcid
=
0
;
pdcp_p
->
header_compression_profile
=
0x0
;
pdcp_p
->
cipheringAlgorithm
=
0xff
;
pdcp_p
->
integrityProtAlgorithm
=
0xff
;
pdcp_p
->
status_report
=
0
;
pdcp_p
->
rlc_mode
=
RLC_MODE_NONE
;
pdcp_p
->
next_pdcp_tx_sn
=
0
;
pdcp_p
->
next_pdcp_rx_sn
=
0
;
pdcp_p
->
tx_hfn
=
0
;
pdcp_p
->
rx_hfn
=
0
;
pdcp_p
->
last_submitted_pdcp_rx_sn
=
4095
;
pdcp_p
->
seq_num_size
=
0
;
pdcp_p
->
first_missing_pdu
=
-
1
;
pdcp_p
->
security_activated
=
0
;
/* Security keys */
if
(
pdcp_p
->
kUPenc
!=
NULL
)
{
free
(
pdcp_p
->
kUPenc
);
}
if
(
pdcp_p
->
kRRCint
!=
NULL
)
{
free
(
pdcp_p
->
kRRCint
);
}
if
(
pdcp_p
->
kRRCenc
!=
NULL
)
{
free
(
pdcp_p
->
kRRCenc
);
}
}
}
for
(
drb_id
=
0
;
drb_id
<
maxDRB
;
drb_id
++
)
{
pdcp_p
=
&
pdcp_array_drb_eNB
[
enb_mod_idP
][
ue_mod_idP
][
drb_id
-
1
];
if
(
pdcp_p
->
instanciated_instance
==
TRUE
)
{
pdcp_p
->
instanciated_instance
=
FALSE
;
pdcp_p
->
lcid
=
0
;
pdcp_p
->
header_compression_profile
=
0x0
;
pdcp_p
->
cipheringAlgorithm
=
0xff
;
pdcp_p
->
integrityProtAlgorithm
=
0xff
;
pdcp_p
->
status_report
=
0
;
pdcp_p
->
rlc_mode
=
RLC_MODE_NONE
;
pdcp_p
->
next_pdcp_tx_sn
=
0
;
pdcp_p
->
next_pdcp_rx_sn
=
0
;
pdcp_p
->
tx_hfn
=
0
;
pdcp_p
->
rx_hfn
=
0
;
pdcp_p
->
last_submitted_pdcp_rx_sn
=
4095
;
pdcp_p
->
seq_num_size
=
0
;
pdcp_p
->
first_missing_pdu
=
-
1
;
pdcp_p
->
security_activated
=
0
;
/* Security keys */
if
(
pdcp_p
->
kUPenc
!=
NULL
)
{
free
(
pdcp_p
->
kUPenc
);
}
if
(
pdcp_p
->
kRRCint
!=
NULL
)
{
free
(
pdcp_p
->
kRRCint
);
}
if
(
pdcp_p
->
kRRCenc
!=
NULL
)
{
free
(
pdcp_p
->
kRRCenc
);
}
}
}
return
1
;
}
boolean_t
rrc_pdcp_config_asn1_req
(
const
module_id_t
enb_mod_idP
,
const
module_id_t
ue_mod_idP
,
...
...
openair2/LAYER2/PDCP_v10.1.0/pdcp.h
View file @
9a8dbf5d
...
...
@@ -348,6 +348,20 @@ public_pdcp(boolean_t pdcp_config_req_asn1 (
uint8_t
*
const
kRRCenc
,
uint8_t
*
const
kRRCint
,
uint8_t
*
const
kUPenc
));
/*! \fn boolean_t pdcp_remove_UE(const module_id_t enb_mod_idP,const module_id_t ue_mod_idP,const frame_t frameP)
* \brief Function for RRC to configure a Radio Bearer clear all PDCP resources for a particular UE
* \param[in] enb_mod_idP index of eNB
* \param[in] enb_mod_idP index of UE
* \param[in] frameP frame
* \return A status about the processing, OK or error code.
*/
public_pdcp
(
boolean_t
pdcp_remove_UE
(
const
module_id_t
enb_mod_idP
,
const
module_id_t
ue_mod_idP
,
const
frame_t
frameP
));
/*! \fn void rrc_pdcp_config_release(module_id_t, rb_id_t)
* \brief This functions is unused
* \param[in] module_id Module ID of relevant PDCP entity
...
...
openair2/LAYER2/RLC/rlc.h
View file @
9a8dbf5d
...
...
@@ -369,7 +369,7 @@ public_rlc_rrc(void
* \param[in] eNB_flagP Flag to indicate eNB (1) or UE (0)
* \return A status about the processing, OK or error code.
*/
public_rlc_rrc
(
rlc_op_status_t
rrc_rlc_remove_ue
(
const
module_id_t
enb_mod_idP
,
const
module_id_t
ue_mod_idP
,
const
eNB_flag_t
enb_flagP
,
const
frame_t
frameP
,
const
eNB_flag_t
enb_flagP
);)
public_rlc_rrc
(
rlc_op_status_t
rrc_rlc_remove_ue
(
const
module_id_t
enb_mod_idP
,
const
module_id_t
ue_mod_idP
,
const
frame_t
frameP
,
const
eNB_flag
);)
/*! \fn rlc_op_status_t rrc_rlc_remove_rlc (const module_id_t enb_mod_idP, const module_id_t ue_mod_idP, const frame_t frameP, const eNB_flag_t eNB_flagP, const srb_flag_t srb_flagP, const MBMS_flag_t MBMS_flagP, const rb_id_t rb_idP)
...
...
openair2/LAYER2/RLC/rlc_rrc.c
View file @
9a8dbf5d
...
...
@@ -473,7 +473,6 @@ rb_free_rlc_union (void *rlcu_pP)
rlc_op_status_t
rrc_rlc_remove_ue
(
const
module_id_t
enb_mod_idP
,
const
module_id_t
ue_mod_idP
,
const
eNB_flag_t
enb_flagP
,
const
frame_t
frameP
,
const
eNB_flag_t
enb_flagP
)
{
//-----------------------------------------------------------------------------
...
...
openair2/RRC/LITE/rrc_eNB.c
View file @
9a8dbf5d
...
...
@@ -543,7 +543,9 @@ void rrc_eNB_free_UE_index(
eNB_rrc_inst
[
enb_mod_idP
].
Info
.
UE
[
ue_mod_idP
].
Status
=
RRC_IDLE
;
eNB_rrc_inst
[
enb_mod_idP
].
Info
.
UE_list
[
ue_mod_idP
]
=
0
;
rrc_rlc_remove_rlc
(
enb_mod_idP
,
ue_mod_idP
,
frameP
,
ENB_FLAG_YES
,
SRB_FLAG_YES
,
MBMS_FLAG_NO
,
1
);
rrc_rlc_remove_ue
(
enb_mod_idP
,
ue_mod_idP
,
frameP
,
ENB_FLAG_YES
);
pdcp_remove_UE
(
enb_mod_idP
,
ue_mod_idP
,
frameP
);
free
(
eNB_rrc_inst
[
enb_mod_idP
].
SRB_configList
[
ue_mod_idP
]);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment