Commit 6b50cbca authored by laurent's avatar laurent

continue 5G SA

parent ffd4c20e
...@@ -199,7 +199,7 @@ gNBs = ...@@ -199,7 +199,7 @@ gNBs =
////////// MME parameters: ////////// MME parameters:
mme_ip_address = ( { ipv4 = "CI_MME_IP_ADDR"; mme_ip_address = ( { ipv4 = "127.0.0.20";
ipv6 = "192:168:30::17"; ipv6 = "192:168:30::17";
active = "yes"; active = "yes";
preference = "ipv4"; preference = "ipv4";
...@@ -211,7 +211,7 @@ gNBs = ...@@ -211,7 +211,7 @@ gNBs =
t_reloc_prep = 1000; /* unit: millisecond */ t_reloc_prep = 1000; /* unit: millisecond */
tx2_reloc_overall = 2000; /* unit: millisecond */ tx2_reloc_overall = 2000; /* unit: millisecond */
target_enb_x2_ip_address = ( target_enb_x2_ip_address = (
{ ipv4 = "CI_FR1_CTL_ENB_IP_ADDR"; { ipv4 = "127.0.0.10";
ipv6 = "192:168:30::17"; ipv6 = "192:168:30::17";
preference = "ipv4"; preference = "ipv4";
} }
...@@ -221,11 +221,11 @@ gNBs = ...@@ -221,11 +221,11 @@ gNBs =
{ {
GNB_INTERFACE_NAME_FOR_S1_MME = "eth0"; GNB_INTERFACE_NAME_FOR_S1_MME = "eth0";
GNB_IPV4_ADDRESS_FOR_S1_MME = "CI_GNB_IP_ADDR"; GNB_IPV4_ADDRESS_FOR_S1_MME = "127.0.0.10";
GNB_INTERFACE_NAME_FOR_S1U = "eth0"; GNB_INTERFACE_NAME_FOR_S1U = "eth0";
GNB_IPV4_ADDRESS_FOR_S1U = "CI_GNB_IP_ADDR"; GNB_IPV4_ADDRESS_FOR_S1U = "127.0.0.10";
GNB_PORT_FOR_S1U = 2152; # Spec 2152 GNB_PORT_FOR_S1U = 2152; # Spec 2152
GNB_IPV4_ADDRESS_FOR_X2C = "CI_GNB_IP_ADDR"; GNB_IPV4_ADDRESS_FOR_X2C = "127.0.0.10";
GNB_PORT_FOR_X2C = 36422; # Spec 36422 GNB_PORT_FOR_X2C = 36422; # Spec 36422
}; };
} }
...@@ -257,7 +257,7 @@ RUs = ( ...@@ -257,7 +257,7 @@ RUs = (
max_pdschReferenceSignalPower = -27; max_pdschReferenceSignalPower = -27;
max_rxgain = 114; max_rxgain = 114;
eNB_instances = [0]; eNB_instances = [0];
clock_src = "external"; clock_src = "internal";
} }
); );
......
...@@ -377,6 +377,7 @@ add_custom_target ( ...@@ -377,6 +377,7 @@ add_custom_target (
add_library(NR_RRC_LIB ${nr_rrc_h} ${nr_rrc_source} add_library(NR_RRC_LIB ${nr_rrc_h} ${nr_rrc_source}
${OPENAIR2_DIR}/RRC/NR/MESSAGES/asn1_msg.c ${OPENAIR2_DIR}/RRC/NR/MESSAGES/asn1_msg.c
${OPENAIR2_DIR}/RRC/NR/nr_rrc_gNB.c
) )
add_dependencies(NR_RRC_LIB nr_rrc_flag) add_dependencies(NR_RRC_LIB nr_rrc_flag)
include_directories ("${NR_RRC_FULL_DIR}") include_directories ("${NR_RRC_FULL_DIR}")
......
...@@ -436,7 +436,7 @@ void OCPconfig_RU(RU_t *ru) { ...@@ -436,7 +436,7 @@ void OCPconfig_RU(RU_t *ru) {
if (strcmp(*(RUParamList.paramarray[j][RU_LOCAL_RF_IDX].strptr), "yes") == 0) { if (strcmp(*(RUParamList.paramarray[j][RU_LOCAL_RF_IDX].strptr), "yes") == 0) {
if ( !(config_isparamset(RUParamList.paramarray[j],RU_LOCAL_IF_NAME_IDX)) ) { if ( !(config_isparamset(RUParamList.paramarray[j],RU_LOCAL_IF_NAME_IDX)) ) {
ru->if_south = LOCAL_RF; ru->if_south = REMOTE_IF5; //TBD: max value to avoid to call "ru" functions
ru->function = gNodeB_3GPP; ru->function = gNodeB_3GPP;
printf("Setting function for RU %d to gNodeB_3GPP\n",j); printf("Setting function for RU %d to gNodeB_3GPP\n",j);
} else { } else {
......
...@@ -97,7 +97,7 @@ static void *scope_thread_eNB(void *arg) { ...@@ -97,7 +97,7 @@ static void *scope_thread_eNB(void *arg) {
} }
} }
sleep(1); usleep(100*1000);
} }
// printf("%s",stats_buffer); // printf("%s",stats_buffer);
......
This diff is collapsed.
...@@ -442,7 +442,7 @@ void gNB_dlsch_ulsch_scheduler(module_id_t module_idP, ...@@ -442,7 +442,7 @@ void gNB_dlsch_ulsch_scheduler(module_id_t module_idP,
VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_gNB_DLSCH_ULSCH_SCHEDULER,VCD_FUNCTION_IN); VCD_SIGNAL_DUMPER_DUMP_FUNCTION_BY_NAME(VCD_SIGNAL_DUMPER_FUNCTIONS_gNB_DLSCH_ULSCH_SCHEDULER,VCD_FUNCTION_IN);
pdcp_run(&ctxt); pdcp_run(&ctxt);
//rrc_rx_tx(&ctxt, CC_id); nr_rrc_rx_tx(); //&ctxt, CC_id);
/* send tick to RLC every ms */ /* send tick to RLC every ms */
if ((slot & ((1 << *scc->ssbSubcarrierSpacing) - 1)) == 0) { if ((slot & ((1 << *scc->ssbSubcarrierSpacing) - 1)) == 0) {
void nr_rlc_tick(int frame, int subframe); void nr_rlc_tick(int frame, int subframe);
......
...@@ -20,18 +20,13 @@ ...@@ -20,18 +20,13 @@
* For more information about the OpenAirInterface (OAI) Software Alliance: * For more information about the OpenAirInterface (OAI) Software Alliance:
* contact@openairinterface.org * contact@openairinterface.org
*/ */
#include <openair2/RRC/LTE/MESSAGES/asn1_msg.h>
#include <openair2/RRC/NR/nr_rrc_proto.h>
rrc_gNB_send_NGAP_NAS_FIRST_REQ() { void rrc_gNB_process_NGAP_DOWNLINK_NAS (void ) {
// We are noCore only now do_DLInformationTransfer(0,NULL,0,0,NULL);
// create message that should come from 5GC
// send it dow
rrc_gNB_process_NGAP_DOWNLINK_NAS()
}
rrc_gNB_process_NGAP_DOWNLINK_NAS () {
do_DLInformationTransfer();
// send it as DL data // send it as DL data
/*
rrc_data_req ( rrc_data_req (
&ctxt, &ctxt,
srb_id, srb_id,
...@@ -40,9 +35,23 @@ rrc_gNB_process_NGAP_DOWNLINK_NAS () { ...@@ -40,9 +35,23 @@ rrc_gNB_process_NGAP_DOWNLINK_NAS () {
length, length,
buffer, buffer,
PDCP_TRANSMISSION_MODE_CONTROL); PDCP_TRANSMISSION_MODE_CONTROL);
*/
} }
void rrc_gNB_send_NGAP_NAS_FIRST_REQ(void ) {
// We are noCore only now
// create message that should come from 5GC
// send it dow
rrc_gNB_process_NGAP_DOWNLINK_NAS();
}
:q void nr_rrc_rx_tx() {
// check timers
// check if UEs are lost, to remove them from upper layers
//
}
...@@ -91,7 +91,7 @@ int generate_CG_Config(gNB_RRC_INST *rrc, ...@@ -91,7 +91,7 @@ int generate_CG_Config(gNB_RRC_INST *rrc,
int parse_CG_ConfigInfo(gNB_RRC_INST *rrc, NR_CG_ConfigInfo_t *CG_ConfigInfo, x2ap_ENDC_sgnb_addition_req_t *m); int parse_CG_ConfigInfo(gNB_RRC_INST *rrc, NR_CG_ConfigInfo_t *CG_ConfigInfo, x2ap_ENDC_sgnb_addition_req_t *m);
void nr_rrc_rx_tx(void);
/**\brief RRC eNB task. /**\brief RRC eNB task.
\param void *args_p Pointer on arguments to start the task. */ \param void *args_p Pointer on arguments to start the task. */
......
...@@ -476,11 +476,9 @@ int init_opt(void) { ...@@ -476,11 +476,9 @@ int init_opt(void) {
} else if (tmptype == OPT_PCAP && strlen(in_path) > 0) { } else if (tmptype == OPT_PCAP && strlen(in_path) > 0) {
opt_type = OPT_PCAP; opt_type = OPT_PCAP;
opt_enabled=1; opt_enabled=1;
LOG_I(OPT,"Enabling OPT for PCAP with the following file %s \n",in_path);
} else if (tmptype == OPT_WIRESHARK && strlen(in_ip) > 0) { } else if (tmptype == OPT_WIRESHARK && strlen(in_ip) > 0) {
opt_enabled=1; opt_enabled=1;
opt_type = OPT_WIRESHARK; opt_type = OPT_WIRESHARK;
LOG_I(OPT,"Enabling OPT for wireshark for local interface %s\n",in_ip);
} else { } else {
LOG_E(OPT,"Invalid OPT configuration\n"); LOG_E(OPT,"Invalid OPT configuration\n");
config_printhelp(opt_params,sizeof(opt_params)/sizeof(paramdef_t),OPT_CONFIGPREFIX); config_printhelp(opt_params,sizeof(opt_params)/sizeof(paramdef_t),OPT_CONFIGPREFIX);
...@@ -489,9 +487,9 @@ int init_opt(void) { ...@@ -489,9 +487,9 @@ int init_opt(void) {
// trace_mode // trace_mode
switch (opt_type) { switch (opt_type) {
case OPT_WIRESHARK: case OPT_WIRESHARK:
LOG_I(OPT,"mode Wireshark: ip %s port %d\n", in_ip, PACKET_MAC_LTE_DEFAULT_UDP_PORT);
/* Create local server socket only if using localhost address */ /* Create local server socket only if using localhost address */
if (strcmp(in_ip, "127.0.0.1") == 0) { if (strncmp(in_ip, "127.0.0.1", 4) == 0) {
opt_create_listener_socket(in_ip, PACKET_MAC_LTE_DEFAULT_UDP_PORT); opt_create_listener_socket(in_ip, PACKET_MAC_LTE_DEFAULT_UDP_PORT);
} }
...@@ -510,6 +508,7 @@ int init_opt(void) { ...@@ -510,6 +508,7 @@ int init_opt(void) {
break; break;
case OPT_PCAP: case OPT_PCAP:
LOG_I(OPT,"mode PCAB : path is %s \n",in_path);
file_fd = fopen(in_path, "w"); file_fd = fopen(in_path, "w");
if (file_fd == NULL) { if (file_fd == NULL) {
...@@ -528,19 +527,9 @@ int init_opt(void) { ...@@ -528,19 +527,9 @@ int init_opt(void) {
default: default:
opt_type = OPT_NONE; opt_type = OPT_NONE;
LOG_W(OPT, "supported Option\n"); LOG_E(OPT,"Unsupported or unknown mode %d \n", opt_type);
break; break;
} }
if ( opt_type == OPT_WIRESHARK )
LOG_E(OPT,"mode Wireshark: ip %s port %d\n", in_ip, PACKET_MAC_LTE_DEFAULT_UDP_PORT);
else if (opt_type == OPT_PCAP)
LOG_E(OPT,"mode PCAB : path is %s \n",in_path);
else
LOG_E(OPT,"Unsupported or unknown mode %d \n", opt_type);
// mac_info = (mac_info*)malloc16(sizeof(mac_lte_info));
// memset(mac_info, 0, sizeof(mac_lte_info)+pdu_buffer_size + 8);
return (1); return (1);
} }
......
...@@ -310,7 +310,7 @@ typedef struct __attribute__((packed)) { ...@@ -310,7 +310,7 @@ typedef struct __attribute__((packed)) {
} }
authenticationrequestHeader_t; authenticationrequestHeader_t;
typedef struct __attribute__((packed){ typedef struct __attribute__((packed)) {
Extendedprotocoldiscriminator_t epd:8; Extendedprotocoldiscriminator_t epd:8;
Security_header_t sh:8; Security_header_t sh:8;
SGSmobilitymanagementmessages_t mt:8; SGSmobilitymanagementmessages_t mt:8;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment