1. 22 Nov, 2023 1 commit
  2. 21 Nov, 2023 32 commits
    • Kirill Smelkov's avatar
      . · 39750b01
      Kirill Smelkov authored
      39750b01
    • Kirill Smelkov's avatar
      . · 42cb76ca
      Kirill Smelkov authored
      42cb76ca
    • Kirill Smelkov's avatar
      . · 521bfdc3
      Kirill Smelkov authored
      521bfdc3
    • Kirill Smelkov's avatar
      . · ad25b2b5
      Kirill Smelkov authored
      ad25b2b5
    • Kirill Smelkov's avatar
      . · e425510e
      Kirill Smelkov authored
      e425510e
    • Kirill Smelkov's avatar
      . · 0c4ef53b
      Kirill Smelkov authored
      0c4ef53b
    • Kirill Smelkov's avatar
      . · 72ff926c
      Kirill Smelkov authored
      72ff926c
    • Kirill Smelkov's avatar
      . · 986b8bdd
      Kirill Smelkov authored
      986b8bdd
    • Kirill Smelkov's avatar
      . · 31245ae8
      Kirill Smelkov authored
      31245ae8
    • Kirill Smelkov's avatar
      . · e08a76a9
      Kirill Smelkov authored
      e08a76a9
    • Kirill Smelkov's avatar
      . · d91884a1
      Kirill Smelkov authored
      d91884a1
    • Kirill Smelkov's avatar
      . · a45763bc
      Kirill Smelkov authored
      a45763bc
    • Kirill Smelkov's avatar
      . · bf63e8c4
      Kirill Smelkov authored
      bf63e8c4
    • Kirill Smelkov's avatar
      . · e9340106
      Kirill Smelkov authored
      e9340106
    • Kirill Smelkov's avatar
      . · e628f35c
      Kirill Smelkov authored
      e628f35c
    • Kirill Smelkov's avatar
      . · f6556cd0
      Kirill Smelkov authored
      f6556cd0
    • Kirill Smelkov's avatar
      . · 242d9a0c
      Kirill Smelkov authored
      242d9a0c
    • Kirill Smelkov's avatar
      . · e1348606
      Kirill Smelkov authored
      e1348606
    • Kirill Smelkov's avatar
      . · bebdca2c
      Kirill Smelkov authored
      bebdca2c
    • Kirill Smelkov's avatar
      . · 3b4dc6a7
      Kirill Smelkov authored
      3b4dc6a7
    • Kirill Smelkov's avatar
      . · bc3d0a2e
      Kirill Smelkov authored
      bc3d0a2e
    • Kirill Smelkov's avatar
      . · cfa7c5f5
      Kirill Smelkov authored
      cfa7c5f5
    • Kirill Smelkov's avatar
      . · f81931ea
      Kirill Smelkov authored
      f81931ea
    • Kirill Smelkov's avatar
      . · 06e05baf
      Kirill Smelkov authored
      06e05baf
    • Kirill Smelkov's avatar
      . · c99b8dbb
      Kirill Smelkov authored
      c99b8dbb
    • Kirill Smelkov's avatar
      . · e0a4ee12
      Kirill Smelkov authored
      e0a4ee12
    • Kirill Smelkov's avatar
      . · 9d3fad40
      Kirill Smelkov authored
      9d3fad40
    • Kirill Smelkov's avatar
      . · ef28f578
      Kirill Smelkov authored
      ef28f578
    • Kirill Smelkov's avatar
      . · 0aa1d9d5
      Kirill Smelkov authored
      0aa1d9d5
    • Kirill Smelkov's avatar
      . · 34a9e21a
      Kirill Smelkov authored
      34a9e21a
    • Kirill Smelkov's avatar
      Merge remote-tracking branch 'origin/master' into x/lte-multiru · c435625c
      Kirill Smelkov authored
      * origin/master:
        software/ors-amarisoft: enb: Adjust DHCP server to provide dedicated IPv6 to each Radio Unit
        software/ors-amarisoft: enb: Remove DNS options from for-RU DHCP configuration
        software/ors-amarisoft: Split dnsmasq.cfg into for-core and for-enb
        software/ors-amarisoft: Provide dedicated TAP interface for each Radio Unit
        software/ors-amarisoft: gnb: Move DRB configuration to standalone file
        software/ors-amarisoft: enb: Don't use #define inside DRB template
        software/ors-amarisoft: enb: Move DRB configuration to standalone file
        software/ors-amarisoft: Start to generalize existing lopcomm/multicell into multiRU slowly
        stack/slapos: version up erp5.util 1.0.75
        erp5testnode: update seleniumrunner to 1.0.345 to use firefox 115
        component/ca-certificates: Fix sbin location
      c435625c
    • Jérome Perrin's avatar
      software/headless-chromium: Update chromium to 114.0.5735.340 · 4cd01085
      Jérome Perrin authored
      We had to introduce a web page to bootstrap the web version of devtools
      because since https://bugs.chromium.org/p/chromium/issues/detail?id=1232509
      chrome debugger port no longer serve such a page via HTTP.
      
      The URL also changed, /serve_file/@{version_hash}. pattern is no longer
      used, both the devtools and the websocket endpoint are in /devtools
      
      The test was made a bit more complete by actually making requests and
      trying to connect to websocket endpoints.
      
      Some problems were found with incognito and block-new-web-contents
      options:
       - they are boolean type, but the software parameter serialisation is
       XML, which as of today does not support boolean types. This is left
       TODO for now
       - When both --incognito and --block-new-web-contents are true, the
       command line flag was --incognito--block-new-web-contents, which is
       unknown and was ignored. Some minmal changes are included to fix this.
      4cd01085
  3. 17 Nov, 2023 7 commits
    • Kirill Smelkov's avatar
      software/ors-amarisoft: enb: Adjust DHCP server to provide dedicated IPv6 to each Radio Unit · cbc3929c
      Kirill Smelkov authored
      By reusing recently added "split TAP" infrastructure we can adjust dnsmasq
      configuration to provide unique IPv6 to each RU.
      
      - ru_mac_addr becomes per-RU setting and without default. We talked with Lu, and
        since now all Lopcomm units are shipped from the factory with unique MAC, it
        both does not make sense to provide the default, and we can rely on all units
        to have different MACs and configure DHCP replies based on that.
      
      - No need to provide /64 network to every RU. We cannot actually do that anyway
        because normally SlapOS provides /71 address range for its slaptap. In the
        new configuration everything works with smaller networks just ok.
      
      /cc @jhuge, @xavier_thompson, @Daetalus
      /reviewed-by @lu.xu
      /reviewed-on nexedi/slapos!1472
      cbc3929c
    • Kirill Smelkov's avatar
      software/ors-amarisoft: enb: Remove DNS options from for-RU DHCP configuration · 30b4cec5
      Kirill Smelkov authored
      Those options are not needed, because we need to only provide IPv6 address to
      RU, and also they are not very meaningful: in the current form we tell RU that
      DNS addresses sit at RU.addr+1 and RU.addr+2, i.e. in the IP range we give to
      RU and also at the addresses where no DNS server is actually running.
      
      It was probably a thinko to add those options initially.
      
      /cc @jhuge, @xavier_thompson, @Daetalus
      /reviewed-by @lu.xu
      /reviewed-on nexedi/slapos!1472
      30b4cec5
    • Kirill Smelkov's avatar
      software/ors-amarisoft: Split dnsmasq.cfg into for-core and for-enb · 9f2b9db5
      Kirill Smelkov authored
      Core Network and ENB use dnsmasq for completely different purposes:
      
      - core network uses it to provide DNS server, while
      - enb uses dnsmasq to provide DHCP server for Radio Units to be able to access
        Control & Management channel on the CPRI link.
      
      -> Even though both those services are handled via same dnsmasq program, it
         makes sense to split dnsmasq config for clarity and as preparation for
         further adjustments of enb part.
      
         We also push config rendering down to -core and -enb instances also for
         clarity, and because in enb case rendering will need to know set of
         configured Radio Units - information that will become loaded only at
         instance-enb.
      
      /cc @jhuge, @xavier_thompson, @Daetalus
      /reviewed-by @lu.xu
      /reviewed-on nexedi/slapos!1472
      9f2b9db5
    • Kirill Smelkov's avatar
      software/ors-amarisoft: Provide dedicated TAP interface for each Radio Unit · 49ce8ef5
      Kirill Smelkov authored
      SlapOS provides to each partition dedicated TAP interface, so that an instance
      could organize internal networking. In practice this is used by KVM software
      release and here in ors-amarisoft, where we feed to eNB such TAP interface for
      CPRI-based radio unit so that eNB, in turn, could provide access to CPRI
      Control and Management channel via provided TAP.
      
      However there is a problem: SlapOS provides only one TAP interface per
      instance, while we need to have one TAP for each Radio Unit.
      
      -> Solve this problem by creating TAP "subinterfaces" per each RU ourselves.
      
      The interfaces we create are full TAP interfaces, just we name them with prefix
      based on main interface, and we allocate only part of address space of sole
      SlapOS TAP to each subtap. For example if SlapOS provided us slaptap16 with
      2401:5180:0:66:a200::/71 IPv6 range and we want to split it for 2 radio units,
      we'll be splitting it into 3 regions as follows:
      
          slaptap16: split 2401:5180:0:66:a200::/71 by 2
          preserve         2401:5180:0:66:a200::/73
          -> slaptap16-1   2401:5180:0:66:a280::/73
          -> slaptap16-2   2401:5180:0:66:a300::/73
      
      Here we preserve 2401:5180:0:66:a200::/73 for usage on original slaptap16, and
      we create slaptap16-1 and slaptap16-2 with correspondingly allocated address
      range subparts for the RUs.
      
      The splitting is done easily but depends on having networking administration
      capability to be able to work. We solve this with employing
      /opt/amarisoft/setcap, which we already use for dnsmasq, and with compiled
      trampoline program because setcap does not really work directly on scripts.
      
      To avoid hard dependency on having network capability rights, we fallback to
      using regular SlapOS slaptap in case there is only one RU.
      
      ru/lopcomm/* and enb.cfg are adapted straightforwardly, but dnsmasq adaptation
      is left to a later step not to mix everything into one pile.
      
      NOTE that relying on setcap is not a good in the long term and should be
           reworked once SlapOS is improved to provide ability for instances to
           request several TAP interfaces. Please see discussion at
           nexedi/slapos!1471 (comment 194356)
           for details.
      
      /cc @jhuge, @lu.xu, @xavier_thompson, @Daetalus
      /reviewed-on nexedi/slapos!1471
      49ce8ef5
    • Kirill Smelkov's avatar
      software/ors-amarisoft: gnb: Move DRB configuration to standalone file · 695518f2
      Kirill Smelkov authored
      A preparatory step for multiRU for the same reason as for LTE and also to be
      able to support Carrier Aggregation in between NR and LTE cells in the future
      (called Dual Connectivity by 3GPP).
      
      /cc @xavier_thompson, @Daetalus
      /reviewed-by @jhuge, @lu.xu
      /reviewed-on !1473
      695518f2
    • Kirill Smelkov's avatar
      software/ors-amarisoft: enb: Don't use #define inside DRB template · accc2c86
      Kirill Smelkov authored
      When there will be multiple cells and so multiple DRB files referenced from enb.cfg,
      eNB will complain with an error that "there are multiple #define" for T_REORDERING.
      
      -> Use jinja2 templating instead to handle FDD/TDD conditions.
      
      /cc @xavier_thompson, @Daetalus
      /reviewed-by @jhuge, @lu.xu
      /reviewed-on nexedi/slapos!1473
      accc2c86
    • Kirill Smelkov's avatar
      software/ors-amarisoft: enb: Move DRB configuration to standalone file · 8c841ce6
      Kirill Smelkov authored
      This is preparatory step for multiRU: when there will be several LTE cells,
      each possibly having different RF mode, we'll need to configure DRB per-cell.
      
      -> Move DRB configuration to separate jinja2 template to prepare to handle that.
      
      This is 99% movement only, without changing the code for DRB profile. We'll
      adjust the DRB profile a bit as another preparatory step in the next patch.
      
      /cc @xavier_thompson, @Daetalus
      /reviewed-by @jhuge, @lu.xu
      /reviewed-on nexedi/slapos!1473
      8c841ce6