tree: a2436f49e732e94c62cd0017d74da141a4ffb068 [path history] [tgz]
  1. network_generation/
  2. tests/
  3. .gitignore
  4. config.json
  5. CONTRIBUTING.md
  6. HISTORY.md
  7. Makefile
  8. MANIFEST.in
  9. mkdocs.yml
  10. README.md
  11. requirements-test.txt
  12. requirements.txt
  13. test_config.json
code/network-generator/README.md

Network Generator

This projects generates a view of a telecommunication network composed of RAN, Transport, 5G-Core, O-Cloud and SMO functions associated with the O-RAN Alliance architecture.

Please note that a single 5G frequency represents a single sector, represents a single NRCellDU, represents a single O-RU, represents a single O-DU.

Each sector/cell covers an angle of 120° where the tower is represented by the center of a hexagon. 3 sectors/cells cover with azimuths [0°,120°,240°] cover an area around the tower. O-RUs are mounted add the tower. O-DUs are located in data center (o-cloud resource pool).

Prerequisites

$ cat /etc/os-release | grep -oP 'PRETTY_NAME="\K[^"]+'
Ubuntu 22.04.3 LTS

$ python3 --version
Python 3.10.12

For validation purposes libyang is recommended. Please follow the libyang installation instructions.

Usage

make virtual_env_4_oam
source .oam/bin/activate
python3 -m network_generation config.json

Output

By default the generated files can be found in the 'output' folder:

Output validation

yanglint \
network_generation/model/yang/ietf-network.yang \
network_generation/model/yang/ietf-network-topology.yang \
network_generation/model/yang/o-ran-common-identity-refs.yang \
network_generation/model/yang/o-ran-sc-network.yang \
\
output/o-ran-network-operational.json 

Development

Read the CONTRIBUTING.md file.