Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
O
OpenXG-RAN
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
canghaiwuhen
OpenXG-RAN
Commits
ad9411fc
Commit
ad9411fc
authored
8 years ago
by
Sandeep Kumar
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
changes to allow if4 specific eth transport modes
parent
e5132ebf
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
79 additions
and
17 deletions
+79
-17
openair2/ENB_APP/enb_config.c
openair2/ENB_APP/enb_config.c
+4
-0
openair2/ENB_APP/enb_config.h
openair2/ENB_APP/enb_config.h
+2
-0
targets/ARCH/ETHERNET/USERSPACE/LIB/eth_raw.c
targets/ARCH/ETHERNET/USERSPACE/LIB/eth_raw.c
+1
-0
targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c
targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c
+1
-0
targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
+1
-2
targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.h
targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.h
+1
-14
targets/ARCH/ETHERNET/USERSPACE/LIB/if_defs.h
targets/ARCH/ETHERNET/USERSPACE/LIB/if_defs.h
+57
-0
targets/RT/USER/lte-softmodem.c
targets/RT/USER/lte-softmodem.c
+12
-1
No files found.
openair2/ENB_APP/enb_config.c
View file @
ad9411fc
...
@@ -2242,6 +2242,10 @@ const Enb_properties_array_t *enb_config_init(char* lib_config_file_name_pP)
...
@@ -2242,6 +2242,10 @@ const Enb_properties_array_t *enb_config_init(char* lib_config_file_name_pP)
enb_properties
.
properties
[
enb_properties_index
]
->
rrh_gw_config
[
j
].
udp
=
1
;
enb_properties
.
properties
[
enb_properties_index
]
->
rrh_gw_config
[
j
].
udp
=
1
;
}
else
if
(
strcmp
(
tr_preference
,
"raw"
)
==
0
)
{
}
else
if
(
strcmp
(
tr_preference
,
"raw"
)
==
0
)
{
enb_properties
.
properties
[
enb_properties_index
]
->
rrh_gw_config
[
j
].
raw
=
1
;
enb_properties
.
properties
[
enb_properties_index
]
->
rrh_gw_config
[
j
].
raw
=
1
;
}
else
if
(
strcmp
(
tr_preference
,
"udpif4"
)
==
0
)
{
enb_properties
.
properties
[
enb_properties_index
]
->
rrh_gw_config
[
j
].
udpif4
=
1
;
}
else
if
(
strcmp
(
tr_preference
,
"rawif4"
)
==
0
)
{
enb_properties
.
properties
[
enb_properties_index
]
->
rrh_gw_config
[
j
].
rawif4
=
1
;
}
else
{
//if (strcmp(preference, "no") == 0)
}
else
{
//if (strcmp(preference, "no") == 0)
enb_properties
.
properties
[
enb_properties_index
]
->
rrh_gw_config
[
j
].
udp
=
1
;
enb_properties
.
properties
[
enb_properties_index
]
->
rrh_gw_config
[
j
].
udp
=
1
;
enb_properties
.
properties
[
enb_properties_index
]
->
rrh_gw_config
[
j
].
raw
=
1
;
enb_properties
.
properties
[
enb_properties_index
]
->
rrh_gw_config
[
j
].
raw
=
1
;
...
...
This diff is collapsed.
Click to expand it.
openair2/ENB_APP/enb_config.h
View file @
ad9411fc
...
@@ -86,6 +86,8 @@ typedef struct rrh_gw_config_s {
...
@@ -86,6 +86,8 @@ typedef struct rrh_gw_config_s {
char
*
remote_address
;
char
*
remote_address
;
uint16_t
local_port
;
uint16_t
local_port
;
uint16_t
remote_port
;
uint16_t
remote_port
;
uint8_t
udpif4
;
uint8_t
rawif4
;
int
tx_scheduling_advance
;
int
tx_scheduling_advance
;
int
tx_sample_advance
;
int
tx_sample_advance
;
int
iq_txshift
;
int
iq_txshift
;
...
...
This diff is collapsed.
Click to expand it.
targets/ARCH/ETHERNET/USERSPACE/LIB/eth_raw.c
View file @
ad9411fc
...
@@ -51,6 +51,7 @@
...
@@ -51,6 +51,7 @@
#include "common_lib.h"
#include "common_lib.h"
#include "ethernet_lib.h"
#include "ethernet_lib.h"
#include "if_defs.h"
#define DEBUG 0
#define DEBUG 0
...
...
This diff is collapsed.
Click to expand it.
targets/ARCH/ETHERNET/USERSPACE/LIB/eth_udp.c
View file @
ad9411fc
...
@@ -52,6 +52,7 @@
...
@@ -52,6 +52,7 @@
#include "common_lib.h"
#include "common_lib.h"
#include "ethernet_lib.h"
#include "ethernet_lib.h"
#include "if_defs.h"
#define DEBUG 0
#define DEBUG 0
struct
sockaddr_in
dest_addr
[
MAX_INST
];
struct
sockaddr_in
dest_addr
[
MAX_INST
];
...
...
This diff is collapsed.
Click to expand it.
targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.c
View file @
ad9411fc
...
@@ -51,7 +51,7 @@
...
@@ -51,7 +51,7 @@
#include "common_lib.h"
#include "common_lib.h"
#include "ethernet_lib.h"
#include "ethernet_lib.h"
#include "if_defs.h"
int
num_devices_eth
=
0
;
int
num_devices_eth
=
0
;
struct
sockaddr_in
dest_addr
[
MAX_INST
];
struct
sockaddr_in
dest_addr
[
MAX_INST
];
...
@@ -336,7 +336,6 @@ int transport_init(openair0_device *device, openair0_config_t *openair0_cfg, eth
...
@@ -336,7 +336,6 @@ int transport_init(openair0_device *device, openair0_config_t *openair0_cfg, eth
device
->
trx_set_freq_func
=
trx_eth_set_freq
;
device
->
trx_set_freq_func
=
trx_eth_set_freq
;
device
->
trx_set_gains_func
=
trx_eth_set_gains
;
device
->
trx_set_gains_func
=
trx_eth_set_gains
;
/// handle if4 eth read and write functions
if
(
eth
->
flags
==
ETH_RAW_MODE
)
{
if
(
eth
->
flags
==
ETH_RAW_MODE
)
{
device
->
trx_write_func
=
trx_eth_write_raw
;
device
->
trx_write_func
=
trx_eth_write_raw
;
device
->
trx_read_func
=
trx_eth_read_raw
;
device
->
trx_read_func
=
trx_eth_read_raw
;
...
...
This diff is collapsed.
Click to expand it.
targets/ARCH/ETHERNET/USERSPACE/LIB/ethernet_lib.h
View file @
ad9411fc
...
@@ -52,25 +52,12 @@
...
@@ -52,25 +52,12 @@
#define MAX_INST 4
#define MAX_INST 4
#define DEFAULT_IF "lo"
#define DEFAULT_IF "lo"
#define ETH_RAW_MODE 1
#define ETH_UDP_MODE 0
#define ETH_RAW_IF4_MODE 3
#define ETH_UDP_IF4_MODE 2
#define TX_FLAG 1
#define TX_FLAG 1
#define RX_FLAG 0
#define RX_FLAG 0
#
define MAX_PACKET_SEQ_NUM(spp,spf) (spf/spp)
#
include "if_defs.h"
#define MAC_HEADER_SIZE_BYTES (sizeof(struct ether_header))
#define MAC_HEADER_SIZE_BYTES (sizeof(struct ether_header))
#define APP_HEADER_SIZE_BYTES (sizeof(int32_t) + sizeof(openair0_timestamp))
#define APP_HEADER_SIZE_BYTES (sizeof(int32_t) + sizeof(openair0_timestamp))
#define PAYLOAD_SIZE_BYTES(nsamps) (nsamps<<2)
#define UDP_PACKET_SIZE_BYTES(nsamps) (APP_HEADER_SIZE_BYTES + PAYLOAD_SIZE_BYTES(nsamps))
#define RAW_PACKET_SIZE_BYTES(nsamps) (APP_HEADER_SIZE_BYTES + MAC_HEADER_SIZE_BYTES + PAYLOAD_SIZE_BYTES(nsamps))
#define DATA_BLOCK_SIZE_BYTES(scaled_nblocks) (2*scaled_nblocks)
#define RAW_IF4_PDLFFT_SIZE_BYTES(nblocks) (MAC_HEADER_SIZE_BYTES + sizeof_IF4_dl_header_t + DATA_BLOCK_SIZE_BYTES(nblocks))
#define RAW_IF4_PULFFT_SIZE_BYTES(nblocks) (MAC_HEADER_SIZE_BYTES + sizeof_IF4_ul_header_t + DATA_BLOCK_SIZE_BYTES(nblocks))
#define RAW_IF4_PRACH_SIZE_BYTES(nblocks) (MAC_HEADER_SIZE_BYTES + sizeof_IF4_prach_header_t + DATA_BLOCK_SIZE_BYTES(nblocks))
/*!\brief opaque ethernet data structure */
/*!\brief opaque ethernet data structure */
typedef
struct
{
typedef
struct
{
...
...
This diff is collapsed.
Click to expand it.
targets/ARCH/ETHERNET/USERSPACE/LIB/if_defs.h
0 → 100644
View file @
ad9411fc
/*******************************************************************************
OpenAirInterface
Copyright(c) 1999 - 2014 Eurecom
OpenAirInterface is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenAirInterface is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with OpenAirInterface.The full GNU General Public License is
included in this distribution in the file called "COPYING". If not,
see <http://www.gnu.org/licenses/>.
Contact Information
OpenAirInterface Admin: openair_admin@eurecom.fr
OpenAirInterface Tech : openair_tech@eurecom.fr
OpenAirInterface Dev : openair4g-devel@lists.eurecom.fr
Address : Eurecom, Campus SophiaTech, 450 Route des Chappes, CS 50193 - 06904 Biot Sophia Antipolis cedex, FRANCE
*******************************************************************************/
/*! \file targets/ARCH/ETHERNET/USERSPACE/LIB/if_defs.h
* \brief
* \author S. Sandeep Kumar, Raymond Knopp
* \date 2016
* \version 0.1
* \company Eurecom
* \email: ee13b1025@iith.ac.in, knopp@eurecom.fr
* \note
* \warning
*/
// ETH transport preference modes
#define ETH_UDP_MODE 0
#define ETH_RAW_MODE 1
#define ETH_UDP_IF4_MODE 2
#define ETH_RAW_IF4_MODE 3
// Time domain RRH packet sizes
#define MAX_PACKET_SEQ_NUM(spp,spf) (spf/spp)
#define PAYLOAD_SIZE_BYTES(nsamps) (nsamps<<2)
#define UDP_PACKET_SIZE_BYTES(nsamps) (APP_HEADER_SIZE_BYTES + PAYLOAD_SIZE_BYTES(nsamps))
#define RAW_PACKET_SIZE_BYTES(nsamps) (APP_HEADER_SIZE_BYTES + MAC_HEADER_SIZE_BYTES + PAYLOAD_SIZE_BYTES(nsamps))
// Packet sizes for IF4 interface format
#define DATA_BLOCK_SIZE_BYTES(scaled_nblocks) (2*scaled_nblocks)
#define RAW_IF4_PDLFFT_SIZE_BYTES(nblocks) (MAC_HEADER_SIZE_BYTES + sizeof_IF4_dl_header_t + DATA_BLOCK_SIZE_BYTES(nblocks))
#define RAW_IF4_PULFFT_SIZE_BYTES(nblocks) (MAC_HEADER_SIZE_BYTES + sizeof_IF4_ul_header_t + DATA_BLOCK_SIZE_BYTES(nblocks))
#define RAW_IF4_PRACH_SIZE_BYTES(nblocks) (MAC_HEADER_SIZE_BYTES + sizeof_IF4_prach_header_t + DATA_BLOCK_SIZE_BYTES(nblocks))
This diff is collapsed.
Click to expand it.
targets/RT/USER/lte-softmodem.c
View file @
ad9411fc
...
@@ -65,6 +65,7 @@
...
@@ -65,6 +65,7 @@
//#undef FRAME_LENGTH_COMPLEX_SAMPLES //there are two conflicting definitions, so we better make sure we don't use it at all
//#undef FRAME_LENGTH_COMPLEX_SAMPLES //there are two conflicting definitions, so we better make sure we don't use it at all
#include "../../ARCH/COMMON/common_lib.h"
#include "../../ARCH/COMMON/common_lib.h"
#include "../../ARCH/ETHERNET/USERSPACE/LIB/if_defs.h"
//#undef FRAME_LENGTH_COMPLEX_SAMPLES //there are two conflicting definitions, so we better make sure we don't use it at all
//#undef FRAME_LENGTH_COMPLEX_SAMPLES //there are two conflicting definitions, so we better make sure we don't use it at all
...
@@ -1016,7 +1017,17 @@ static void get_options (int argc, char **argv)
...
@@ -1016,7 +1017,17 @@ static void get_options (int argc, char **argv)
(
eth_params
+
j
)
->
my_port
=
enb_properties
->
properties
[
i
]
->
rrh_gw_config
[
j
].
local_port
;
(
eth_params
+
j
)
->
my_port
=
enb_properties
->
properties
[
i
]
->
rrh_gw_config
[
j
].
local_port
;
(
eth_params
+
j
)
->
remote_addr
=
enb_properties
->
properties
[
i
]
->
rrh_gw_config
[
j
].
remote_address
;
(
eth_params
+
j
)
->
remote_addr
=
enb_properties
->
properties
[
i
]
->
rrh_gw_config
[
j
].
remote_address
;
(
eth_params
+
j
)
->
remote_port
=
enb_properties
->
properties
[
i
]
->
rrh_gw_config
[
j
].
remote_port
;
(
eth_params
+
j
)
->
remote_port
=
enb_properties
->
properties
[
i
]
->
rrh_gw_config
[
j
].
remote_port
;
(
eth_params
+
j
)
->
transp_preference
=
enb_properties
->
properties
[
i
]
->
rrh_gw_config
[
j
].
raw
;
if
(
enb_properties
->
properties
[
i
]
->
rrh_gw_config
[
j
].
raw
==
1
)
{
(
eth_params
+
j
)
->
transp_preference
=
ETH_RAW_MODE
;
}
else
if
(
enb_properties
->
properties
[
i
]
->
rrh_gw_config
[
j
].
rawif4
==
1
)
{
(
eth_params
+
j
)
->
transp_preference
=
ETH_RAW_IF4_MODE
;
}
else
if
(
enb_properties
->
properties
[
i
]
->
rrh_gw_config
[
j
].
udpif4
==
1
)
{
(
eth_params
+
j
)
->
transp_preference
=
ETH_UDP_IF4_MODE
;
}
else
{
(
eth_params
+
j
)
->
transp_preference
=
ETH_UDP_MODE
;
}
(
eth_params
+
j
)
->
iq_txshift
=
enb_properties
->
properties
[
i
]
->
rrh_gw_config
[
j
].
iq_txshift
;
(
eth_params
+
j
)
->
iq_txshift
=
enb_properties
->
properties
[
i
]
->
rrh_gw_config
[
j
].
iq_txshift
;
(
eth_params
+
j
)
->
tx_sample_advance
=
enb_properties
->
properties
[
i
]
->
rrh_gw_config
[
j
].
tx_sample_advance
;
(
eth_params
+
j
)
->
tx_sample_advance
=
enb_properties
->
properties
[
i
]
->
rrh_gw_config
[
j
].
tx_sample_advance
;
(
eth_params
+
j
)
->
tx_scheduling_advance
=
enb_properties
->
properties
[
i
]
->
rrh_gw_config
[
j
].
tx_scheduling_advance
;
(
eth_params
+
j
)
->
tx_scheduling_advance
=
enb_properties
->
properties
[
i
]
->
rrh_gw_config
[
j
].
tx_scheduling_advance
;
...
...
This diff is collapsed.
Click to expand it.
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