platform_constants.h 4.04 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
/*
 * 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.0  (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
 */

22
23
24
/*
                                 platform_constants.h
                             -------------------
nikaeinn's avatar
nikaeinn committed
25
  AUTHOR  : Lionel GAUTHIER and Navid Nikaein
26
27
28
29
30
  COMPANY : EURECOM
  EMAIL   : Lionel.Gauthier@eurecom.fr

 ***************************************************************************/

31
32
33
#ifdef CMAKER
#include "asn1_constants.h"
#else
34
#include "RRC/LITE/MESSAGES/asn1_constants.h"
35
#endif
36
37
38
39

#ifndef __PLATFORM_CONSTANTS_H__
#    define __PLATFORM_CONSTANTS_H__

40
#ifdef JUMBO_FRAME
41
#define NL_MAX_PAYLOAD 18000  /* this should cover the max mtu size*/
42
#else
43
#define NL_MAX_PAYLOAD 9000  /* this should cover the max mtu size*/
44
#endif
45

46
#ifdef USER_MODE
47
#ifdef LARGE_SCALE
48
49
50
51
52
#    define NB_MODULES_MAX 128
#    define NB_NODE_MAX    128
#else
#    define NB_MODULES_MAX 32
#    define NB_NODE_MAX    32
53
#endif
54
55
56
57
58
59
60
#else
#    define NB_MODULES_MAX 1
#    define NB_NODE_MAX    1
#endif //PHY_EMUL


#ifdef JUMBO_FRAME
61
#    define MAX_IP_PACKET_SIZE         10000 // 9000
62
#else
63
64
# if defined(OAI_NW_DRIVER_TYPE_ETHERNET)
/* SR: When using ethernet network driver the packet size is 1512 :
65
 * 1500 bytes IP packet + 14 bytes ethernet header
66
 */
67
#   define MAX_IP_PACKET_SIZE          1514
68
# else
69
#   define MAX_IP_PACKET_SIZE          1500 // 3000
70
# endif
71
#endif
72
// overwrite the previous deinitions
73
74
75

#    define MAX_MODULES                NB_MODULES_MAX

76
#ifdef LARGE_SCALE
77
78
#    define MAX_MOBILES_PER_ENB         128
//#    define MAX_RG                      2
79
#else
80
81
#    define MAX_MOBILES_PER_ENB         16
//#    define MAX_RG                      2
82
83
#endif

84
#define MAX_MANAGED_ENB_PER_MOBILE  2
85

86
#define DEFAULT_RAB_ID 1
87

gauthier's avatar
gauthier committed
88
#define NB_RB_MAX      (maxDRB + 3) /* was 11, now 14, maxDRB comes from asn1_constants.h, + 3 because of 3 SRB, one invisible id 0, then id 1 and 2 */
Cedric Roux's avatar
Cedric Roux committed
89
#if defined(Rel10) || defined(Rel14)
90
91
92
93
94
#define NB_RB_MBMS_MAX (maxSessionPerPMCH*maxServiceCount)
#else
// Do not allocate unused memory
#define NB_RB_MBMS_MAX 1
#endif
gauthier's avatar
gauthier committed
95
#define NB_RAB_MAX     maxDRB       /* was 8, now 11 */
96
97
98
99
100
101
102
103
104
#define RAB_SHIFT1     9
#define RAB_SHIFT2     3
#define RAB_OFFSET     0x0007
#define RAB_OFFSET1    0x7E00
#define RAB_OFFSET2    0x01F8
#define DIR_OFFSET     0x8000
#define DIR_SHIFT      15
#define CH_OFFSET      0x0004
#define CH_SHIFT       2
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119

// RLC_AM_SEND_MRW
#        define SEND_MRW_OFF    15
#        define SEND_MRW_ON     240

// RLC_SEGMENTATION_INDICATION
#        define SEGMENTATION_NOT_ALLOWED  0
#        define SEGMENTATION_ALLOWED      1

// RLC_DELIVERY_OF_ERRONEOUS_SDU
#        define DELIVERY_OF_ERRONEOUS_SDU_NO           0
#        define DELIVERY_OF_ERRONEOUS_SDU_YES          1
#        define DELIVERY_OF_ERRONEOUS_SDU_NO_DETECT    2


120
// CBA constant
121
122
123
124
125
126
127
128
129
130
131
#define NUM_MAX_CBA_GROUP 4

#    ifndef __cplusplus
#        ifndef NULL
#            define NULL 0
#        endif
#        ifndef null
#            define null 0
#        endif
#    endif

gauthier's avatar
gauthier committed
132
133
#define  UNUSED_PARAM_MBMS_SESSION_ID  0
#define  UNUSED_PARAM_MBMS_SERVICE_ID  0
134
135
136
137
138

#ifdef USER_MODE
#define printk printf
#endif

139
140
141
#define UNUSED_VARIABLE(vARIABLE)   (void)(vARIABLE)

#endif /* __PLATFORM_CONSTANTS_H__ */