ue.jinja2.cfg 3.84 KB
Newer Older
Kirill Smelkov's avatar
.  
Kirill Smelkov committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14
{%- import 'amari_slap.jinja2' as slaplte  with context %}
{%- set J               = slaplte.J %}
{%- set jcell_ru_ref    = slaplte.jcell_ru_ref %}

{#- for standalone testing via slapos-render-config.py
    NOTE: keep in sync with instance-ue.jinja2.cfg and ru/libinstance.jinja2.cfg   #}
{%- if _standalone is defined                                                 %}
{%-   set iru_dict   = {}                                                     %}
{%-   set icell_dict = {}                                                     %}
{%-   set iue_dict   = {}                                                     %}
{%-   do slaplte.load_iru_and_icell(iru_dict, icell_dict, icell_kind='ue')    %}
{%-   do slaplte.load_iue(iue_dict)                                           %}
{%-   do slaplte.check_loaded_everything()                                    %}
{%- endif                                                                     %}
Kirill Smelkov's avatar
.  
Kirill Smelkov committed
15

Kirill Smelkov's avatar
.  
Kirill Smelkov committed
16

Kirill Smelkov's avatar
.  
Kirill Smelkov committed
17
{#- start of the config -#}
18 19 20 21 22 23 24
{
  log_options: "all.level=error,all.max_size=0,nas.level=debug,nas.max_size=1,rrc.level=debug,rrc.max_size=1,phy.level=info,file.rotate=1G,file.path=/dev/null",
  log_filename: "{{ directory['log'] }}/ue.log",

  rue_bind_addr: "{{ pub_info['rue_bind_addr'] }}",
  com_addr: "{{ pub_info['com_addr'] }}",

Kirill Smelkov's avatar
.  
Kirill Smelkov committed
25
{# instantiate radio units #}
Kirill Smelkov's avatar
.  
Kirill Smelkov committed
26
{{ slaplte.ru_config(iru_dict, slapparameter_dict) }}
Kirill Smelkov's avatar
.  
Kirill Smelkov committed
27

Kirill Smelkov's avatar
.  
Kirill Smelkov committed
28

29
  cell_groups: [{
Kirill Smelkov's avatar
.  
Kirill Smelkov committed
30 31
    // LTE cells
    group_type: "lte",
32
    multi_ue: true,
Kirill Smelkov's avatar
.  
Kirill Smelkov committed
33

34
    cells: [
Kirill Smelkov's avatar
.  
Kirill Smelkov committed
35 36 37 38 39 40 41
{%- for cell_ref, icell in icell_dict|dictsort  %}
{%-   set cell = icell['_']                     %}
{%-   if cell.ue_cell_type == 'lte'             %}
{%-     set ru_ref = J(jcell_ru_ref(icell))     %}
{%-     set iru = iru_dict[ru_ref]              %}
{%-     set ru = iru['_']                       %}

Kirill Smelkov's avatar
.  
Kirill Smelkov committed
42
        // {{ cell_ref }}
Kirill Smelkov's avatar
.  
Kirill Smelkov committed
43 44 45 46 47 48
        {
          rf_port:      {{ ru._rf_port }},
          n_antenna_dl: {{ ru.n_antenna_dl }},
          n_antenna_ul: {{ ru.n_antenna_ul }},

          dl_earfcn: {{ cell.dl_earfcn }},
Kirill Smelkov's avatar
.  
Kirill Smelkov committed
49
          ul_earfcn: {{ cell.ul_earfcn }},
Kirill Smelkov's avatar
.  
Kirill Smelkov committed
50
          bandwidth: {{ cell.bandwidth.removesuffix(' MHz') }},
Kirill Smelkov's avatar
.  
Kirill Smelkov committed
51 52 53 54 55

          global_timing_advance: -1,
        },
{%-   endif %}
{%- endfor %}
56 57 58
    ],
    pdcch_decode_opt: false,
    pdcch_decode_opt_threshold: 0.1,
Kirill Smelkov's avatar
.  
Kirill Smelkov committed
59 60 61 62 63 64 65 66 67 68 69 70 71

  }, {
    // NR cells
    group_type: "nr",
    multi_ue: true,

    cells: [
{%- for cell_ref, icell in icell_dict|dictsort  %}
{%-   set cell = icell['_']                     %}
{%-   if cell.ue_cell_type == 'nr'              %}
{%-     set ru_ref = J(jcell_ru_ref(icell))     %}
{%-     set iru = iru_dict[ru_ref]              %}
{%-     set ru = iru['_']                       %}
Kirill Smelkov's avatar
.  
Kirill Smelkov committed
72
        // {{ cell_ref }}
Kirill Smelkov's avatar
.  
Kirill Smelkov committed
73 74 75 76 77 78 79
        {
          rf_port:      {{ ru._rf_port }},
          n_antenna_dl: {{ ru.n_antenna_dl }},
          n_antenna_ul: {{ ru.n_antenna_ul }},

          band:         {{ cell.nr_band }},
          dl_nr_arfcn:  {{ cell.dl_nr_arfcn }},
Kirill Smelkov's avatar
.  
Kirill Smelkov committed
80 81
          ul_nr_arfcn:  {{ cell.ul_nr_arfcn }},
          ssb_nr_arfcn: {{ cell.ssb_nr_arfcn }},
Kirill Smelkov's avatar
.  
Kirill Smelkov committed
82 83
          bandwidth:    {{ cell.bandwidth }},

Kirill Smelkov's avatar
.  
Kirill Smelkov committed
84
          subcarrier_spacing: {{ 30  if cell.rf_mode == 'tdd'  else 15 }},
Kirill Smelkov's avatar
.  
Kirill Smelkov committed
85 86 87 88
        },
{%-   endif %}
{%- endfor %}
    ]
89
  }],
Kirill Smelkov's avatar
.  
Kirill Smelkov committed
90

91
  ue_list: [
Kirill Smelkov's avatar
.  
Kirill Smelkov committed
92 93
{%- for ue_ref, iue in iue_dict|dictsort  %}
{%-   set ue = iue['_']                   %}
Kirill Smelkov's avatar
.  
Kirill Smelkov committed
94
    // {{ ue_ref }}
95
    {
Kirill Smelkov's avatar
.  
Kirill Smelkov committed
96 97 98 99 100 101 102 103 104 105
      sim_algo: "{{ ue.sim_algo }}",
      opc: "{{ ue.opc }}",
      amf: {{ ue.amf }},
      sqn: "{{ ue.sqn }}",
      impu: "{{ ue.impu }}",
      impi: "{{ ue.impi }}",
      imsi: "{{ ue.imsi }}",
      K: "{{ ue.k }}",
      rue_addr: "{{ ue.rue_addr }}",
{%-   if ue.ue_type == 'lte'            %}
Kirill Smelkov's avatar
.  
Kirill Smelkov committed
106 107
      as_release: 13,
      ue_category: 13,
Kirill Smelkov's avatar
.  
Kirill Smelkov committed
108
{%-   elif ue.ue_type == 'nr'           %}
Kirill Smelkov's avatar
.  
Kirill Smelkov committed
109 110 111 112 113 114 115
      as_release: 15,
      ue_category: "nr",
{%-   else                              %}
{%-     do bug('unreachable')   %}
{%-   endif                             %}
      tun_setup_script: "ue-ifup",
      apn: "internet",
Kirill Smelkov's avatar
.  
Kirill Smelkov committed
116
    },
Kirill Smelkov's avatar
.  
Kirill Smelkov committed
117
{%- endfor %}
118 119
  ],
}