ue.jinja2.cfg 4.12 KB
Newer Older
1 2 3 4
{%- import 'slaplte.jinja2' as slaplte  with context %}
{%- set B               = slaplte.B %}
{%- set J               = slaplte.J %}
{%- set jcell_ru_ref    = slaplte.jcell_ru_ref %}
5

6 7 8 9 10 11 12 13 14 15 16 17 18
{#- 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                                                                     %}


{#- start of the config -#}
19 20 21 22
{
  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",

23
{%- if not ors %}
24 25
  rue_bind_addr: "{{ pub_info['rue_bind_addr'] }}",
  com_addr: "{{ pub_info['com_addr'] }}",
26
{%- endif %}
27

28
{# instantiate radio units #}
29
{%- if ors %}
30
{{ slaplte.ru_config(iru_dict, slapparameter_dict, False) }}
31 32 33
{%- else %}
{{ slaplte.ru_config(iru_dict, slapparameter_dict, True) }}
{%- endif %}
34 35 36 37

  cell_groups: [{
    // LTE cells
    group_type: "lte",
38
    multi_ue: true,
39

40
    cells: [
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
{%- for cell_ref, icell in icell_dict|dictsort  %}
{%-   set cell = icell['_']                     %}
{%-   if cell.cell_type == 'lte'                %}
{%-     set ru_ref = J(jcell_ru_ref(icell))     %}
{%-     set iru = iru_dict[ru_ref]              %}
{%-     set ru = iru['_']                       %}

        // {{ B(cell_ref) }}
        {
          rf_port:      {{ ru._rf_port }},
          n_antenna_dl: {{ ru.n_antenna_dl }},
          n_antenna_ul: {{ ru.n_antenna_ul }},

          dl_earfcn: {{ cell.dl_earfcn }},
          ul_earfcn: {{ cell.ul_earfcn }},
          bandwidth: {{ cell.bandwidth }},

          global_timing_advance: -1,
        },
{%-   endif %}
{%- endfor %}
62 63 64
    ],
    pdcch_decode_opt: false,
    pdcch_decode_opt_threshold: 0.1,
65 66 67

  }, {
    // NR cells
68
    group_type: "nr",
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
    multi_ue: true,

    cells: [
{%- for cell_ref, icell in icell_dict|dictsort  %}
{%-   set cell = icell['_']                     %}
{%-   if cell.cell_type == 'nr'                 %}
{%-     set ru_ref = J(jcell_ru_ref(icell))     %}
{%-     set iru = iru_dict[ru_ref]              %}
{%-     set ru = iru['_']                       %}
        // {{ B(cell_ref) }}
        {
          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 }},
          ul_nr_arfcn:  {{ cell.ul_nr_arfcn }},
          ssb_nr_arfcn: {{ cell.ssb_nr_arfcn }},
          bandwidth:    {{ cell.bandwidth }},

          subcarrier_spacing: {{ cell.subcarrier_spacing }},
        },
{%-   endif %}
{%- endfor %}
    ]
  }],

97
  ue_list: [
98 99 100
{%- for ue_ref, iue in iue_dict|dictsort  %}
{%-   set ue = iue['_']                   %}
    // {{ B(ue_ref) }}
101
    {
102 103 104 105 106 107 108 109
      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 }}",
110
{%-   if ue.get('rue_addr', False) %}
111
      rue_addr: "{{ ue.rue_addr }}",
112
{%-   endif %}
113 114 115 116 117 118 119 120 121
{%-   if ue.ue_type == 'lte'            %}
      as_release: 13,
      ue_category: 13,
{%-   elif ue.ue_type == 'nr'           %}
      as_release: 15,
      ue_category: "nr",
{%-   else                              %}
{%-     do bug('unreachable')   %}
{%-   endif                             %}
122
{%-   if ors %}
123
      tun_setup_script: "{{ ue_ifup }}",
124 125 126
{%-   else %}
      tun_setup_script: "ue_ifup",
{%-   endif %}
127 128 129
      apn: "internet",
    },
{%- endfor %}
130 131
  ],
}