1. 02 Aug, 2024 9 commits
    • Robert Schmidt's avatar
      Refactor setInterfaceParameter() and bringInterfaceUp() · 2c878c10
      Robert Schmidt authored
      - refactor functions to make them shorter
      - provide doxygen strings
      - open socket for operation once instead of in each function
      - use named constant (from enum) to differentiate interface UP/DOWN
      - Linux kernel defines name length as IFNAM_SIZE, so use that for
        interface name length. Also, it seems no null-byte is needed.
      2c878c10
    • Robert Schmidt's avatar
      Remove netmask configuration and hardcode instead · e2163ba3
      Robert Schmidt authored
      I initially planned to entirely remove the netmask configuration.
      However, in specific configurations, e.g. in 4G Rfsim with feMBMS,
      routing does not seem to work anymore using these commands:
      
        iperf -B 10.0.2.2 -s -u -i1
        iperf -c 10.0.2.2 -B 10.0.2.1 -u -t 30 -b 2.00M -i1
      
      Therefore, we simplify by hardcoding the netmask to /24, which allows
      the above to work.
      e2163ba3
    • Robert Schmidt's avatar
      nas_config(): remove broadcast parameter · 5bf498fc
      Robert Schmidt authored
      Remove the broadcast address from the UE, as logically, a UE has nothing
      to broadcast: it can only directly talk to the core. Additionally, at
      least as of now, the UE interface is shown as "POINTOPOINT", so
      broadcasting is not possible.
      5bf498fc
    • Robert Schmidt's avatar
      Remove unused code from nas_config.c · 4810efdc
      Robert Schmidt authored
      Remove unused header includes, as well as the test program (which does
      not do much, and certainly does not test in the way we use the
      interfaces).
      4810efdc
    • Robert Schmidt's avatar
      Remove nas_config_mbms() · 9fedbf31
      Robert Schmidt authored
      Remove nas_config_mbms() since nas_config_mbms() and nas_config() do the
      same
      9fedbf31
    • Robert Schmidt's avatar
      Remove routing table init in nas_config() · 380cf5c6
      Robert Schmidt authored
      The routing table is temporarily removed in this commit and introduced
      in one of the next commits.
      380cf5c6
    • Robert Schmidt's avatar
      nas_config_mbms/netlink_init_mbms_tun(): use entire interface prefix · a12460e8
      Robert Schmidt authored
      Does the same change in the _mbms() functions as in the previous commit.
      
      Also, simplify logic in netlink_init_mbms_tun(): directly use the id in
      the interface. This requires a slight ID change in the users, which is
      also done in this commit.
      a12460e8
    • Robert Schmidt's avatar
      nas_config()/netlink_init_tun(): use entire interface name (prefix) · 5acfa473
      Robert Schmidt authored
      Instead of implicitly using a hardcoded prefix "oaitun_" interface
      name, move that out to the callers of these functions to make it clear.
      The ID still remains outside.
      
      The "sister functions" nas_config_mbms()/netlink_init_tun_mbms() will do
      the same change in the next commit.
      5acfa473
    • Robert Schmidt's avatar
      Replace nas_config_mbms_s1() call with nas_config_mbms() · 983ee279
      Robert Schmidt authored
      Comparing both functions, it seems that nas_config_mbms_s1() sets the
      same parameters, assuming that in nas_config_mbms(), we set
      - (UE_NAS_USE_TUN || ENB_NAS_USE_TUN) yielding true -> should yield the
        same interface name
      - netmask is hardcoded to 255.255.255.0
      - baseNetAddress is hardcoded 10.0
      
      So replace the call with nas_config_mbms() by setting parameters
      accordingly.
      983ee279
  2. 01 Aug, 2024 7 commits
    • Robert Schmidt's avatar
      Remove functions from nas_config that are not used, mark static · 7782f4ae
      Robert Schmidt authored
      - Remove unused NAS_config(): It does most of what the highly similar
        nas_config() does.
      - Remove unused set_gateway()
      - Remove unused blocking_NAS_config()
      - Remove unused functions getNetMask()
      - Remove unused broadcast functionality: functions setBroadcastAddress()
        and getBroadcastAddress(), as well as global variable broadcastAddr
        are not used in consumers. Remove it.
      - Make functions static
      7782f4ae
    • Robert Schmidt's avatar
      Remove unneeded header includes · 44a0a454
      Robert Schmidt authored
      44a0a454
    • Robert Schmidt's avatar
    • Robert Schmidt's avatar
      Remove legacy 4G kernel modules · 6b21dea1
      Robert Schmidt authored
      I don't know about any user of the kernel modules. It is effectively
      legacy code we carry around, for no good reason. Remove it for the
      moment. If we ever need it, we can revert.
      6b21dea1
    • Robert Schmidt's avatar
    • Robert Schmidt's avatar
      Remove unused pdcp_netlink.c file · f680babb
      Robert Schmidt authored
      f680babb
    • Robert Schmidt's avatar
      Remove netlink/PDCP_USE_NETLINK: it's not used · cf950dfa
      Robert Schmidt authored
      Remove netlink code, and the PDCP_USE_NETLINK macro, as there is no
      known use, it makes the code more complicated, and is simply "technical
      debt".
      
      In 4G PDCP, a subtle change has been introduced, in pdcp_module_init()
      of pdcp.c. Looking at the diff of this commit, it can be seen that there
      is now a new "else-if (ENB_NAS_USE_TUN_W_MBMS_BIT)" branch that is under
      what was the "if (PDCP_USE_NETLINK)" branch, while the code fragment was
      actually inside the "else" branch of PDCP_USE_NETLINK. This seems to be
      necessary: previously, if we did not use noS1 mode and we don't use any
      TUN (i.e., the eNB), the else block would set up this interface. It is
      important that this interface is brought up, because if we omit it,
      RFsim will not work. It seems to me that this interface will regularly
      create some traffic; without it, RFsim will be blocked, and the UE
      cannot connect.
      
      In short, it seems to be important to have the MBMS interface, which
      injects traffic in the RFsim side, which will unblock RFsim. The change
      in pdcp_module_init() preserves the total changes of the if-else
      (PDCP_USE_NETLINK).
      cf950dfa
  3. 30 Jul, 2024 23 commits
  4. 29 Jul, 2024 1 commit