platform_constants.h 3 KB
Newer Older
1 2 3
/*
                                 platform_constants.h
                             -------------------
4
  AUTHOR  : Lionel GAUTHIER and Navid Nikaein
5 6 7 8 9
  COMPANY : EURECOM
  EMAIL   : Lionel.Gauthier@eurecom.fr

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

10 11 12
#ifdef CMAKER
#include "asn1_constants.h"
#else
13
#include "RRC/LITE/MESSAGES/asn1_constants.h"
14
#endif
15 16 17 18

#ifndef __PLATFORM_CONSTANTS_H__
#    define __PLATFORM_CONSTANTS_H__

19
#ifdef JUMBO_FRAME
20
#define NL_MAX_PAYLOAD 18000  /* this should cover the max mtu size*/
21
#else
22
#define NL_MAX_PAYLOAD 9000  /* this should cover the max mtu size*/
23
#endif
24

25
#ifdef USER_MODE
26
#ifdef LARGE_SCALE
27 28 29 30 31
#    define NB_MODULES_MAX 128
#    define NB_NODE_MAX    128
#else
#    define NB_MODULES_MAX 32
#    define NB_NODE_MAX    32
32
#endif
33 34 35 36 37 38 39
#else
#    define NB_MODULES_MAX 1
#    define NB_NODE_MAX    1
#endif //PHY_EMUL


#ifdef JUMBO_FRAME
40
#    define MAX_IP_PACKET_SIZE         10000 // 9000
41
#else
42 43
# if defined(OAI_NW_DRIVER_TYPE_ETHERNET)
/* SR: When using ethernet network driver the packet size is 1512 :
44
 * 1500 bytes IP packet + 14 bytes ethernet header
45
 */
46
#   define MAX_IP_PACKET_SIZE          1514
47
# else
48
#   define MAX_IP_PACKET_SIZE          1500 // 3000
49
# endif
50
#endif
51
// overwrite the previous deinitions
52 53 54

#    define MAX_MODULES                NB_MODULES_MAX

55
#ifdef LARGE_SCALE
56 57
#    define MAX_MOBILES_PER_ENB         128
//#    define MAX_RG                      2
58
#else
59 60
#    define MAX_MOBILES_PER_ENB         16
//#    define MAX_RG                      2
61 62
#endif

63
#define MAX_MANAGED_ENB_PER_MOBILE  2
64

65
#define DEFAULT_RAB_ID 1
66

67
#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 */
68 69 70 71 72 73
#if defined(Rel10)
#define NB_RB_MBMS_MAX (maxSessionPerPMCH*maxServiceCount)
#else
// Do not allocate unused memory
#define NB_RB_MBMS_MAX 1
#endif
74
#define NB_RAB_MAX     maxDRB       /* was 8, now 11 */
75 76 77 78 79 80 81 82 83
#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
84 85 86 87 88 89 90 91 92 93 94 95 96 97 98

// 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


99
// CBA constant
100 101 102 103 104 105 106 107 108 109 110
#define NUM_MAX_CBA_GROUP 4

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

Lionel Gauthier's avatar
Lionel Gauthier committed
111 112
#define  UNUSED_PARAM_MBMS_SESSION_ID  0
#define  UNUSED_PARAM_MBMS_SERVICE_ID  0
113 114 115 116 117

#ifdef USER_MODE
#define printk printf
#endif

118 119 120
#define UNUSED_VARIABLE(vARIABLE)   (void)(vARIABLE)

#endif /* __PLATFORM_CONSTANTS_H__ */