• Kirill Smelkov's avatar
    software/ors-amarisoft: enb: Start to generalize the code to handle multiple cells · d015c20c
    Kirill Smelkov authored
    As with Radio Units organize a registry of cells and start to handle that
    registry generally everywhere. Make parameters that configure cells, for
    example tdd_ul_dl_config, dl_earfcn, bandwidth, pci, etc to be per-cell.
    
    Cell registry is still populated from cell_list and slapparameter_dict.
    
    Tests will be added later as full tests for generic MultiRU.
    
    Rendered enb.cfg and gnb.cfg stay practically the same.
    
    Backward compatibility: no change for ORS; For everything else cell parameters
    stop to be global and are moved to cell_list.
    
    --------
    
    Appendix. Diff for rendered enb.cfg and gnb.cfg before and after this patch:
    
    ```
    $ ./pythonwitheggs slapos-render-config.py && xdiff -w config/{old,out}
    ```
    
    ```diff
    diff --git a/config/old/enb.cfg b/config/out/enb.cfg
    index 5c6743c21..1b39f7044 100644
    --- a/config/old/enb.cfg
    +++ b/config/out/enb.cfg
    @@ -1,6 +1,3 @@
    -
    -
    -
     {
       log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,s1ap.level=debug,s1ap.max_size=1,x2ap.level=debug,x2ap.max_size=1,rrc.level=debug,rrc.max_size=1,ngap.level=debug,ngap.max_size=1,xnap.level=debug,xnap.max_size=1,phy.level=info,file.rotate=1G,file.path=/dev/null",
       log_filename: "log/enb.log",
    @@ -93,11 +90,11 @@
           srs_hopping_bandwidth: 0,
         },
    
    -    drb_config: "drb",
    +    drb_config: "default-drb.cfg",
    
         sib_sched_list: [
           {
    -        filename: "sib",
    +        filename: "default-sib23.asn",
             si_periodicity: 16,
           },
         ],
    diff --git a/config/old/gnb.cfg b/config/out/gnb.cfg
    index 6b04559c6..1fa637925 100644
    --- a/config/old/gnb.cfg
    +++ b/config/out/gnb.cfg
    @@ -1,6 +1,3 @@
    -
    -
    -
     {
       log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,s1ap.level=debug,s1ap.max_size=1,x2ap.level=debug,x2ap.max_size=1,rrc.level=debug,rrc.max_size=1,ngap.level=debug,ngap.max_size=1,xnap.level=debug,xnap.max_size=1,phy.level=info,file.rotate=1G,file.path=/dev/null",
       log_filename: "log/enb.log",
    @@ -77,7 +74,6 @@
         manual_ref_signal_power: true,
         ss_pbch_block_power: 8,
    
    -
         tdd_ul_dl_config: {
           pattern1: {
              period: 5, /* in ms */
    @@ -148,7 +144,7 @@
           ],
         },
    
    -    drb_config: "drb",
    +    drb_config: "default-drb.cfg",
       },
       ],
       nr_cell_default: {
    ```
    d015c20c
instance-tdd-enb-input-schema.json 9.42 KB