-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathdrb.h
135 lines (98 loc) · 3.48 KB
/
drb.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#ifndef __DRB_H__
#define __DRB_H__
#include "tunnel.h"
#include "ue_ctx.h"
#include "e1ap_comm.h"
#include "e1ap_bearer_modify.h"
#include "cuup.h"
#include "pfm_comm.h"
#include "pfm.h"
#include "cuup.h"
/*********************
drb_setup
Create a new drb entry with given drb_setup_req_info and create it's
drb_setup_succ_rsp_info if required. The entry if created successfully is
assigned to the ue_ctx but not committed.If entry creation failed creation of
failure response must be handled by caller.
@params
ue_ctx - pointer to the ue_ctx to populate
req - pointer to the drb_setup_req_info to create drb_entry
succ_rsp - pointer to the drb_setup_succ_rsp_info to populate
if the drb setup was successful
fail_rsp - pointer to the drb_setup_fail_rsp_info to populate in case
drb setup failed
@returns
pfm_retval_t - PFM_TRUE - if drb_entry creation was
successful, rsp will be set
PFM_FALSE - if drb_entry creation was
unsuccessful, rsp will not
be set and fail_rsp must
be set by caller
***********************/
pfm_retval_t
drb_setup(ue_ctx_t* ue_ctx,
drb_setup_req_info_t* req,
drb_setup_succ_rsp_info_t* succ_rsp,
drb_setup_fail_rsp_info_t* fail_rsp);
/**********************
drb_setup_fail_rsp_create
Create drb_setup_fail_rsp_info if creation of tunnel entry was unsuccessful
@params
req - pointer to drb_setup_req_info that failed drb_create
fail_rsp - pointer to drb_setup_fail_rsp_info that corresponds to
req
cause - The cause for drb_setup failure
@returns
void
**********************/
void
drb_setup_fail_rsp_create(drb_setup_req_info_t* req,
drb_setup_fail_rsp_info_t *fail_rsp,
e1ap_fail_cause_t cause);
/************************
drb_modify
To modify an existing pdus entry with given drb_setup_req_info and position in
drb_tunnel_list to modify the entry and reassign to list and create it's
responses fail or success depending on result, the drb in the requests are
modified and reassigned but not commited
@params
ue_ctx - pointer to the ue_ctx to populate
req - pointer to the drb_modify_req_info to create drb_entry
succ_rsp - pointer to the drb_modify_succ_rsp_info to populate
if the drb modification was successful
fail_rsp - pointer to the drb_modify_fail_rsp_info to populate if
the drb modification was unsuccessful
id_x - the index of the entry to be modified in drb_tunnel_list
@returns
pfm_retval_t - PFM_TRUE - if drb_entry creation was
successful, rsp will be set
PFM_FALSE - if drb_entry creation was
unsuccessful, rsp will not
be set and fail_rsp must
be set by caller
**************************/
pfm_retval_t
drb_modify(ue_ctx_t* ue_ctx,
drb_modify_req_info_t *req,
drb_setup_succ_rsp_info_t *succ_rsp,
drb_setup_fail_rsp_info_t *fail_rsp,
uint32_t idx);
/***************************
drb_modify_fail_rsp_create
create the failure response in case drb_modify fails filling in the required info
into the provided drb_modify_fail_rsp_info pointer
@params
req - pointer to the modify request that failed
fail_rsp - pointer to the fail response
cause - reason for failure
@returns
void
****************************/
void
drb_modify_fail_rsp_create(drb_modify_req_info_t *req,
drb_setup_fail_rsp_info_t *rsp,
e1ap_fail_cause_t cause);
pfm_retval_t drb_remove(tunnel_key_t *tunnel_key);
pfm_retval_t drb_commit(tunnel_t *nt);
pfm_retval_t drb_rollback(tunnel_t *nt);
#endif