[OpenAirInterface practice-14]: OAI nFAPI VNF/PNV continuous integration test xml configuration details

Author home page( Silicon based workshop of slow fire rock sugar): Slow fire rock sugar (Wang Wenbing) blog silicon based workshop of slow fire rock sugar _csdnblog

Website of this article: https://blog.csdn.net/HiWangWenBing/article/details/120850348

catalogue

1. nFAPI continuous integration test documents

1.1 description of continuous integration

one point two   Configuration file storage path

one point three   Profile type

Chapter 2 configuration of VNF and PNF running on the same machine or virtual machine (stand-alone version)

Chapter 3 configuration of VNF and PNF running on the same machine or virtual machine (multi machine version)

1. nFAPI continuous integration test documents

1.1 description of continuous integration

(1) The continuous integration configuration file described in this paper refers to the configuration of nFAPI's own integration test. This test can be realized without the L2 and L3 software of the base station.

(2) nFAPI can also be tested through L2. In this test mode, there is a configuration file of the base station, which configures nFAP and the base station. This method is not within the scope of this paper.

(3) The test focuses on the nFAPI protocol stack itself and the functions of PHY and RF under the nFAPI layer, including VNF and PNF, including P5 and P7 interfaces.

(4) nFAPI testing supports one VNF + multiple PNF S

(5) nFAPI testing supports a PNF+   Multiple phys

(6) nFAPI testing supports a PHY  +  Multiple RFIC s

one point two   Configuration file storage path

oai/openairinterface5g/nfapi/open-nFAPI/xml/

one point three   Profile type

(1) Configuration where VNF and PNF run on the same machine or virtual machine

pnf_phy_1_A_ws.xml  

vnf_A_ws.xml  

(2) VNF and PNF run on different machines or virtual machines

vnf_A.xml                 => VNF configuration

pnf_phy_1_A.xml     => Configuration a of the first PHY

pnf_phy_1_B.xml     => Configuration B of the first PHY

pnf_phy_2_A.xml     => Configuration a of the second PHY

Note: the test environment supports one vnf + two PNF S

Chapter 2 configuration of VNF and PNF running on the same machine or virtual machine (stand-alone version)

two point one   VNF configuration

<?xml version="1.0" encoding="UTF-8"?>
<vnf>

        <vnf_p7_list>
                <vnf_p7>
                        <wireshark_test_mode>1</wireshark_test_mode>  # Turn on the wireshark_test switch
                        <port>5200</port>                   # Port number of VNF P5 interface
                        <address>127.0.0.1</address>        # The IP address of VNF P5 interface is the local address  
                        <timing_window>10</timing_window>   #   The window is 10ms
                        <periodic_timing_enabled>0</periodic_timing_enabled> # To turn off periodic timing, only one timing is required.
                        <periodic_timing_window>0</periodic_timing_window>  #   A timing period of periodic timing.
                        <aperiodic_timing_enabled>0</aperiodic_timing_enabled> #Turn off irregular timing. Only one timing is required

                        <data>
                                <udp>
                                        <rx_port>8891</rx_port>      # Port number of VNF P7 interface for receiving data
                                        <tx_addr>127.0.0.1</tx_addr>  # The IP address of VNF P7 interface is the local loopback address
                                        <tx_port>8892</tx_port>   #   Port number of VNF P7 interface to send data
                                </udp>
                        </data>
                </vnf_p7>
        </vnf_p7_list>
</vnf>

The most important configuration of VNF is:

  • Specify the IP address and port number of P7 and P5 interfaces of VNF
  • Timing synchronization mechanism with PNF
  • Do you need to collect NFAPI packets in wireshark format

two point two   PNF configuration

../oai/openairinterface5g/nfapi/open-nFAPI/xml>cat pnf_phy_1_A_ws.xml
<?xml version="1.0" encoding="UTF-8"?>
<pnf>
        <wireshark_test_mode>1</wireshark_test_mode>  #Turn on the wireshark test switch

        <sync_mode>0</sync_mode>                       # pss=0, pbch=1, si=2
        <location_mode>0</location_mode>
        <location_coordinates></location_coordinates>  # GPS address

        <dl_config_timing>500</dl_config_timing>       # Uplink timing: 0.5s
        <ul_config_timing>500</ul_config_timing>       # Downlink timing: 0.5s
        <tx_timing>500</tx_timing>                     # Transmission timing: 0.5s
        <hi_dci0_timing>500</hi_dci0_timing>           # DCI0 timing 0.5s

        <max_phys>1</max_phys>                         #  Number of phy s supported
        <max_total_bandwidth>30</max_total_bandwidth>   #  Supported bandwidth: 30 PRB S
        <max_total_num_dl_layers>1</max_total_num_dl_layers>  #Supported downlink MIMO layer: layer 1
        <max_total_num_ul_layers>1</max_total_num_ul_layers>  #Supported uplink MIMO layer: layer 1

        <shared_bands>0</shared_bands>                        # Shared bandwidth
        <shared_pas>0</shared_pas>                            # ???

        <maximum_total_power>0</maximum_total_power>          # Maximum power, no idle

        <oui>ALPHA</oui>                                      # oui=ALPHA


        <phys>
                <phy>
                        <index>88</index>                    # phy index
                        <port>2500</port>                    # PHY P5 port number
                        <address>127.0.0.1</address>         # PHY address

                        <duplex_mode>1</duplex_mode>         # Duplex mode: full duplex

                        <downlink_channel_bandwidth_support>22</downlink_channel_bandwidth_support> #downstream bandwidth 
                        <uplink_channel_bandwidth_support>22</uplink_channel_bandwidth_support>  #Uplink bandwidth

                        <number_of_dl_layers>1</number_of_dl_layers>     #Downlink layers
                        <number_of_ul_layers>1</number_of_ul_layers>     #Number of uplink layers

                        <3gpp_release_supported>31</3gpp_release_supported> #3GGPP release

                        <nmm_modes_supported>0</nmm_modes_supported> #Support???

                        <dl_ues_per_subframe>8</dl_ues_per_subframe> #The number of downlink ues scheduled per subframe.
                        <ul_ues_per_subframe>8</ul_ues_per_subframe> #The number of uplink ues scheduled per subframe.

                        <!-- todo adn the other release parameters -->

                        <rfs>
                                <index>0</index>     # RF id
                        </rfs>
                        <excluded_rfs>
                                <index>1</index>     # RF id
                        </excluded_rfs>

                        <data>
                                <udp>
                                        <rx_port>7722</rx_port>        # Receiving port number of P7 interface
                                        <tx_addr>127.0.0.1</tx_addr>   # IP address of P7 interface
                                        <tx_port>7733</tx_port>        # Sending port number of P7 interface
                                </udp>
                        </data>
                </phy>
        </phys>
        <rfs>
                <rf>
                        <index>0</index>      # RFIC card number 0, one RF module can carry multiple RFICs
                        <band>2</band>                                  # RF band number
                        <max_transmit_power>-30</max_transmit_power>    # Maximum transmit power
                        <min_transmit_power>-230</min_transmit_power>   # Minimum transmit power
                        <num_antennas_supported>2</num_antennas_supported> #Number of supported antennas 2T2R
                        <min_downlink_frequency>1890</min_downlink_frequency> # Downlink Frequency 
                        <max_downlink_frequency>1890</max_downlink_frequency> # Downlink Frequency 
                        <max_uplink_frequency>1890</max_uplink_frequency>     # Uplink frequency
                        <min_uplink_frequency>1890</min_uplink_frequency>     # Uplink frequency
                </rf>
                <rf>
                        <index>1</index>                      # Number of RFIC card 1
                        <band>3</band>                         
                        <max_transmit_power>-30</max_transmit_power> 
                        <min_transmit_power>-230</min_transmit_power>
                        <num_antennas_supported>2</num_antennas_supported>
                        <min_downlink_frequency>1890</min_downlink_frequency> #TDD model
                        <max_downlink_frequency>1890</max_downlink_frequency>
                        <max_uplink_frequency>1890</max_uplink_frequency> #TDD model
                        <min_uplink_frequency>1890</min_uplink_frequency>
                </rf>
        </rfs>
</pnf>

If it is a virtual environment, the most important configuration of PNF is:

  • Specify the IP address and port number of P7 and P5 interfaces of VNF
  • Timing synchronization mechanism with PNF
  • Do you need to collect NFAPI packets in wireshark format
  • Other parameters can use the default.

remarks:

  • The same PNF can manage multiple PHY entities.
  • The same PHY entity can connect multiple RFIC s
  • Different RFICs can be different bands or support the same Band. For example, two 2T2R RFICs can be spliced into a 4T4T RFIC

Chapter 3 configuration of VNF and PNF running on the same machine or virtual machine (multi machine version)

three point one   VNF configuration

<?xml version="1.0" encoding="UTF-8"?>
<vnf>
        <vnf_p7_list>
                <vnf_p7>
                        <port>5201</port>
                        <address>192.168.1.28</address>   # Specifies the IP address of the P5 interface, which is used to communicate with PNF S that are not on the same machine.
                        <timing_window>10</timing_window>
                        <periodic_timing_enabled>0</periodic_timing_enabled>
                        <periodic_timing_window>0</periodic_timing_window>
                        <aperiodic_timing_enabled>0</aperiodic_timing_enabled>

                        <data>
                                <udp>
                                        <rx_port>8891</rx_port>
                                        <tx_addr>192.168.1.28</tx_addr>  #Specifies the IP address of the P7 interface for communicating with PNF S that are not on the same machine.
                                        <tx_port>8892</tx_port>
                                </udp>
                        </data>
                </vnf_p7>
        </vnf_p7_list>
</vnf>

remarks:

Compared with the stand-alone version, the IP addresses of P5 and P7 interfaces of VNF need to be specified in the multi machine version.

three point two   PNF configuration

<?xml version="1.0" encoding="UTF-8"?>
<pnf>
        <sync_mode>0</sync_mode>
        <location_mode>0</location_mode>
        <location_coordinates></location_coordinates>

        <dl_config_timing>500</dl_config_timing>
        <ul_config_timing>500</ul_config_timing>
        <tx_timing>500</tx_timing>
        <hi_dci0_timing>500</hi_dci0_timing>

        <max_phys>1</max_phys>
        <max_total_bandwidth>30</max_total_bandwidth>
        <max_total_num_dl_layers>1</max_total_num_dl_layers>
        <max_total_num_ul_layers>1</max_total_num_ul_layers>

        <shared_bands>0</shared_bands>
        <shared_pas>0</shared_pas>

        <maximum_total_power>0</maximum_total_power>

        <oui>ALPHA</oui>


        <phys>
                <phy>
                        <index>88</index>
                        <port>2500</port>
                        <address>192.168.1.74</address>

                        <duplex_mode>1</duplex_mode>

                        <downlink_channel_bandwidth_support>22</downlink_channel_bandwidth_support>
                        <uplink_channel_bandwidth_support>22</uplink_channel_bandwidth_support>

                        <number_of_dl_layers>1</number_of_dl_layers>
                        <number_of_ul_layers>1</number_of_ul_layers>

                        <3gpp_release_supported>31</3gpp_release_supported>

                        <nmm_modes_supported>0</nmm_modes_supported>

                        <dl_ues_per_subframe>8</dl_ues_per_subframe>
                        <ul_ues_per_subframe>8</ul_ues_per_subframe>

                        <!-- todo adn the other release parameters -->

                        <rfs>
                                <index>0</index>
                        </rfs>
                        <excluded_rfs>
                                <index>1</index>
                        </excluded_rfs>

                        <data>
                                <udp>
                                        <rx_port>5201</rx_port>
                                        <tx_addr>192.168.1.28</tx_addr>
                                        <tx_port>5200</tx_port>
                                </udp>
                        </data>
                </phy>
        </phys>
        <rfs>
                <rf>
                        <index>0</index>
                        <band>2</band>
                        <max_transmit_power>-30</max_transmit_power>
                        <min_transmit_power>-230</min_transmit_power>
                        <num_antennas_supported>2</num_antennas_supported>
                        <min_downlink_frequency>1890</min_downlink_frequency>
                        <max_downlink_frequency>1890</max_downlink_frequency>
                        <max_uplink_frequency>1890</max_uplink_frequency>
                        <min_uplink_frequency>1890</min_uplink_frequency>
                </rf>
                <rf>
                        <index>1</index>
                        <band>3</band>
                        <max_transmit_power>-30</max_transmit_power>
                        <min_transmit_power>-230</min_transmit_power>
                        <num_antennas_supported>2</num_antennas_supported>
                        <min_downlink_frequency>1890</min_downlink_frequency>
                        <max_downlink_frequency>1890</max_downlink_frequency>
                        <max_uplink_frequency>1890</max_uplink_frequency>
                        <min_uplink_frequency>1890</min_uplink_frequency>
                </rf>
        </rfs>
</pnf>

Compared with stand-alone version, the most important changes are:

  • IP address and port number of PNF P5 and P7 interfaces.

Author home page( Silicon based workshop of slow fire rock sugar): Slow fire rock sugar (Wang Wenbing) blog silicon based workshop of slow fire rock sugar _csdnblog

Website of this article: https://blog.csdn.net/HiWangWenBing/article/details/120850348

Posted by JamieWAstin on Sun, 24 Oct 2021 07:42:12 -0700