Skip to content
Snippets Groups Projects
  • lemoer's avatar
    70951318
    gluon-respondd: fix missing section "wifi" for request type "neighbours" (#2599) · 70951318
    lemoer authored
    The below mentioned commit introduced a regression, that the "wifi"
    section of the request type "neighbours" was empty:
    
        ~# gluon-neighbour-info -d ::1 -r neighbours | ffh_pretty_json
        {
          "wifi": [
          ],
          ...
        }
    
    After this commit, the section (correctly) looks like this:
    
        root@UFU-FWH-A272-Tresckowstr-GemR-vorne:~# gluon-neighbour-info -d ::1 -r neighbours | ffh_pretty_json
        {
          "wifi": {
            "ca:38:7e:42:5f:21": {
              "neighbours": {
                "fe:9f:4d:01:ea:e1": {
                  "noise": -102,
                  "inactive": 50,
                  "signal": -84
                },
                "fe:df:b9:84:37:51": {
                  "noise": -102,
                  "inactive": 20,
                  "signal": -73
                }
              }
            }
          },
          ...
        }
    
    The issue was due to the fact, that the iteration over the (mesh) wifi interfaces
    was broken. The code was assuming, that the section
    
        config interface 'mesh_radio0'
                option proto 'gluon_mesh'
    
    in /etc/config/network contains an option "ifname", which it does not.
    The ifname property is only stored in the corresponding section in
    /etc/config/wireless:
    
        config wifi-iface 'mesh_radio0'
                option ifname 'mesh0'
                option network 'mesh_radio0'
                option mode 'mesh'
                ...
    
    Therefore, we now iterate over wifi-ifaces in /etc/config/wireless, that
    have the mode 'mesh' instead. This resolves the issue.
    
    Fixes 0f1fa243
    70951318
    History
    gluon-respondd: fix missing section "wifi" for request type "neighbours" (#2599)
    lemoer authored
    The below mentioned commit introduced a regression, that the "wifi"
    section of the request type "neighbours" was empty:
    
        ~# gluon-neighbour-info -d ::1 -r neighbours | ffh_pretty_json
        {
          "wifi": [
          ],
          ...
        }
    
    After this commit, the section (correctly) looks like this:
    
        root@UFU-FWH-A272-Tresckowstr-GemR-vorne:~# gluon-neighbour-info -d ::1 -r neighbours | ffh_pretty_json
        {
          "wifi": {
            "ca:38:7e:42:5f:21": {
              "neighbours": {
                "fe:9f:4d:01:ea:e1": {
                  "noise": -102,
                  "inactive": 50,
                  "signal": -84
                },
                "fe:df:b9:84:37:51": {
                  "noise": -102,
                  "inactive": 20,
                  "signal": -73
                }
              }
            }
          },
          ...
        }
    
    The issue was due to the fact, that the iteration over the (mesh) wifi interfaces
    was broken. The code was assuming, that the section
    
        config interface 'mesh_radio0'
                option proto 'gluon_mesh'
    
    in /etc/config/network contains an option "ifname", which it does not.
    The ifname property is only stored in the corresponding section in
    /etc/config/wireless:
    
        config wifi-iface 'mesh_radio0'
                option ifname 'mesh0'
                option network 'mesh_radio0'
                option mode 'mesh'
                ...
    
    Therefore, we now iterate over wifi-ifaces in /etc/config/wireless, that
    have the mode 'mesh' instead. This resolves the issue.
    
    Fixes 0f1fa243