Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG UE
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Michael Black
OpenXG UE
Commits
f2aed99d
Commit
f2aed99d
authored
Jul 07, 2020
by
Andrew Burger
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
New address port setup
parent
8dd008df
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
103 additions
and
45 deletions
+103
-45
ci-scripts/conf_files/rcc.band7.tm1.nfapi.conf
ci-scripts/conf_files/rcc.band7.tm1.nfapi.conf
+2
-2
ci-scripts/conf_files/ue.nfapi.conf
ci-scripts/conf_files/ue.nfapi.conf
+2
-2
nfapi/oai_integration/nfapi_vnf.c
nfapi/oai_integration/nfapi_vnf.c
+21
-3
openair2/PHY_INTERFACE/phy_stub_UE.c
openair2/PHY_INTERFACE/phy_stub_UE.c
+73
-34
openair2/PHY_INTERFACE/phy_stub_UE.h
openair2/PHY_INTERFACE/phy_stub_UE.h
+1
-1
targets/RT/USER/lte-ue.c
targets/RT/USER/lte-ue.c
+4
-3
No files found.
ci-scripts/conf_files/rcc.band7.tm1.nfapi.conf
View file @
f2aed99d
...
@@ -230,9 +230,9 @@ log_config =
...
@@ -230,9 +230,9 @@ log_config =
global_log_verbosity
=
"medium"
;
global_log_verbosity
=
"medium"
;
hw_log_level
=
"info"
;
hw_log_level
=
"info"
;
hw_log_verbosity
=
"medium"
;
hw_log_verbosity
=
"medium"
;
phy_log_level
=
"
debug
"
;
phy_log_level
=
"
info
"
;
phy_log_verbosity
=
"medium"
;
phy_log_verbosity
=
"medium"
;
mac_log_level
=
"
debug
"
;
mac_log_level
=
"
info
"
;
mac_log_verbosity
=
"high"
;
mac_log_verbosity
=
"high"
;
rlc_log_level
=
"info"
;
rlc_log_level
=
"info"
;
rlc_log_verbosity
=
"medium"
;
rlc_log_verbosity
=
"medium"
;
...
...
ci-scripts/conf_files/ue.nfapi.conf
View file @
f2aed99d
...
@@ -3,9 +3,9 @@ log_config = {
...
@@ -3,9 +3,9 @@ log_config = {
global_log_verbosity
=
"medium"
;
global_log_verbosity
=
"medium"
;
hw_log_level
=
"info"
;
hw_log_level
=
"info"
;
hw_log_verbosity
=
"medium"
;
hw_log_verbosity
=
"medium"
;
phy_log_level
=
"
debug
"
;
phy_log_level
=
"
info
"
;
phy_log_verbosity
=
"medium"
;
phy_log_verbosity
=
"medium"
;
mac_log_level
=
"
debug
"
;
mac_log_level
=
"
info
"
;
mac_log_verbosity
=
"medium"
;
mac_log_verbosity
=
"medium"
;
rlc_log_level
=
"info"
;
rlc_log_level
=
"info"
;
rlc_log_verbosity
=
"medium"
;
rlc_log_verbosity
=
"medium"
;
...
...
nfapi/oai_integration/nfapi_vnf.c
View file @
f2aed99d
...
@@ -166,6 +166,9 @@ typedef struct {
...
@@ -166,6 +166,9 @@ typedef struct {
}
vnf_info
;
}
vnf_info
;
bool
is_rx
=
false
;
bool
is_crc
=
false
;
int
vnf_pack_vendor_extension_tlv
(
void
*
ve
,
uint8_t
**
ppWritePackedMsg
,
uint8_t
*
end
,
nfapi_p4_p5_codec_config_t
*
codec
)
{
int
vnf_pack_vendor_extension_tlv
(
void
*
ve
,
uint8_t
**
ppWritePackedMsg
,
uint8_t
*
end
,
nfapi_p4_p5_codec_config_t
*
codec
)
{
//NFAPI_TRACE(NFAPI_TRACE_INFO, "vnf_pack_vendor_extension_tlv\n");
//NFAPI_TRACE(NFAPI_TRACE_INFO, "vnf_pack_vendor_extension_tlv\n");
nfapi_tl_t
*
tlv
=
(
nfapi_tl_t
*
)
ve
;
nfapi_tl_t
*
tlv
=
(
nfapi_tl_t
*
)
ve
;
...
@@ -406,10 +409,21 @@ int phy_subframe_indication(struct nfapi_vnf_p7_config *config, uint16_t phy_id,
...
@@ -406,10 +409,21 @@ int phy_subframe_indication(struct nfapi_vnf_p7_config *config, uint16_t phy_id,
first_time
=
0
;
first_time
=
0
;
}
}
if
(
UL_RCC_INFO
.
rx_ind
->
sfn_sf
!=
0
&&
!
is_rx
)
{
LOG_E
(
MAC
,
"Test1 phy_subframe_ind sfn_sf: %u rx_ind sfn_sf: %u
\n
"
,
sfn_sf
,
UL_RCC_INFO
.
rx_ind
->
sfn_sf
);
is_rx
=
true
;
}
if
(
UL_RCC_INFO
.
crc_ind
->
sfn_sf
!=
0
&&
!
is_crc
)
{
LOG_E
(
MAC
,
"Test1 phy_subframe_ind sfn_sf: %u crc_ind sfn_sf: %u
\n
"
,
sfn_sf
,
UL_RCC_INFO
.
crc_ind
->
sfn_sf
);
is_crc
=
true
;
}
if
(
RC
.
eNB
&&
RC
.
eNB
[
0
][
0
]
->
configured
)
{
if
(
RC
.
eNB
&&
RC
.
eNB
[
0
][
0
]
->
configured
)
{
uint16_t
sfn
=
NFAPI_SFNSF2SFN
(
sfn_sf
);
uint16_t
sfn
=
NFAPI_SFNSF2SFN
(
sfn_sf
);
uint16_t
sf
=
NFAPI_SFNSF2SF
(
sfn_sf
);
uint16_t
sf
=
NFAPI_SFNSF2SF
(
sfn_sf
);
//
LOG_D(PHY,"[VNF] subframe indication sfn_sf:%d sfn:%d sf:%d\n", sfn_sf, sfn, sf);
LOG_D
(
PHY
,
"[VNF] subframe indication sfn_sf:%d sfn:%d sf:%d
\n
"
,
sfn_sf
,
sfn
,
sf
);
wake_eNB_rxtx
(
RC
.
eNB
[
0
][
0
],
sfn
,
sf
);
wake_eNB_rxtx
(
RC
.
eNB
[
0
][
0
],
sfn
,
sf
);
}
else
{
}
else
{
printf
(
"[VNF] %s() RC.eNB:%p
\n
"
,
__FUNCTION__
,
RC
.
eNB
);
printf
(
"[VNF] %s() RC.eNB:%p
\n
"
,
__FUNCTION__
,
RC
.
eNB
);
...
@@ -491,6 +505,7 @@ int phy_rach_indication(struct nfapi_vnf_p7_config *config, nfapi_rach_indicatio
...
@@ -491,6 +505,7 @@ int phy_rach_indication(struct nfapi_vnf_p7_config *config, nfapi_rach_indicatio
int
phy_harq_indication
(
struct
nfapi_vnf_p7_config
*
config
,
nfapi_harq_indication_t
*
ind
)
{
int
phy_harq_indication
(
struct
nfapi_vnf_p7_config
*
config
,
nfapi_harq_indication_t
*
ind
)
{
struct
PHY_VARS_eNB_s
*
eNB
=
RC
.
eNB
[
0
][
0
];
struct
PHY_VARS_eNB_s
*
eNB
=
RC
.
eNB
[
0
][
0
];
LOG_D
(
MAC
,
"%s() NFAPI SFN/SF:%d number_of_harqs:%u
\n
"
,
__FUNCTION__
,
NFAPI_SFNSF2DEC
(
ind
->
sfn_sf
),
ind
->
harq_indication_body
.
number_of_harqs
);
LOG_D
(
MAC
,
"%s() NFAPI SFN/SF:%d number_of_harqs:%u
\n
"
,
__FUNCTION__
,
NFAPI_SFNSF2DEC
(
ind
->
sfn_sf
),
ind
->
harq_indication_body
.
number_of_harqs
);
LOG_E
(
MAC
,
"%s entered
\n
"
,
__func__
);
pthread_mutex_lock
(
&
eNB
->
UL_INFO_mutex
);
pthread_mutex_lock
(
&
eNB
->
UL_INFO_mutex
);
if
(
NFAPI_MODE
==
NFAPI_MODE_VNF
){
if
(
NFAPI_MODE
==
NFAPI_MODE_VNF
){
int8_t
index
=
-
1
;
int8_t
index
=
-
1
;
...
@@ -529,7 +544,8 @@ int phy_crc_indication(struct nfapi_vnf_p7_config *config, nfapi_crc_indication_
...
@@ -529,7 +544,8 @@ int phy_crc_indication(struct nfapi_vnf_p7_config *config, nfapi_crc_indication_
struct
PHY_VARS_eNB_s
*
eNB
=
RC
.
eNB
[
0
][
0
];
struct
PHY_VARS_eNB_s
*
eNB
=
RC
.
eNB
[
0
][
0
];
pthread_mutex_lock
(
&
eNB
->
UL_INFO_mutex
);
pthread_mutex_lock
(
&
eNB
->
UL_INFO_mutex
);
LOG_E
(
MAC
,
"%s entered
\n
"
,
__func__
);
LOG_E
(
MAC
,
"%s entered sfn: %u sf: %u
\n
"
,
__func__
,
NFAPI_SFNSF2SFN
(
ind
->
sfn_sf
),
NFAPI_SFNSF2SF
(
ind
->
sfn_sf
));
if
(
NFAPI_MODE
==
NFAPI_MODE_VNF
){
if
(
NFAPI_MODE
==
NFAPI_MODE_VNF
){
int8_t
index
=
-
1
;
int8_t
index
=
-
1
;
...
@@ -595,7 +611,8 @@ int phy_rx_indication(struct nfapi_vnf_p7_config *config, nfapi_rx_indication_t
...
@@ -595,7 +611,8 @@ int phy_rx_indication(struct nfapi_vnf_p7_config *config, nfapi_rx_indication_t
LOG_D
(
MAC
,
"%s() NFAPI SFN/SF:%d number_of_pdus:%u
\n
"
,
__FUNCTION__
,
NFAPI_SFNSF2DEC
(
ind
->
sfn_sf
),
ind
->
rx_indication_body
.
number_of_pdus
);
LOG_D
(
MAC
,
"%s() NFAPI SFN/SF:%d number_of_pdus:%u
\n
"
,
__FUNCTION__
,
NFAPI_SFNSF2DEC
(
ind
->
sfn_sf
),
ind
->
rx_indication_body
.
number_of_pdus
);
}
}
LOG_E
(
MAC
,
"%s entered
\n
"
,
__func__
);
LOG_E
(
MAC
,
"%s entered sfn: %u sf: %u
\n
"
,
__func__
,
NFAPI_SFNSF2SFN
(
ind
->
sfn_sf
),
NFAPI_SFNSF2SF
(
ind
->
sfn_sf
));
pthread_mutex_lock
(
&
eNB
->
UL_INFO_mutex
);
pthread_mutex_lock
(
&
eNB
->
UL_INFO_mutex
);
if
(
NFAPI_MODE
==
NFAPI_MODE_VNF
){
if
(
NFAPI_MODE
==
NFAPI_MODE_VNF
){
int8_t
index
=
-
1
;
int8_t
index
=
-
1
;
...
@@ -733,6 +750,7 @@ int phy_cqi_indication(struct nfapi_vnf_p7_config *config, nfapi_cqi_indication_
...
@@ -733,6 +750,7 @@ int phy_cqi_indication(struct nfapi_vnf_p7_config *config, nfapi_cqi_indication_
//mac_cqi_ind(p7_vnf->mac, ind);
//mac_cqi_ind(p7_vnf->mac, ind);
struct
PHY_VARS_eNB_s
*
eNB
=
RC
.
eNB
[
0
][
0
];
struct
PHY_VARS_eNB_s
*
eNB
=
RC
.
eNB
[
0
][
0
];
LOG_D
(
MAC
,
"%s() NFAPI SFN/SF:%d number_of_cqis:%u
\n
"
,
__FUNCTION__
,
NFAPI_SFNSF2DEC
(
ind
->
sfn_sf
),
ind
->
cqi_indication_body
.
number_of_cqis
);
LOG_D
(
MAC
,
"%s() NFAPI SFN/SF:%d number_of_cqis:%u
\n
"
,
__FUNCTION__
,
NFAPI_SFNSF2DEC
(
ind
->
sfn_sf
),
ind
->
cqi_indication_body
.
number_of_cqis
);
LOG_E
(
MAC
,
"%s entered
\n
"
,
__func__
);
pthread_mutex_lock
(
&
eNB
->
UL_INFO_mutex
);
pthread_mutex_lock
(
&
eNB
->
UL_INFO_mutex
);
if
(
NFAPI_MODE
==
NFAPI_MODE_VNF
){
if
(
NFAPI_MODE
==
NFAPI_MODE_VNF
){
int8_t
index
=
-
1
;
int8_t
index
=
-
1
;
...
...
openair2/PHY_INTERFACE/phy_stub_UE.c
View file @
f2aed99d
...
@@ -50,8 +50,8 @@ queue_t hi_dci0_req_queue;
...
@@ -50,8 +50,8 @@ queue_t hi_dci0_req_queue;
int
current_sfn_sf
;
int
current_sfn_sf
;
static
int
ue_sock_descriptor
=
-
1
;
static
int
ue_
tx_
sock_descriptor
=
-
1
;
st
ruct
sockaddr_in
server_address
;
st
atic
int
ue_rx_sock_descriptor
=
-
1
;
extern
nfapi_tx_request_pdu_t
*
tx_request_pdu
[
1023
][
10
][
10
];
extern
nfapi_tx_request_pdu_t
*
tx_request_pdu
[
1023
][
10
][
10
];
//extern int timer_subframe;
//extern int timer_subframe;
...
@@ -1115,42 +1115,81 @@ void UE_config_stub_pnf(void) {
...
@@ -1115,42 +1115,81 @@ void UE_config_stub_pnf(void) {
}
}
}
}
void
ue_init_standalone_socket
(
const
char
*
addr
,
int
port
)
void
ue_init_standalone_socket
(
const
char
*
addr
,
int
tx_port
,
int
rx_
port
)
{
{
int
addr_len
=
sizeof
(
server_address
);
{
memset
(
&
server_address
,
0
,
addr_len
);
struct
sockaddr_in
server_address
;
server_address
.
sin_family
=
AF_INET
;
int
addr_len
=
sizeof
(
server_address
);
server_address
.
sin_port
=
htons
(
port
);
memset
(
&
server_address
,
0
,
addr_len
);
server_address
.
sin_family
=
AF_INET
;
server_address
.
sin_port
=
htons
(
tx_port
);
int
sd
=
socket
(
server_address
.
sin_family
,
SOCK_DGRAM
,
0
);
if
(
sd
<
0
)
{
LOG_E
(
MAC
,
"Socket creation error standalone PNF
\n
"
);
return
;
}
int
sd
=
socket
(
server_address
.
sin_family
,
SOCK_DGRAM
,
0
);
if
(
inet_pton
(
server_address
.
sin_family
,
addr
,
&
server_address
.
sin_addr
)
<=
0
)
if
(
sd
<
0
)
{
{
LOG_E
(
MAC
,
"Socket creation error standalone PNF
\n
"
);
LOG_E
(
MAC
,
"Invalid standalone PNF Address
\n
"
);
return
;
close
(
sd
);
}
return
;
}
if
(
inet_pton
(
server_address
.
sin_family
,
addr
,
&
server_address
.
sin_addr
)
<=
0
)
{
// Using connect to use send() instead of sendto()
LOG_E
(
MAC
,
"Invalid standalone PNF Address
\n
"
);
if
(
connect
(
sd
,
(
struct
sockaddr
*
)
&
server_address
,
addr_len
)
<
0
)
close
(
sd
);
{
return
;
LOG_E
(
MAC
,
"Connection to standalone PNF failed: %s
\n
"
,
strerror
(
errno
));
close
(
sd
);
return
;
}
LOG_I
(
MAC
,
"Succeeded Now
\n
"
);
assert
(
ue_tx_sock_descriptor
==
-
1
);
ue_tx_sock_descriptor
=
sd
;
}
}
// Using connect to use send() instead of sendto()
{
while
(
connect
(
sd
,
(
struct
sockaddr
*
)
&
server_address
,
addr_len
)
<
0
)
{
struct
sockaddr_in
server_address
;
LOG_E
(
MAC
,
"Connection to standalone PNF failed: %s
\n
"
,
strerror
(
errno
));
int
addr_len
=
sizeof
(
server_address
);
sleep
(
1
);
memset
(
&
server_address
,
0
,
addr_len
);
server_address
.
sin_family
=
AF_INET
;
server_address
.
sin_port
=
htons
(
rx_port
);
int
sd
=
socket
(
server_address
.
sin_family
,
SOCK_DGRAM
,
0
);
if
(
sd
<
0
)
{
LOG_E
(
MAC
,
"Socket creation error standalone PNF
\n
"
);
return
;
}
if
(
inet_pton
(
server_address
.
sin_family
,
addr
,
&
server_address
.
sin_addr
)
<=
0
)
{
LOG_E
(
MAC
,
"Invalid standalone PNF Address
\n
"
);
close
(
sd
);
return
;
}
if
(
connect
(
sd
,
(
struct
sockaddr
*
)
&
server_address
,
addr_len
)
<
0
)
{
LOG_E
(
MAC
,
"Connection to standalone PNF failed: %s
\n
"
,
strerror
(
errno
));
close
(
sd
);
return
;
}
LOG_I
(
MAC
,
"Succeeded Now
\n
"
);
assert
(
ue_rx_sock_descriptor
==
-
1
);
ue_rx_sock_descriptor
=
sd
;
}
}
LOG_I
(
MAC
,
"Succeeded Now
\n
"
);
assert
(
ue_sock_descriptor
==
-
1
);
ue_sock_descriptor
=
sd
;
}
}
void
*
ue_standalone_pnf_task
(
void
*
context
)
void
*
ue_standalone_pnf_task
(
void
*
context
)
{
{
struct
sockaddr_in
server_address
;
int
addr_len
=
sizeof
(
server_address
);
int
addr_len
=
sizeof
(
server_address
);
char
buffer
[
1024
];
char
buffer
[
1024
];
int
sd
=
ue_sock_descriptor
;
int
sd
=
ue_
rx_
sock_descriptor
;
assert
(
sd
>
0
);
assert
(
sd
>
0
);
while
(
true
)
while
(
true
)
{
{
...
@@ -1282,27 +1321,27 @@ const char *hexdump(const void *data, size_t data_len, char *out, size_t out_len
...
@@ -1282,27 +1321,27 @@ const char *hexdump(const void *data, size_t data_len, char *out, size_t out_len
{
{
case
NFAPI_RACH_INDICATION
:
case
NFAPI_RACH_INDICATION
:
encoded_size
=
nfapi_p7_message_pack
(
&
UL
->
rach_ind
,
buffer
,
sizeof
(
buffer
),
NULL
);
encoded_size
=
nfapi_p7_message_pack
(
&
UL
->
rach_ind
,
buffer
,
sizeof
(
buffer
),
NULL
);
LOG_
D
(
MAC
,
"RACH_IND sent to Proxy, Size: %d
\n
"
,
encoded_size
);
LOG_
E
(
MAC
,
"RACH_IND sent to Proxy, Size: %d
\n
"
,
encoded_size
);
break
;
break
;
case
NFAPI_CRC_INDICATION
:
case
NFAPI_CRC_INDICATION
:
encoded_size
=
nfapi_p7_message_pack
(
&
UL
->
crc_ind
,
buffer
,
sizeof
(
buffer
),
NULL
);
encoded_size
=
nfapi_p7_message_pack
(
&
UL
->
crc_ind
,
buffer
,
sizeof
(
buffer
),
NULL
);
LOG_
D
(
MAC
,
"CRC_IND sent to Proxy, Size: %d
\n
"
,
encoded_size
);
LOG_
E
(
MAC
,
"CRC_IND sent to Proxy, Size: %d
\n
"
,
encoded_size
);
break
;
break
;
case
NFAPI_RX_ULSCH_INDICATION
:
// is this the right nfapi message_id? Ask Raymond
case
NFAPI_RX_ULSCH_INDICATION
:
// is this the right nfapi message_id? Ask Raymond
encoded_size
=
nfapi_p7_message_pack
(
&
UL
->
rx_ind
,
buffer
,
sizeof
(
buffer
),
NULL
);
encoded_size
=
nfapi_p7_message_pack
(
&
UL
->
rx_ind
,
buffer
,
sizeof
(
buffer
),
NULL
);
LOG_
D
(
MAC
,
"RX_IND sent to Proxy, Size: %d
\n
"
,
encoded_size
);
LOG_
E
(
MAC
,
"RX_IND sent to Proxy, Size: %d
\n
"
,
encoded_size
);
break
;
break
;
case
NFAPI_RX_CQI_INDICATION
:
// is this the right nfapi message_id? Ask Raymond
case
NFAPI_RX_CQI_INDICATION
:
// is this the right nfapi message_id? Ask Raymond
encoded_size
=
nfapi_p7_message_pack
(
&
UL
->
cqi_ind
,
buffer
,
sizeof
(
buffer
),
NULL
);
encoded_size
=
nfapi_p7_message_pack
(
&
UL
->
cqi_ind
,
buffer
,
sizeof
(
buffer
),
NULL
);
LOG_
D
(
MAC
,
"CQI_IND sent to Proxy, Size: %d
\n
"
,
encoded_size
);
LOG_
E
(
MAC
,
"CQI_IND sent to Proxy, Size: %d
\n
"
,
encoded_size
);
break
;
break
;
case
NFAPI_HARQ_INDICATION
:
case
NFAPI_HARQ_INDICATION
:
LOG_
D
(
MAC
,
"HARQ_IND sent to Proxy, Size: %d
\n
"
,
encoded_size
);
LOG_
E
(
MAC
,
"HARQ_IND sent to Proxy, Size: %d
\n
"
,
encoded_size
);
encoded_size
=
nfapi_p7_message_pack
(
&
UL
->
harq_ind
,
buffer
,
sizeof
(
buffer
),
NULL
);
encoded_size
=
nfapi_p7_message_pack
(
&
UL
->
harq_ind
,
buffer
,
sizeof
(
buffer
),
NULL
);
break
;
break
;
case
NFAPI_RX_SR_INDICATION
:
// is this the right nfapi message_id? Ask Raymond
case
NFAPI_RX_SR_INDICATION
:
// is this the right nfapi message_id? Ask Raymond
encoded_size
=
nfapi_p7_message_pack
(
&
UL
->
sr_ind
,
buffer
,
sizeof
(
buffer
),
NULL
);
encoded_size
=
nfapi_p7_message_pack
(
&
UL
->
sr_ind
,
buffer
,
sizeof
(
buffer
),
NULL
);
LOG_
D
(
MAC
,
"SR_IND sent to Proxy, Size: %d
\n
"
,
encoded_size
);
LOG_
E
(
MAC
,
"SR_IND sent to Proxy, Size: %d
\n
"
,
encoded_size
);
break
;
break
;
default:
default:
LOG_E
(
MAC
,
"%s Unknown Message msg_type :: %u
\n
"
,
__func__
,
msg_type
);
LOG_E
(
MAC
,
"%s Unknown Message msg_type :: %u
\n
"
,
__func__
,
msg_type
);
...
@@ -1313,7 +1352,7 @@ const char *hexdump(const void *data, size_t data_len, char *out, size_t out_len
...
@@ -1313,7 +1352,7 @@ const char *hexdump(const void *data, size_t data_len, char *out, size_t out_len
LOG_E
(
MAC
,
"standalone pack failed
\n
"
);
LOG_E
(
MAC
,
"standalone pack failed
\n
"
);
return
;
return
;
}
}
if
(
send
(
ue_sock_descriptor
,
buffer
,
encoded_size
,
0
)
<
0
)
if
(
send
(
ue_
tx_
sock_descriptor
,
buffer
,
encoded_size
,
0
)
<
0
)
{
{
LOG_E
(
MAC
,
"Send Proxy UE failed
\n
"
);
LOG_E
(
MAC
,
"Send Proxy UE failed
\n
"
);
return
;
return
;
...
@@ -1323,8 +1362,8 @@ const char *hexdump(const void *data, size_t data_len, char *out, size_t out_len
...
@@ -1323,8 +1362,8 @@ const char *hexdump(const void *data, size_t data_len, char *out, size_t out_len
void
send_standalone_dummy
()
void
send_standalone_dummy
()
{
{
static
const
uint16_t
dummy
[]
=
{
0
,
0
};
static
const
uint16_t
dummy
[]
=
{
0
,
0
};
LOG_
D
(
MAC
,
"Dummy sent to Proxy, Size: %zu
\n
"
,
sizeof
(
dummy
));
LOG_
E
(
MAC
,
"Dummy sent to Proxy, Size: %zu
\n
"
,
sizeof
(
dummy
));
if
(
send
(
ue_sock_descriptor
,
dummy
,
sizeof
(
dummy
),
0
)
<
0
)
if
(
send
(
ue_
tx_
sock_descriptor
,
dummy
,
sizeof
(
dummy
),
0
)
<
0
)
{
{
LOG_E
(
MAC
,
"send dummy to OAI UE failed: %s
\n
"
,
strerror
(
errno
));
LOG_E
(
MAC
,
"send dummy to OAI UE failed: %s
\n
"
,
strerror
(
errno
));
return
;
return
;
...
...
openair2/PHY_INTERFACE/phy_stub_UE.h
View file @
f2aed99d
...
@@ -139,7 +139,7 @@ int memcpy_hi_dci0_req (L1_rxtx_proc_t *proc, nfapi_pnf_p7_config_t* pnf_p7, nfa
...
@@ -139,7 +139,7 @@ int memcpy_hi_dci0_req (L1_rxtx_proc_t *proc, nfapi_pnf_p7_config_t* pnf_p7, nfa
void
UE_config_stub_pnf
(
void
);
void
UE_config_stub_pnf
(
void
);
// open an SCTP socket with a standalone PNF module
// open an SCTP socket with a standalone PNF module
void
ue_init_standalone_socket
(
const
char
*
addr
,
int
port
);
void
ue_init_standalone_socket
(
const
char
*
addr
,
int
tx_port
,
int
rx_
port
);
// read from standalone pnf socket call corresponding memcpy functions
// read from standalone pnf socket call corresponding memcpy functions
void
*
ue_standalone_pnf_task
(
void
*
context
);
void
*
ue_standalone_pnf_task
(
void
*
context
);
...
...
targets/RT/USER/lte-ue.c
View file @
f2aed99d
...
@@ -428,8 +428,9 @@ void init_UE_stub_single_thread(int nb_inst,
...
@@ -428,8 +428,9 @@ void init_UE_stub_single_thread(int nb_inst,
void
init_UE_standalone_thread
()
void
init_UE_standalone_thread
()
{
{
const
char
*
standalone_addr
=
"127.0.0.1"
;
// these two lines go into init
const
char
*
standalone_addr
=
"127.0.0.1"
;
// these two lines go into init
int
standalone_port
=
3289
;
int
standalone_tx_port
=
3211
;
ue_init_standalone_socket
(
standalone_addr
,
standalone_port
);
int
standalone_rx_port
=
3212
;
ue_init_standalone_socket
(
standalone_addr
,
standalone_tx_port
,
standalone_rx_port
);
pthread_t
thread
;
pthread_t
thread
;
if
(
pthread_create
(
&
thread
,
NULL
,
ue_standalone_pnf_task
,
NULL
)
!=
0
)
{
if
(
pthread_create
(
&
thread
,
NULL
,
ue_standalone_pnf_task
,
NULL
)
!=
0
)
{
...
@@ -442,7 +443,7 @@ void init_UE_stub(int nb_inst,
...
@@ -442,7 +443,7 @@ void init_UE_stub(int nb_inst,
int
uecap_xer_in
,
int
uecap_xer_in
,
char
*
emul_iface
)
char
*
emul_iface
)
{
{
int
inst
;
int
inst
;
LOG_I
(
PHY
,
"UE : Calling Layer 2 for initialization
\n
"
);
LOG_I
(
PHY
,
"UE : Calling Layer 2 for initialization
\n
"
);
l2_init_ue
(
eMBMS_active
,(
uecap_xer_in
==
1
)
?
uecap_xer
:
NULL
,
l2_init_ue
(
eMBMS_active
,(
uecap_xer_in
==
1
)
?
uecap_xer
:
NULL
,
0
,
// cba_group_active
0
,
// cba_group_active
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment