1. 20 6月, 2022 6 次提交
    • J
      wifi: mac80211: split bss_info_changed method · 7b7090b4
      Johannes Berg 提交于
      Split the bss_info_changed method to vif_cfg_changed and
      link_info_changed, with the latter getting a link ID.
      Also change the 'changed' parameter to u64 already, we
      know we need that.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      7b7090b4
    • J
      wifi: mac80211: reorg some iface data structs for MLD · bfd8403a
      Johannes Berg 提交于
      Start reorganizing interface related data structures toward
      MLD. The most complex part here is for the keys, since we
      have to split the various kinds of GTKs off to the link but
      still need to use (for WEP) the other keys as a fallback
      even for multicast frames.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      bfd8403a
    • J
      wifi: mac80211: move interface config to new struct · f276e20b
      Johannes Berg 提交于
      We'll use bss_conf for per-link configuration later, so
      move out all the non-link-specific data out into a new
      struct ieee80211_vif_cfg used in the vif.
      
      Some adjustments were done with the following spatch:
      
          @@
          expression sdata;
          struct ieee80211_vif *vifp;
          identifier var = { assoc, ibss_joined, aid, arp_addr_list, arp_addr_cnt, ssid, ssid_len, s1g, ibss_creator };
          @@
          (
          -sdata->vif.bss_conf.var
          +sdata->vif.cfg.var
          |
          -vifp->bss_conf.var
          +vifp->cfg.var
          )
      
          @bss_conf@
          struct ieee80211_bss_conf *bss_conf;
          identifier var = { assoc, ibss_joined, aid, arp_addr_list, arp_addr_cnt, ssid, ssid_len, s1g, ibss_creator };
          @@
          -bss_conf->var
          +vif_cfg->var
      
      (though more manual fixups were needed, e.g. replacing
      "vif_cfg->" by "vif->cfg." in many files.)
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      f276e20b
    • J
      wifi: mac80211: move some future per-link data to bss_conf · d0a9123e
      Johannes Berg 提交于
      To add MLD, reuse the bss_conf structure later for per-link
      information, so move some things into it that are per link.
      
      Most transformations were done with the following spatch:
      
          @@
          expression sdata;
          identifier var = { chanctx_conf, mu_mimo_owner, csa_active, color_change_active, color_change_color };
          @@
          -sdata->vif.var
          +sdata->vif.bss_conf.var
      
          @@
          struct ieee80211_vif *vif;
          identifier var = { chanctx_conf, mu_mimo_owner, csa_active, color_change_active, color_change_color };
          @@
          -vif->var
          +vif->bss_conf.var
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      d0a9123e
    • J
      wifi: cfg80211: do some rework towards MLO link APIs · 7b0a0e3c
      Johannes Berg 提交于
      In order to support multi-link operation with multiple links,
      start adding some APIs. The notable addition here is to have
      the link ID in a new nl80211 attribute, that will be used to
      differentiate the links in many nl80211 operations.
      
      So far, this patch adds the netlink NL80211_ATTR_MLO_LINK_ID
      attribute (as well as the NL80211_ATTR_MLO_LINKS attribute)
      and plugs it through the system in some places, checking the
      validity etc. along with other infrastructure needed for it.
      
      For now, I've decided to include only the over-the-air link
      ID in the API. I know we discussed that we eventually need to
      have to have other ways of identifying a link, but for local
      AP mode and auth/assoc commands as well as set_key etc. we'll
      use the OTA ID.
      
      Also included in this patch is some refactoring of the data
      structures in struct wireless_dev, splitting for the first
      time the data into type dependent pieces, to make reasoning
      about these things easier.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      7b0a0e3c
    • J
      wifi: mac80211: reject WEP or pairwise keys with key ID > 3 · 92ea8df1
      Johannes Berg 提交于
      We don't really care too much right now since our data
      structures are set up to not have a problem with this,
      but clearly it's wrong to accept WEP and pairwise keys
      with key ID > 3.
      
      However, with MLD we need to split into per-link (GTK,
      IGTK, BIGTK) and per interface/MLD (including WEP) keys
      so make sure this is not a problem.
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      92ea8df1
  2. 15 6月, 2022 27 次提交
  3. 14 6月, 2022 7 次提交