Merge branch 'bler_txoptim' of https://gitlab.eurecom.fr/oai/openairinterface5g into bler_txoptim
This commit is contained in:
@@ -97,35 +97,6 @@ rrc_init_global_param(
|
||||
//-----------------------------------------------------------------------------
|
||||
{
|
||||
|
||||
//#ifdef USER_MODE
|
||||
// Rrc_xface = (RRC_XFACE*)malloc16(sizeof(RRC_XFACE));
|
||||
//#endif //USRE_MODE
|
||||
|
||||
// Rrc_xface->openair_rrc_top_init = openair_rrc_top_init;
|
||||
// Rrc_xface->openair_rrc_eNB_init = openair_rrc_eNB_init;
|
||||
// Rrc_xface->openair_rrc_UE_init = openair_rrc_ue_init;
|
||||
// Rrc_xface->mac_rrc_data_ind = mac_rrc_data_ind;
|
||||
//Rrc_xface->mac_rrc_data_req = mac_rrc_data_req;
|
||||
// Rrc_xface->rrc_data_indP = (void *)rlcrrc_data_ind;
|
||||
// Rrc_xface->rrc_rx_tx = rrc_rx_tx;
|
||||
// Rrc_xface->mac_rrc_meas_ind = mac_rrc_meas_ind;
|
||||
// Rrc_xface->get_rrc_status = get_rrc_status;
|
||||
|
||||
//Rrc_xface->rrc_get_status = ...
|
||||
|
||||
// Mac_rlc_xface->mac_out_of_sync_ind=mac_out_of_sync_ind;
|
||||
|
||||
#ifndef NO_RRM
|
||||
// Rrc_xface->fn_rrc=fn_rrc;
|
||||
#endif
|
||||
// LOG_D(RRC, "[RRC]INIT_GLOBAL_PARAM: Mac_rlc_xface %p, rrc_rlc_register %p,rlcrrc_data_ind%p\n",Mac_rlc_xface,Mac_rlc_xface->rrc_rlc_register_rrc,rlcrrc_data_ind);
|
||||
/*
|
||||
if((Mac_rlc_xface==NULL) || (Mac_rlc_xface->rrc_rlc_register_rrc==NULL) ||
|
||||
(rlcrrc_data_ind==NULL)) {
|
||||
LOG_E(RRC,"Data structured is not initialized \n");
|
||||
return -1;
|
||||
}
|
||||
*/
|
||||
rrc_rlc_register_rrc (rrc_data_ind, NULL); //register with rlc
|
||||
|
||||
DCCH_LCHAN_DESC.transport_block_size = 4;
|
||||
|
||||
@@ -28,7 +28,6 @@
|
||||
* \email: raymond.knopp@eurecom.fr ,navid.nikaein@eurecom.fr, michele.paffetti@studio.unibo.it
|
||||
*/
|
||||
|
||||
#ifdef USER_MODE
|
||||
#include <stdio.h>
|
||||
#include <sys/types.h>
|
||||
#include <stdlib.h> /* for atoi(3) */
|
||||
@@ -36,9 +35,6 @@
|
||||
#include <string.h> /* for strerror(3) */
|
||||
#include <sysexits.h> /* for EX_* exit codes */
|
||||
#include <errno.h> /* for errno */
|
||||
#else
|
||||
#include <linux/module.h> /* Needed by all modules */
|
||||
#endif
|
||||
|
||||
#include <asn_application.h>
|
||||
#include <asn_internal.h> /* for _ASN_DEFAULT_STACK_MAX */
|
||||
|
||||
@@ -1,522 +0,0 @@
|
||||
diff -cB /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/asn_codecs_prim.c patch_dir/asn_codecs_prim.c
|
||||
*** /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/asn_codecs_prim.c 2011-03-31 10:22:56.000000000 +0200
|
||||
--- patch_dir/asn_codecs_prim.c 2011-05-31 10:28:26.000000000 +0200
|
||||
***************
|
||||
*** 4,10 ****
|
||||
*/
|
||||
#include <asn_internal.h>
|
||||
#include <asn_codecs_prim.h>
|
||||
- #include <errno.h>
|
||||
|
||||
/*
|
||||
* Decode an always-primitive type.
|
||||
--- 4,9 ----
|
||||
diff -cB /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/asn_internal.h patch_dir/asn_internal.h
|
||||
*** /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/asn_internal.h 2011-03-31 10:22:57.000000000 +0200
|
||||
--- patch_dir/asn_internal.h 2011-05-31 10:28:26.000000000 +0200
|
||||
***************
|
||||
*** 10,20 ****
|
||||
--- 10,31 ----
|
||||
#define _ASN_INTERNAL_H_
|
||||
|
||||
#include "asn_application.h" /* Application-visible API */
|
||||
+ #ifndef USER_MODE
|
||||
+ #include <rtai.h>
|
||||
+ #include <rtai_malloc.h>
|
||||
+ #include "rtai_mem.h"
|
||||
+ #endif
|
||||
|
||||
#ifndef __NO_ASSERT_H__ /* Include assert.h only for internal use. */
|
||||
#include <assert.h> /* for assert() macro */
|
||||
#endif
|
||||
|
||||
+ #ifndef USER_MODE
|
||||
+ #ifndef assert
|
||||
+ #define assert(expr) ((expr) ? (void) 0 : printk("Assertion failed in %s:%d\n", __FILE__, __LINE__))
|
||||
+ #endif
|
||||
+ #endif
|
||||
+
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
***************
|
||||
*** 23,32 ****
|
||||
--- 34,51 ----
|
||||
#define ASN1C_ENVIRONMENT_VERSION 922 /* Compile-time version */
|
||||
int get_asn1c_environment_version(void); /* Run-time version */
|
||||
|
||||
+ #ifdef USER_MODE
|
||||
#define CALLOC(nmemb, size) calloc(nmemb, size)
|
||||
#define MALLOC(size) malloc(size)
|
||||
#define REALLOC(oldptr, size) realloc(oldptr, size)
|
||||
#define FREEMEM(ptr) free(ptr)
|
||||
+ #else
|
||||
+ #define CALLOC(nmemb, size) rt_calloc(nmemb,size)
|
||||
+ #define MALLOC(size) rt_malloc(size)
|
||||
+ #define REALLOC(oldptr, size) rt_realloc(oldptr, size)
|
||||
+ #define FREEMEM(ptr) rt_free(ptr);
|
||||
+ #endif
|
||||
+
|
||||
|
||||
/*
|
||||
* A macro for debugging the ASN.1 internals.
|
||||
***************
|
||||
*** 38,45 ****
|
||||
#ifdef ASN_THREAD_SAFE
|
||||
#define asn_debug_indent 0
|
||||
#else /* !ASN_THREAD_SAFE */
|
||||
! int asn_debug_indent;
|
||||
#endif /* ASN_THREAD_SAFE */
|
||||
#define ASN_DEBUG(fmt, args...) do { \
|
||||
int adi = asn_debug_indent; \
|
||||
while(adi--) fprintf(stderr, " "); \
|
||||
--- 57,65 ----
|
||||
#ifdef ASN_THREAD_SAFE
|
||||
#define asn_debug_indent 0
|
||||
#else /* !ASN_THREAD_SAFE */
|
||||
! extern int asn_debug_indent;
|
||||
#endif /* ASN_THREAD_SAFE */
|
||||
+ #ifdef USER_MODE
|
||||
#define ASN_DEBUG(fmt, args...) do { \
|
||||
int adi = asn_debug_indent; \
|
||||
while(adi--) fprintf(stderr, " "); \
|
||||
***************
|
||||
*** 47,52 ****
|
||||
--- 67,81 ----
|
||||
fprintf(stderr, " (%s:%d)\n", \
|
||||
__FILE__, __LINE__); \
|
||||
} while(0)
|
||||
+ #else
|
||||
+ #define ASN_DEBUG(fmt, args...) do { \
|
||||
+ int adi = asn_debug_indent; \
|
||||
+ while(adi--) printk(" "); \
|
||||
+ printk(fmt, ##args); \
|
||||
+ printk(" (%s:%d)\n", \
|
||||
+ __FILE__, __LINE__); \
|
||||
+ } while(0)
|
||||
+ #endif
|
||||
#else /* !__GNUC__ */
|
||||
void ASN_DEBUG_f(const char *fmt, ...);
|
||||
#define ASN_DEBUG ASN_DEBUG_f
|
||||
diff -cB /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/asn_SET_OF.c patch_dir/asn_SET_OF.c
|
||||
*** /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/asn_SET_OF.c 2011-03-31 10:22:56.000000000 +0200
|
||||
--- patch_dir/asn_SET_OF.c 2011-05-31 10:28:26.000000000 +0200
|
||||
***************
|
||||
*** 4,10 ****
|
||||
*/
|
||||
#include <asn_internal.h>
|
||||
#include <asn_SET_OF.h>
|
||||
- #include <errno.h>
|
||||
|
||||
/*
|
||||
* Add another element into the set.
|
||||
--- 4,9 ----
|
||||
***************
|
||||
*** 21,26 ****
|
||||
--- 20,27 ----
|
||||
/*
|
||||
* Make sure there's enough space to insert an element.
|
||||
*/
|
||||
+ ASN_DEBUG("SET ADD: count %d, size %d",as->count,as->size);
|
||||
+
|
||||
if(as->count == as->size) {
|
||||
int _newsize = as->size ? (as->size << 1) : 4;
|
||||
void *_new_arr;
|
||||
diff -cB /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/asn_system.h patch_dir/asn_system.h
|
||||
*** /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/asn_system.h 2011-03-31 10:22:57.000000000 +0200
|
||||
--- patch_dir/asn_system.h 2011-05-31 10:28:26.000000000 +0200
|
||||
***************
|
||||
*** 13,25 ****
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
! #include <stdio.h> /* For snprintf(3) */
|
||||
! #include <stdlib.h> /* For *alloc(3) */
|
||||
! #include <string.h> /* For memcpy(3) */
|
||||
! #include <sys/types.h> /* For size_t */
|
||||
! #include <limits.h> /* For LONG_MAX */
|
||||
! #include <stdarg.h> /* For va_start */
|
||||
! #include <stddef.h> /* for offsetof and ptrdiff_t */
|
||||
|
||||
#ifdef WIN32
|
||||
|
||||
--- 13,39 ----
|
||||
#include "config.h"
|
||||
#endif
|
||||
|
||||
! #ifdef USER_MODE
|
||||
! #include <stdio.h> // For snprintf(3)
|
||||
! #include <stdlib.h> // For *alloc(3)
|
||||
! #include <string.h> // For memcpy(3)
|
||||
! #include <sys/types.h> // For size_t
|
||||
! #include <limits.h> // For LONG_MAX
|
||||
! #include <stdarg.h> // For va_start
|
||||
! #include <stddef.h> // for offsetof and ptrdiff_t
|
||||
! #include <errno.h> // For errno
|
||||
! #else
|
||||
! typedef char FILE;
|
||||
! #include <linux/types.h>
|
||||
! #include <linux/slab.h> // For snprintf
|
||||
! #include <linux/sort.h> // For sort
|
||||
! #define qsort(base,num,size,cmp_func) sort(base,num,size,cmp_func,NULL)
|
||||
! #include <linux/errno.h>// For errno
|
||||
! #ifndef errno
|
||||
! extern int errno;
|
||||
! #endif
|
||||
! #include "bsearch.h"
|
||||
! #endif
|
||||
|
||||
#ifdef WIN32
|
||||
|
||||
***************
|
||||
*** 63,69 ****
|
||||
#include <types/vxTypes.h>
|
||||
#else /* !defined(__vxworks) */
|
||||
|
||||
! #include <inttypes.h> /* C99 specifies this file */
|
||||
/*
|
||||
* 1. Earlier FreeBSD version didn't have <stdint.h>,
|
||||
* but <inttypes.h> was present.
|
||||
--- 77,85 ----
|
||||
#include <types/vxTypes.h>
|
||||
#else /* !defined(__vxworks) */
|
||||
|
||||
! #ifdef USER_MODE
|
||||
! #include <inttypes.h> /*C99 specifies this file */
|
||||
! #endif
|
||||
/*
|
||||
* 1. Earlier FreeBSD version didn't have <stdint.h>,
|
||||
* but <inttypes.h> was present.
|
||||
***************
|
||||
*** 81,91 ****
|
||||
#define inline
|
||||
#endif /* __GNUC__ */
|
||||
#else
|
||||
! #include <stdint.h> /* SUSv2+ and C99 specify this file, for uintXX_t */
|
||||
#endif /* defined(sun) */
|
||||
#endif
|
||||
|
||||
! #include <netinet/in.h> /* for ntohl() */
|
||||
#define sys_ntohl(foo) ntohl(foo)
|
||||
|
||||
#endif /* defined(__vxworks) */
|
||||
--- 97,109 ----
|
||||
#define inline
|
||||
#endif /* __GNUC__ */
|
||||
#else
|
||||
! #ifdef USER_MODE
|
||||
! #include <stdint.h> /*SUSv2+ and C99 specify this file, for uintXX_t */
|
||||
! #endif
|
||||
#endif /* defined(sun) */
|
||||
#endif
|
||||
|
||||
! /*#include <netinet/in.h> for ntohl() */
|
||||
#define sys_ntohl(foo) ntohl(foo)
|
||||
|
||||
#endif /* defined(__vxworks) */
|
||||
diff -cB /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/ber_tlv_tag.c patch_dir/ber_tlv_tag.c
|
||||
*** /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/ber_tlv_tag.c 2011-03-31 10:22:56.000000000 +0200
|
||||
--- patch_dir/ber_tlv_tag.c 2011-05-31 10:28:26.000000000 +0200
|
||||
***************
|
||||
*** 4,10 ****
|
||||
*/
|
||||
#include <asn_internal.h>
|
||||
#include <ber_tlv_tag.h>
|
||||
- #include <errno.h>
|
||||
|
||||
ssize_t
|
||||
ber_fetch_tag(const void *ptr, size_t size, ber_tlv_tag_t *tag_r) {
|
||||
--- 4,9 ----
|
||||
***************
|
||||
*** 57,63 ****
|
||||
return 0; /* Want more */
|
||||
}
|
||||
|
||||
!
|
||||
ssize_t
|
||||
ber_tlv_tag_fwrite(ber_tlv_tag_t tag, FILE *f) {
|
||||
char buf[sizeof("[APPLICATION ]") + 32];
|
||||
--- 56,62 ----
|
||||
return 0; /* Want more */
|
||||
}
|
||||
|
||||
! #ifdef USER_MODE
|
||||
ssize_t
|
||||
ber_tlv_tag_fwrite(ber_tlv_tag_t tag, FILE *f) {
|
||||
char buf[sizeof("[APPLICATION ]") + 32];
|
||||
***************
|
||||
*** 71,76 ****
|
||||
--- 70,76 ----
|
||||
|
||||
return fwrite(buf, 1, ret, f);
|
||||
}
|
||||
+ #endif
|
||||
|
||||
ssize_t
|
||||
ber_tlv_tag_snprint(ber_tlv_tag_t tag, char *buf, size_t size) {
|
||||
diff -cB /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/constraints.c patch_dir/constraints.c
|
||||
*** /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/constraints.c 2011-03-31 10:22:57.000000000 +0200
|
||||
--- patch_dir/constraints.c 2011-05-31 10:28:26.000000000 +0200
|
||||
***************
|
||||
*** 1,4 ****
|
||||
! #include "asn_internal.h"
|
||||
#include "constraints.h"
|
||||
|
||||
int
|
||||
--- 1,4 ----
|
||||
! #include <asn_internal.h>
|
||||
#include "constraints.h"
|
||||
|
||||
int
|
||||
diff -cB /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/constr_TYPE.c patch_dir/constr_TYPE.c
|
||||
*** /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/constr_TYPE.c 2011-03-31 10:22:56.000000000 +0200
|
||||
--- patch_dir/constr_TYPE.c 2011-05-31 10:28:26.000000000 +0200
|
||||
***************
|
||||
*** 4,10 ****
|
||||
*/
|
||||
#include <asn_internal.h>
|
||||
#include <constr_TYPE.h>
|
||||
- #include <errno.h>
|
||||
|
||||
/*
|
||||
* Version of the ASN.1 infrastructure shipped with compiler.
|
||||
--- 4,9 ----
|
||||
***************
|
||||
*** 29,34 ****
|
||||
--- 28,34 ----
|
||||
return type_descriptor->outmost_tag(type_descriptor, struct_ptr, 0, 0);
|
||||
}
|
||||
|
||||
+ #ifdef USER_MODE
|
||||
/*
|
||||
* Print the target language's structure in human readable form.
|
||||
*/
|
||||
***************
|
||||
*** 75,77 ****
|
||||
--- 75,78 ----
|
||||
fprintf(stderr, "\n");
|
||||
va_end(ap);
|
||||
}
|
||||
+ #endif
|
||||
diff -cB /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/der_encoder.c patch_dir/der_encoder.c
|
||||
*** /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/der_encoder.c 2011-03-31 10:22:56.000000000 +0200
|
||||
--- patch_dir/der_encoder.c 2011-05-31 10:28:26.000000000 +0200
|
||||
***************
|
||||
*** 3,9 ****
|
||||
* Redistribution and modifications are permitted subject to BSD license.
|
||||
*/
|
||||
#include <asn_internal.h>
|
||||
- #include <errno.h>
|
||||
|
||||
static ssize_t der_write_TL(ber_tlv_tag_t tag, ber_tlv_len_t len,
|
||||
asn_app_consume_bytes_f *cb, void *app_key, int constructed);
|
||||
--- 3,8 ----
|
||||
***************
|
||||
*** 81,89 ****
|
||||
--- 80,90 ----
|
||||
asn_app_consume_bytes_f *cb,
|
||||
void *app_key) {
|
||||
ber_tlv_tag_t *tags; /* Copy of tags stream */
|
||||
+ ber_tlv_tag_t tags_array[8];
|
||||
int tags_count; /* Number of tags */
|
||||
size_t overall_length;
|
||||
ssize_t *lens;
|
||||
+ ssize_t lens_array[8];
|
||||
int i;
|
||||
|
||||
ASN_DEBUG("Writing tags (%s, tm=%d, tc=%d, tag=%s, mtc=%d)",
|
||||
***************
|
||||
*** 102,111 ****
|
||||
* and initialize it appropriately.
|
||||
*/
|
||||
int stag_offset;
|
||||
! tags = (ber_tlv_tag_t *)alloca((sd->tags_count + 1) * sizeof(ber_tlv_tag_t));
|
||||
if(!tags) { /* Can fail on !x86 */
|
||||
! errno = ENOMEM;
|
||||
! return -1;
|
||||
}
|
||||
tags_count = sd->tags_count
|
||||
+ 1 /* EXPLICIT or IMPLICIT tag is given */
|
||||
--- 103,121 ----
|
||||
* and initialize it appropriately.
|
||||
*/
|
||||
int stag_offset;
|
||||
! //tags = (ber_tlv_tag_t *)alloca((sd->tags_count + 1) * sizeof(ber_tlv_tag_t));
|
||||
! tags = &(tags_array[0]);
|
||||
! if ((sd->tags_count + 1)>=8) {
|
||||
! #ifdef USER_MODE
|
||||
! printf("der_encoder.c: ERROR tags array too small. Increase size!\n");
|
||||
! exit(-1);
|
||||
! #endif
|
||||
! errno = ENOMEM;
|
||||
! return -1;
|
||||
! }
|
||||
if(!tags) { /* Can fail on !x86 */
|
||||
! errno = ENOMEM;
|
||||
! return -1;
|
||||
}
|
||||
tags_count = sd->tags_count
|
||||
+ 1 /* EXPLICIT or IMPLICIT tag is given */
|
||||
***************
|
||||
*** 124,135 ****
|
||||
if(tags_count == 0)
|
||||
return 0;
|
||||
|
||||
! lens = (ssize_t *)alloca(tags_count * sizeof(lens[0]));
|
||||
if(!lens) {
|
||||
! errno = ENOMEM;
|
||||
! return -1;
|
||||
}
|
||||
!
|
||||
/*
|
||||
* Array of tags is initialized.
|
||||
* Now, compute the size of the TLV pairs, from right to left.
|
||||
--- 134,154 ----
|
||||
if(tags_count == 0)
|
||||
return 0;
|
||||
|
||||
! //lens = (ssize_t *)alloca(tags_count * sizeof(lens[0]));
|
||||
! lens = &(lens_array[0]);
|
||||
! if (tags_count>=8) {
|
||||
! #ifdef USER_MODE
|
||||
! printf("der_encoder.c: ERROR lens array too small. Increase size!\n");
|
||||
! exit(-1);
|
||||
! #endif
|
||||
! errno = ENOMEM;
|
||||
! return -1;
|
||||
! }
|
||||
if(!lens) {
|
||||
! errno = ENOMEM;
|
||||
! return -1;
|
||||
}
|
||||
!
|
||||
/*
|
||||
* Array of tags is initialized.
|
||||
* Now, compute the size of the TLV pairs, from right to left.
|
||||
diff -cB /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/INTEGER.c patch_dir/INTEGER.c
|
||||
*** /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/INTEGER.c 2011-03-31 10:22:56.000000000 +0200
|
||||
--- patch_dir/INTEGER.c 2011-05-31 10:28:26.000000000 +0200
|
||||
***************
|
||||
*** 6,12 ****
|
||||
#include <asn_internal.h>
|
||||
#include <INTEGER.h>
|
||||
#include <asn_codecs_prim.h> /* Encoder and decoder of a primitive type */
|
||||
- #include <errno.h>
|
||||
|
||||
/*
|
||||
* INTEGER basic type description.
|
||||
--- 6,11 ----
|
||||
***************
|
||||
*** 103,109 ****
|
||||
static ssize_t
|
||||
INTEGER__dump(asn_TYPE_descriptor_t *td, const INTEGER_t *st, asn_app_consume_bytes_f *cb, void *app_key, int plainOrXER) {
|
||||
asn_INTEGER_specifics_t *specs=(asn_INTEGER_specifics_t *)td->specifics;
|
||||
! char scratch[32]; /* Enough for 64-bit integer */
|
||||
uint8_t *buf = st->buf;
|
||||
uint8_t *buf_end = st->buf + st->size;
|
||||
signed long accum;
|
||||
--- 102,108 ----
|
||||
static ssize_t
|
||||
INTEGER__dump(asn_TYPE_descriptor_t *td, const INTEGER_t *st, asn_app_consume_bytes_f *cb, void *app_key, int plainOrXER) {
|
||||
asn_INTEGER_specifics_t *specs=(asn_INTEGER_specifics_t *)td->specifics;
|
||||
! char scratch[128];
|
||||
uint8_t *buf = st->buf;
|
||||
uint8_t *buf_end = st->buf + st->size;
|
||||
signed long accum;
|
||||
***************
|
||||
*** 142,149 ****
|
||||
--- 141,152 ----
|
||||
|
||||
el = INTEGER_map_value2enum(specs, accum);
|
||||
if(el) {
|
||||
+ scrsize = sizeof(scratch);
|
||||
+ scr = scratch;
|
||||
+ /* cannot use alloca in kernel
|
||||
scrsize = el->enum_len + 32;
|
||||
scr = (char *)alloca(scrsize);
|
||||
+ */
|
||||
if(plainOrXER == 0)
|
||||
ret = snprintf(scr, scrsize,
|
||||
"%ld (%s)", accum, el->enum_name);
|
||||
diff -cB /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/NativeEnumerated.c patch_dir/NativeEnumerated.c
|
||||
*** /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/NativeEnumerated.c 2011-03-31 10:22:57.000000000 +0200
|
||||
--- patch_dir/NativeEnumerated.c 2011-05-31 10:28:26.000000000 +0200
|
||||
***************
|
||||
*** 46,51 ****
|
||||
--- 46,52 ----
|
||||
asn_app_consume_bytes_f *cb, void *app_key) {
|
||||
asn_INTEGER_specifics_t *specs=(asn_INTEGER_specifics_t *)td->specifics;
|
||||
asn_enc_rval_t er;
|
||||
+ char scratch[128];
|
||||
const long *native = (const long *)sptr;
|
||||
const asn_INTEGER_enum_map_t *el;
|
||||
|
||||
***************
|
||||
*** 57,63 ****
|
||||
el = INTEGER_map_value2enum(specs, *native);
|
||||
if(el) {
|
||||
size_t srcsize = el->enum_len + 5;
|
||||
! char *src = (char *)alloca(srcsize);
|
||||
|
||||
er.encoded = snprintf(src, srcsize, "<%s/>", el->enum_name);
|
||||
assert(er.encoded > 0 && (size_t)er.encoded < srcsize);
|
||||
--- 58,64 ----
|
||||
el = INTEGER_map_value2enum(specs, *native);
|
||||
if(el) {
|
||||
size_t srcsize = el->enum_len + 5;
|
||||
! char *src = (char *)scratch; //alloca(srcsize);
|
||||
|
||||
er.encoded = snprintf(src, srcsize, "<%s/>", el->enum_name);
|
||||
assert(er.encoded > 0 && (size_t)er.encoded < srcsize);
|
||||
diff -cB /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/OCTET_STRING.c patch_dir/OCTET_STRING.c
|
||||
*** /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/OCTET_STRING.c 2011-03-31 10:22:55.000000000 +0200
|
||||
--- patch_dir/OCTET_STRING.c 2011-05-31 10:28:26.000000000 +0200
|
||||
***************
|
||||
*** 6,12 ****
|
||||
#include <asn_internal.h>
|
||||
#include <OCTET_STRING.h>
|
||||
#include <BIT_STRING.h> /* for .bits_unused member */
|
||||
- #include <errno.h>
|
||||
|
||||
/*
|
||||
* OCTET STRING basic type description.
|
||||
--- 6,11 ----
|
||||
diff -cB /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/xer_encoder.c patch_dir/xer_encoder.c
|
||||
*** /homes/kaltenbe/Devel/openair/openair_branches/openair_lte/openair2/RRC/LITE/MESSAGES/asn1c/asn1c/skeletons/xer_encoder.c 2011-04-11 18:03:26.000000000 +0200
|
||||
--- patch_dir/xer_encoder.c 2011-05-31 10:28:26.000000000 +0200
|
||||
***************
|
||||
*** 3,10 ****
|
||||
* Redistribution and modifications are permitted subject to BSD license.
|
||||
*/
|
||||
#include <asn_internal.h>
|
||||
! #include <stdio.h>
|
||||
! #include <errno.h>
|
||||
|
||||
/*
|
||||
* The XER encoder of any type. May be invoked by the application.
|
||||
--- 3,10 ----
|
||||
* Redistribution and modifications are permitted subject to BSD license.
|
||||
*/
|
||||
#include <asn_internal.h>
|
||||
! //#include <stdio.h>
|
||||
! //#include <errno.h>
|
||||
|
||||
/*
|
||||
* The XER encoder of any type. May be invoked by the application.
|
||||
***************
|
||||
*** 41,46 ****
|
||||
--- 41,47 ----
|
||||
* This is a helper function for xer_fprint, which directs all incoming data
|
||||
* into the provided file descriptor.
|
||||
*/
|
||||
+ #ifdef USER_MODE
|
||||
static int
|
||||
xer__print2fp(const void *buffer, size_t size, void *app_key) {
|
||||
FILE *stream = (FILE *)app_key;
|
||||
***************
|
||||
*** 65,67 ****
|
||||
--- 66,69 ----
|
||||
|
||||
return fflush(stream);
|
||||
}
|
||||
+ #endif
|
||||
@@ -393,15 +393,7 @@ char openair_rrc_ue_init( const module_id_t ue_mod_idP, const unsigned char eNB_
|
||||
init_SI_UE(&ctxt,eNB_index);
|
||||
LOG_D(RRC,PROTOCOL_RRC_CTXT_FMT" INIT: phy_sync_2_ch_ind\n",
|
||||
PROTOCOL_RRC_CTXT_ARGS(&ctxt));
|
||||
#ifndef NO_RRM
|
||||
send_msg(&S_rrc,msg_rrc_phy_synch_to_CH_ind(ctxt.module_id,eNB_index,UE_rrc_inst[ctxt.module_id].Mac_id));
|
||||
#endif
|
||||
#ifndef NO_RRM
|
||||
send_msg(&S_rrc,msg_rrc_phy_synch_to_CH_ind(ctxt.module_id,eNB_index,UE_rrc_inst[ctxt.module_id].Mac_id));
|
||||
#endif
|
||||
#ifdef NO_RRM //init ch SRB0, SRB1 & BDTCH
|
||||
openair_rrc_on_ue(&ctxt);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -2249,9 +2241,6 @@ rrc_ue_decode_dcch(
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef NO_RRM
|
||||
send_msg(&S_rrc,msg_rrc_end_scan_req(ctxt_pP->module_id,eNB_indexP));
|
||||
#endif
|
||||
}
|
||||
|
||||
const char siWindowLength[9][5] = {"1ms","2ms","5ms","10ms","15ms","20ms","40ms","80ms","ERR"};
|
||||
@@ -2530,14 +2519,6 @@ int decode_BCCH_MBMS_DLSCH_Message(
|
||||
break;
|
||||
}
|
||||
}*/
|
||||
/*if ((rrc_get_sub_state(ctxt_pP->module_id) == RRC_SUB_STATE_IDLE_SIB_COMPLETE)
|
||||
#if defined(ENABLE_USE_MME)
|
||||
&& (UE_rrc_inst[ctxt_pP->module_id].initialNasMsg.data != NULL)
|
||||
#endif
|
||||
) {
|
||||
rrc_ue_generate_RRCConnectionRequest(ctxt_pP, 0);
|
||||
rrc_set_sub_state( ctxt_pP->module_id, RRC_SUB_STATE_IDLE_CONNECTING );
|
||||
}*/
|
||||
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME( VCD_SIGNAL_DUMPER_FUNCTIONS_UE_DECODE_BCCH, VCD_FUNCTION_OUT );
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -173,13 +173,6 @@ extern pthread_mutex_t slrb_mutex;
|
||||
//the thread function
|
||||
void *send_UE_status_notification(void *);
|
||||
|
||||
|
||||
|
||||
//#include "COMMON/openair_defs.h"
|
||||
#ifndef USER_MODE
|
||||
//#include <rtai.h>
|
||||
#endif
|
||||
|
||||
#include "LTE_SystemInformationBlockType1.h"
|
||||
#include "LTE_SystemInformation.h"
|
||||
#include "LTE_RRCConnectionReconfiguration.h"
|
||||
@@ -217,12 +210,6 @@ void *send_UE_status_notification(void *);
|
||||
#define NB_SIG_CNX_UE 2 //MAX_MANAGED_RG_PER_MOBILE
|
||||
#define NB_CNX_UE 2//MAX_MANAGED_RG_PER_MOBILE
|
||||
|
||||
#ifndef NO_RRM
|
||||
#include "L3_rrc_interface.h"
|
||||
#include "rrc_rrm_msg.h"
|
||||
#include "rrc_rrm_interface.h"
|
||||
#endif
|
||||
|
||||
|
||||
#include "intertask_interface.h"
|
||||
|
||||
|
||||
@@ -7279,9 +7279,6 @@ rrc_eNB_decode_ccch(
|
||||
PROTOCOL_RRC_CTXT_UE_ARGS(ctxt_pP),
|
||||
rrcConnectionReestablishmentRequest->ue_Identity.physCellId,
|
||||
ue_context_p->ue_context.reestablishment_cause);
|
||||
#ifndef NO_RRM
|
||||
send_msg(&S_rrc, msg_rrc_MR_attach_ind(ctxt_pP->module_id, Mac_id));
|
||||
#else
|
||||
ue_context_p->ue_context.primaryCC_id = CC_id;
|
||||
//LG COMMENT Idx = (ue_mod_idP * NB_RB_MAX) + DCCH;
|
||||
Idx = DCCH;
|
||||
@@ -7335,7 +7332,6 @@ rrc_eNB_decode_ccch(
|
||||
);
|
||||
}
|
||||
|
||||
#endif //NO_RRM
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -7524,9 +7520,6 @@ rrc_eNB_decode_ccch(
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef NO_RRM
|
||||
send_msg(&S_rrc, msg_rrc_MR_attach_ind(ctxt_pP->module_id, Mac_id));
|
||||
#else
|
||||
ue_context_p->ue_context.primaryCC_id = CC_id;
|
||||
//LG COMMENT Idx = (ue_mod_idP * NB_RB_MAX) + DCCH;
|
||||
Idx = DCCH;
|
||||
@@ -7579,7 +7572,6 @@ rrc_eNB_decode_ccch(
|
||||
);
|
||||
}
|
||||
|
||||
#endif //NO_RRM
|
||||
break;
|
||||
|
||||
default:
|
||||
|
||||
@@ -1,277 +0,0 @@
|
||||
/*
|
||||
* Licensed to the OpenAirInterface (OAI) Software Alliance under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
* this work for additional information regarding copyright ownership.
|
||||
* The OpenAirInterface Software Alliance licenses this file to You under
|
||||
* the OAI Public License, Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* http://www.openairinterface.org/?page_id=698
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*-------------------------------------------------------------------------------
|
||||
* For more information about the OpenAirInterface (OAI) Software Alliance:
|
||||
* contact@openairinterface.org
|
||||
*/
|
||||
|
||||
/*!
|
||||
*******************************************************************************
|
||||
|
||||
\file rrm_sock.c
|
||||
|
||||
\brief RRM (Radio Ressource Manager ) Socket: communication withe other medium:
|
||||
- RRC ,
|
||||
- CMM ,
|
||||
- PUSU
|
||||
|
||||
\author BURLOT Pascal
|
||||
|
||||
\date 10/07/08
|
||||
|
||||
|
||||
\par Historique:
|
||||
P.BURLOT 2009-01-20
|
||||
+ send a message via fifo:
|
||||
- sending header
|
||||
- and data if any
|
||||
|
||||
*******************************************************************************
|
||||
*/
|
||||
|
||||
#ifndef RRC_RRM_FIFOS_XFACE
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include <sys/socket.h>
|
||||
#include <sys/un.h>
|
||||
|
||||
#else
|
||||
|
||||
#include<rtai_fifos.h>
|
||||
|
||||
#endif
|
||||
|
||||
#include "rrc_rrm_interface.h"
|
||||
#include "defs.h"
|
||||
//! \brief Taille maximale de la charge utile
|
||||
#define SIZE_MAX_PAYLOAD 2048
|
||||
//! \brief PID de l'espace utilisateur (Netlink mode)
|
||||
//#define PID_USERSPACE 0xAA
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifndef RRC_RRM_FIFOS_XFACE
|
||||
|
||||
/*!
|
||||
*******************************************************************************
|
||||
\brief This function opens a unix socket for the rrm communication
|
||||
\return The return value is a socket handle
|
||||
*/
|
||||
int open_socket(
|
||||
sock_rrm_t *s, ///< socket descriptor
|
||||
char *path_local, ///< local socket path if unix socket
|
||||
char *path_dest, ///< host Socket path if unix socket
|
||||
int rrm_inst ///< instance of the rrm entity
|
||||
) {
|
||||
/* Unix socket */
|
||||
int socket_fd ;
|
||||
int len ;
|
||||
|
||||
if ((socket_fd = socket(AF_UNIX, SOCK_DGRAM, 0)) == -1) {
|
||||
perror("unix socket");
|
||||
return -1 ;
|
||||
}
|
||||
|
||||
memset(&(s->un_local_addr), 0, sizeof(struct sockaddr_un));
|
||||
s->un_local_addr.sun_family = AF_UNIX;
|
||||
sprintf(s->un_local_addr.sun_path,"%s%d", path_local, rrm_inst );
|
||||
unlink(s->un_local_addr.sun_path);
|
||||
msg("local %s\n",s->un_local_addr.sun_path);
|
||||
len = strlen((s->un_local_addr).sun_path) + sizeof((s->un_local_addr).sun_family);
|
||||
|
||||
if (bind(socket_fd, (struct sockaddr *)&(s->un_local_addr), len) == -1) {
|
||||
perror("bind");
|
||||
return -1 ;
|
||||
}
|
||||
|
||||
memset(&(s->un_dest_addr), 0, sizeof(struct sockaddr_un));
|
||||
s->un_dest_addr.sun_family = AF_UNIX;
|
||||
sprintf(s->un_dest_addr.sun_path,"%s%d", path_dest, rrm_inst );
|
||||
msg("Dest %s\n",s->un_dest_addr.sun_path);
|
||||
s->s = socket_fd ;
|
||||
return socket_fd ;
|
||||
}
|
||||
/*!
|
||||
*******************************************************************************
|
||||
\brief This function closes a RRM socket
|
||||
\return none
|
||||
*/
|
||||
void close_socket(
|
||||
sock_rrm_t *sock ///< the socket handle
|
||||
) {
|
||||
shutdown(sock->s, SHUT_RDWR);
|
||||
close(sock->s);
|
||||
}
|
||||
|
||||
/*!
|
||||
*******************************************************************************
|
||||
\brief This function send a buffer message to the unix socket
|
||||
\return if OK then "0" is returned else "-1"
|
||||
*/
|
||||
char BUFF[2048];
|
||||
int send_msg_sock(
|
||||
sock_rrm_t *s, ///< socket descriptor
|
||||
msg_t *smsg ///< the message to send
|
||||
) {
|
||||
/* Unix socket */
|
||||
int ret = 0 ;
|
||||
// char *buf = NULL;
|
||||
struct msghdr msghd ;
|
||||
struct iovec iov;
|
||||
int taille = sizeof(msg_head_t) ;
|
||||
|
||||
if ( smsg == NULL ) {
|
||||
return -1 ;
|
||||
}
|
||||
|
||||
if ( smsg->data != NULL ) {
|
||||
taille += smsg->head.size ;
|
||||
}
|
||||
|
||||
//buf = RRM_MALLOC(char, taille);
|
||||
//if (buf ==NULL)
|
||||
//return -1 ;
|
||||
memcpy( BUFF, &(smsg->head), sizeof(msg_head_t) ) ;
|
||||
memcpy( BUFF+sizeof(msg_head_t), smsg->data, smsg->head.size ) ;
|
||||
iov.iov_base = (void *)BUFF;
|
||||
iov.iov_len = taille ;
|
||||
msghd.msg_name = (void *)&(s->un_dest_addr);
|
||||
msghd.msg_namelen = sizeof(s->un_dest_addr);
|
||||
msghd.msg_iov = &iov;
|
||||
msghd.msg_iovlen = 1;
|
||||
msghd.msg_control = NULL ;
|
||||
msghd.msg_controllen = 0 ;
|
||||
|
||||
if ( sendmsg(s->s, &msghd, 0) < 0 ) {
|
||||
ret = -1;
|
||||
msg("socket %d, dest %s\n",s->s,s->un_dest_addr.sun_path);
|
||||
perror("sendmsg:unix socket");
|
||||
}
|
||||
|
||||
//RRM_FREE(buf) ;
|
||||
//RRM_FREE(msg->data) ;
|
||||
//RRM_FREE(msg) ;
|
||||
return ret ;
|
||||
}
|
||||
|
||||
/*!
|
||||
*******************************************************************************
|
||||
\brief This function read a buffer from a unix socket
|
||||
\return the function returns a message pointer. If the pointeur is NULL, a error
|
||||
is happened.
|
||||
*/
|
||||
char *recv_msg(
|
||||
sock_rrm_t *s ///< socket descriptor
|
||||
) {
|
||||
/* Unix socket */
|
||||
char *buf = NULL;
|
||||
char *smsg = NULL;
|
||||
struct msghdr msghd ;
|
||||
struct iovec iov;
|
||||
int size_msg ;
|
||||
msg_head_t *head ;
|
||||
int ret ;
|
||||
int taille = SIZE_MAX_PAYLOAD ;
|
||||
buf = RRM_CALLOC( char,taille);
|
||||
|
||||
if ( buf == NULL ) {
|
||||
return NULL ;
|
||||
}
|
||||
|
||||
iov.iov_base = (void *)buf;
|
||||
iov.iov_len = taille ;
|
||||
msghd.msg_name = (void *)&(s->un_dest_addr);
|
||||
msghd.msg_namelen = sizeof(s->un_dest_addr);
|
||||
msghd.msg_iov = &iov;
|
||||
msghd.msg_iovlen = 1;
|
||||
msghd.msg_control = NULL ;
|
||||
msghd.msg_controllen= 0 ;
|
||||
ret = recvmsg(s->s, &msghd, 0 ) ;
|
||||
|
||||
if ( ret <= 0 ) {
|
||||
// non-blocking socket
|
||||
// perror("PB recvmsg_un");
|
||||
RRM_FREE(buf);
|
||||
return NULL ;
|
||||
}
|
||||
|
||||
if (msghd.msg_flags != 0 ) {
|
||||
fprintf(stderr,"error recvmsg_un: 0x%02x\n", msghd.msg_flags) ;
|
||||
RRM_FREE(buf);
|
||||
return NULL ;
|
||||
}
|
||||
|
||||
head = (msg_head_t *) buf ;
|
||||
size_msg = sizeof(msg_head_t) + head->size ;
|
||||
smsg = RRM_CALLOC(char, size_msg ) ;
|
||||
|
||||
if ( smsg != NULL ) {
|
||||
memcpy( smsg, buf, size_msg ) ;
|
||||
}
|
||||
|
||||
RRM_FREE( buf ) ;
|
||||
return smsg ;
|
||||
}
|
||||
|
||||
#else //XFACE
|
||||
|
||||
int send_msg_fifo(int *s, msg_t *fmsg) {
|
||||
int ret = 0, ret1;
|
||||
int taille = sizeof(msg_head_t) ;
|
||||
msg("write on fifos %d, msg %p\n",*s,fmsg);
|
||||
|
||||
if ( fmsg == NULL ) {
|
||||
return -1 ;
|
||||
}
|
||||
|
||||
// envoi le header
|
||||
ret1 = rtf_put (*s,(char *) &(fmsg->head), taille);
|
||||
|
||||
if(ret1 <0) {
|
||||
msg("rtf_put H ERR %d\n",ret1);
|
||||
rtf_reset(*s);
|
||||
return ret1;
|
||||
}
|
||||
|
||||
ret=ret1;
|
||||
|
||||
// envoi les datas si elles sont definis
|
||||
if ( fmsg->data != NULL ) {
|
||||
ret1 += rtf_put (*s,(char *) fmsg->data, fmsg->head.size);
|
||||
|
||||
if(ret1 <0) {
|
||||
msg("rtf_put D ERR %d\n",ret1);
|
||||
rtf_reset(*s);
|
||||
return ret1;
|
||||
}
|
||||
}
|
||||
|
||||
ret+=ret1;
|
||||
return ret;
|
||||
}
|
||||
|
||||
#endif //XFACE
|
||||
|
||||
int send_msg(void *s, msg_t *smsg) {
|
||||
send_msg_sock((sock_rrm_t *)s, smsg);
|
||||
}
|
||||
@@ -133,18 +133,6 @@
|
||||
|
||||
#include "common/ran_context.h"
|
||||
|
||||
//#include "PHY/defs.h"
|
||||
/*#ifndef USER_MODE
|
||||
#define msg printk
|
||||
#ifndef errno
|
||||
int errno;
|
||||
#endif
|
||||
#else
|
||||
# if !defined (msg)
|
||||
# define msg printf
|
||||
# endif
|
||||
#endif*/
|
||||
|
||||
//#define XER_PRINT
|
||||
|
||||
typedef struct xer_sprint_string_s {
|
||||
|
||||
@@ -3274,57 +3274,6 @@ void *rrc_gnb_task(void *args_p) {
|
||||
case GTPV1U_GNB_DELETE_TUNNEL_RESP:
|
||||
break;
|
||||
|
||||
/*
|
||||
#if defined(ENABLE_USE_MME)
|
||||
|
||||
// Messages from S1AP
|
||||
case S1AP_DOWNLINK_NAS:
|
||||
rrc_eNB_process_S1AP_DOWNLINK_NAS(msg_p, msg_name_p, instance, &rrc_gNB_mui);
|
||||
break;
|
||||
|
||||
case S1AP_INITIAL_CONTEXT_SETUP_REQ:
|
||||
rrc_eNB_process_S1AP_INITIAL_CONTEXT_SETUP_REQ(msg_p, msg_name_p, instance);
|
||||
break;
|
||||
|
||||
case S1AP_UE_CTXT_MODIFICATION_REQ:
|
||||
rrc_eNB_process_S1AP_UE_CTXT_MODIFICATION_REQ(msg_p, msg_name_p, instance);
|
||||
break;
|
||||
|
||||
case S1AP_PAGING_IND:
|
||||
LOG_D(RRC, "[eNB %d] Received Paging message from S1AP: %s\n", instance, msg_name_p);
|
||||
rrc_eNB_process_PAGING_IND(msg_p, msg_name_p, instance);
|
||||
break;
|
||||
|
||||
case S1AP_E_RAB_SETUP_REQ:
|
||||
rrc_eNB_process_S1AP_E_RAB_SETUP_REQ(msg_p, msg_name_p, instance);
|
||||
LOG_D(RRC, "[eNB %d] Received the message %s\n", instance, msg_name_p);
|
||||
break;
|
||||
|
||||
case S1AP_E_RAB_MODIFY_REQ:
|
||||
rrc_eNB_process_S1AP_E_RAB_MODIFY_REQ(msg_p, msg_name_p, instance);
|
||||
break;
|
||||
|
||||
case S1AP_E_RAB_RELEASE_COMMAND:
|
||||
rrc_eNB_process_S1AP_E_RAB_RELEASE_COMMAND(msg_p, msg_name_p, instance);
|
||||
break;
|
||||
|
||||
case S1AP_UE_CONTEXT_RELEASE_REQ:
|
||||
rrc_eNB_process_S1AP_UE_CONTEXT_RELEASE_REQ(msg_p, msg_name_p, instance);
|
||||
break;
|
||||
|
||||
case S1AP_UE_CONTEXT_RELEASE_COMMAND:
|
||||
rrc_eNB_process_S1AP_UE_CONTEXT_RELEASE_COMMAND(msg_p, msg_name_p, instance);
|
||||
break;
|
||||
|
||||
case GTPV1U_ENB_DELETE_TUNNEL_RESP:
|
||||
///Nothing to do. Apparently everything is done in S1AP processing
|
||||
//LOG_I(RRC, "[eNB %d] Received message %s, not processed because procedure not synched\n",
|
||||
//instance, msg_name_p);
|
||||
AssertFatal(false, "Removed double mechanism for same feature: now delete_tunnel() function should be called\n");
|
||||
break;
|
||||
|
||||
#endif
|
||||
*/
|
||||
/* Messages from gNB app */
|
||||
case NRRRC_CONFIGURATION_REQ:
|
||||
LOG_I(NR_RRC, "[gNB %ld] Received %s : %p\n", instance, msg_name_p,&NRRRC_CONFIGURATION_REQ(msg_p));
|
||||
|
||||
@@ -111,4 +111,4 @@
|
||||
#define RRC_LIST_ENTRY(list, i) \
|
||||
list.entries[i]
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user