174 lines
5.1 KiB
C
174 lines
5.1 KiB
C
/*
|
|
* 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
|
|
*/
|
|
|
|
#ifndef _NAS_CST
|
|
#define _NAS_CST
|
|
|
|
#define MAX_MEASURE_NB 5
|
|
#define NAS_MAX_LENGTH 180
|
|
|
|
//Debug flags
|
|
//#define NAS_DEBUG_DC
|
|
//#define NAS_DEBUG_SEND
|
|
//#define NAS_DEBUG_RECEIVE
|
|
//#define NAS_DEBUG_CLASS
|
|
//#define NAS_DEBUG_GC
|
|
//#define NAS_DEBUG_DC_MEASURE
|
|
//#define NAS_DEBUG_TIMER
|
|
//#define NAS_DEBUG_DEVICE
|
|
//#define NAS_DEBUG_INTERRUPT
|
|
//#define NAS_DEBUG_TOOL
|
|
|
|
// Other flags
|
|
#define DEMO_3GSM
|
|
|
|
// General Constants
|
|
#define NAS_MTU 1500
|
|
#define NAS_TX_QUEUE_LEN 100
|
|
#define NAS_ADDR_LEN 8
|
|
#define NAS_INET6_ADDRSTRLEN 46
|
|
#define NAS_INET_ADDRSTRLEN 16
|
|
|
|
#define NAS_CX_MAX 32 //128 //Identical to RRC constant: no you cannot
|
|
/* increase to 128 without risking stack problems: KEEP ATTENTION TO COMPILATION WARNINGS */
|
|
//#define NAS_CX_MULTICAST_ALLNODE 2
|
|
|
|
#define NAS_RETRY_LIMIT_DEFAULT 5
|
|
|
|
#define NAS_MESSAGE_MAXLEN 5004
|
|
|
|
#define NAS_SIG_SRB3 3
|
|
#define NAS_SIG_SRB4 3 // not used yet
|
|
|
|
//peer-to-peer messages between NAS entities
|
|
#define NAS_CMD_OPEN_RB 1
|
|
|
|
//#define NAS_IID1_CONTROL 0x0
|
|
//#define NAS_IID2_CONTROL __constant_htonl(0xffffffff)
|
|
|
|
//#define NAS_STATE_IDLE 0
|
|
//#define NAS_STATE_CONNECTED 1
|
|
//#define NAS_STATE_ESTABLISHMENT_REQUEST 2
|
|
//#define NAS_STATE_ESTABLISHMENT_FAILURE 3
|
|
//#define NAS_STATE_RELEASE_FAILURE 4
|
|
#define NAS_CX_RELEASE_UNDEF_CAUSE 1
|
|
|
|
// MT+RG NAS States
|
|
#define NAS_IDLE 0x01
|
|
// Connection
|
|
#define NAS_CX_FACH 0x06
|
|
#define NAS_CX_DCH 0x0A
|
|
#define NAS_CX_RECEIVED 0x10
|
|
#define NAS_CX_CONNECTING 0x04
|
|
#define NAS_CX_RELEASING 0x08
|
|
#define NAS_CX_CONNECTING_FAILURE 0x14
|
|
#define NAS_CX_RELEASING_FAILURE 0x18
|
|
// Radio Bearers
|
|
#define NAS_RB_ESTABLISHING 0x24
|
|
#define NAS_RB_RELEASING 0x28
|
|
#define NAS_RB_DCH 0x2A
|
|
|
|
|
|
#define NAS_TIMER_ESTABLISHMENT_DEFAULT 12
|
|
#define NAS_TIMER_RELEASE_DEFAULT 2
|
|
#define NAS_TIMER_IDLE UINT_MAX
|
|
#define NAS_TIMER_TICK HZ
|
|
|
|
#define NAS_PDCPH_SIZE sizeof(struct pdcp_data_req_header_s)
|
|
#define NAS_IPV4_SIZE 20
|
|
#define NAS_IPV6_SIZE 40
|
|
|
|
#define NAS_DIRECTION_SEND 0
|
|
#define NAS_DIRECTION_RECEIVE 1
|
|
#define NAS_DIRECTION_FORWARD 2
|
|
|
|
// function number
|
|
#define NAS_FCT_DEL_SEND 1
|
|
#define NAS_FCT_QOS_SEND 2
|
|
#define NAS_FCT_DC_SEND 3
|
|
#define NAS_FCT_CTL_SEND 4
|
|
|
|
// type of IOCTL command
|
|
#define NAS_IOCTL_RRM 0x89F0
|
|
|
|
// Error cause
|
|
#define NAS_ERROR_ALREADYEXIST 1
|
|
#define NAS_ERROR_NOMEMORY 3
|
|
#define NAS_ERROR_NOTMT 9
|
|
#define NAS_ERROR_NOTRG 10
|
|
#define NAS_ERROR_NOTIDLE 11
|
|
#define NAS_ERROR_NOTCONNECTED 12
|
|
#define NAS_ERROR_NORB 14
|
|
#define NAS_ERROR_NOTCORRECTVALUE 32
|
|
#define NAS_ERROR_NOTCORRECTLCR 33
|
|
#define NAS_ERROR_NOTCORRECTDIR 34
|
|
#define NAS_ERROR_NOTCORRECTDSCP 35
|
|
#define NAS_ERROR_NOTCORRECTVERSION 36
|
|
#define NAS_ERROR_NOTCORRECTRABI 37
|
|
|
|
|
|
/**********************************************************/
|
|
/* Constants related with IP protocols */
|
|
/**********************************************************/
|
|
|
|
//#define NAS_PORT_CONTROL __constant_htons(0xc45)
|
|
//#define NAS_PORT_AUTHENTICATION __constant_htons(1811)
|
|
|
|
#define NAS_TRAFFICCLASS_MASK __constant_htonl(0x0fc00000)
|
|
|
|
// Network control codepoint 111000 + IP version 6
|
|
#define NAS_FLOWINFO_NCONTROL __constant_htonl(0x6e000000)
|
|
// network control codepoint 111000
|
|
#define NAS_DSCP_NCONTROL 56 //0x38
|
|
// default codepoint 1000000
|
|
#define NAS_DSCP_DEFAULT 64
|
|
#define NAS_DSCP_MAX 193
|
|
|
|
#define NAS_PROTOCOL_DEFAULT 0
|
|
#define NAS_PROTOCOL_TCP IPPROTO_TCP
|
|
#define NAS_PROTOCOL_UDP IPPROTO_UDP
|
|
#define NAS_PROTOCOL_ICMP4 IPPROTO_ICMP
|
|
#define NAS_PROTOCOL_ICMP6 IPPROTO_ICMPV6
|
|
|
|
#define NAS_PORT_DEFAULT __constant_htons(65535)
|
|
#define NAS_PORT_HTTP __constant_htons(80)
|
|
|
|
#define NAS_VERSION_DEFAULT 0
|
|
#define NAS_VERSION_4 4
|
|
#define NAS_VERSION_6 0 //?MW
|
|
|
|
#define NAS_DEFAULT_IPV4_ADDR 0
|
|
#define NAS_DEFAULT_IPV6_ADDR0 0
|
|
#define NAS_DEFAULT_IPV6_ADDR1 0
|
|
#define NAS_DEFAULT_IPV6_ADDR2 0
|
|
#define NAS_DEFAULT_IPV6_ADDR3 0
|
|
|
|
|
|
#define NAS_MPLS_VERSION_CODE 99
|
|
|
|
#define NB_INSTANCES_MAX 64 //16
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|