1. 03 2月, 2017 3 次提交
  2. 07 12月, 2016 2 次提交
    • J
      i40e: use (add|rm)_vlan_all_mac helper functions when changing PVID · 9af52f60
      Jacob Keller 提交于
      The current flow for adding or updating the PVID for a VF uses
      i40e_vsi_add_vlan and i40e_vsi_kill_vlan which each take, then release
      the hash lock. In addition the two functions also must take special care
      that they do not perform VLAN mode changes as this will make the code in
      i40e_ndo_set_vf_port_vlan behave incorrectly.
      
      Fix these issues by using the new helper functions i40e_add_vlan_all_mac
      and i40e_rm_vlan_all_mac which expect the hash lock to already be taken.
      Additionally these functions do not perform any state updates in regards
      to VLAN mode, so they are safe to use in the PVID update flow.
      
      It should be noted that we don't need the VLAN mode update code here,
      because there are only a few flows here.
      
      (a) we're adding a new PVID
        In this case, if we already had VLAN filters the VSI is knocked
        offline so we don't need to worry about pre-existing VLAN filters
      
      (b) we're replacing an existing PVID
        In this case, we can't have any VLAN filters except those with the old
        PVID which we already take care of manually.
      
      (c) we're removing an existing PVID
        Similarly to above, we can't have any existing VLAN filters except
        those with the old PVID which we already take care of correctly.
      
      Because of this, we do not need (or even want) the special accounting
      done in i40e_vsi_add_vlan, so use of the helpers is a saner alternative.
      It also opens the door for a future patch which will refactor the flow
      of i40e_vsi_add_vlan now that it is not needed in this function.
      
      Change-ID: Ia841f63da94e12b106f41cf7d28ce8ce92f2ad99
      Signed-off-by: NJacob Keller <jacob.e.keller@intel.com>
      Tested-by: NAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      9af52f60
    • C
      i40e: Add support for 25G devices · 3123237a
      Carolyn Wyborny 提交于
      Add support for 25G devices - defines and data structures.
      
      One tricky part here is that the firmware support for these
      Devices introduces a mismatch between the PHY type enum and
      the bitfields for the phy types.
      
      This change creates a macro and uses it to increment the 25G
      PHY values when creating 25G bitfields.
      
      Change-ID: I69b24d837d44cf9220bf5cb8dd46c5be89ce490b
      Signed-off-by: NCarolyn Wyborny <carolyn.wyborny@intel.com>
      Signed-off-by: NMitch Williams <mitch.a.williams@intel.com>
      Tested-by: NAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      3123237a
  3. 03 12月, 2016 2 次提交
    • J
      i40e: set broadcast promiscuous mode for each active VLAN · 435c084a
      Jacob Keller 提交于
      A previous workaround added to ensure receipt of all broadcast frames
      incorrectly set the broadcast promiscuous mode unconditionally
      regardless of active VLAN status.
      
      Replace this partial workaround with a complete solution that sets the
      broadcast promiscuous filters in i40e_sync_vsi_filters. This new method
      sets the promiscuous mode based on when broadcast filters are added or
      removed.
      
      I40E_VLAN_ANY will request a broadcast filter for all VLANs, (as we're
      in untagged mode) while a broadcast filter on a specific VLAN will only
      request broadcast for that VLAN.
      
      Thus, we restore addition of broadcast filter to the array, but we add
      special handling for these such that they enable the broadcast
      promiscuous mode instead of being sent as regular filters.
      
      The end result is that we will correctly receive all broadcast packets
      (even those with a *source* address equal to the broadcast address) but
      will not receive packets for which we don't have an active VLAN filter.
      
      Change-ID: I7d0585c5cec1a5bf55bf533b42e5e817d5db6a2d
      Signed-off-by: NJacob Keller <jacob.e.keller@intel.com>
      Tested-by: NAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      435c084a
    • J
      i40e: remove error_param_int label from i40e_vc_config_promiscuous_mode_msg · 7429c0bd
      Jacob Keller 提交于
      This label is unnecessary, as are jumping to a block that checks aq_ret
      and then immediately skipping it and returning. So just jump straight to
      the error_param and remove this unnecessary label.
      
      Also use goto error_param even in the last check for style consistency.
      
      Change-ID: If487c7d10c4048e37c594e5eca167693aaed45f6
      Signed-off-by: NJacob Keller <jacob.e.keller@intel.com>
      Tested-by: NAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      7429c0bd
  4. 01 11月, 2016 5 次提交
  5. 24 9月, 2016 1 次提交
    • M
      net: Update API for VF vlan protocol 802.1ad support · 79aab093
      Moshe Shemesh 提交于
      Introduce new rtnl UAPI that exposes a list of vlans per VF, giving
      the ability for user-space application to specify it for the VF, as an
      option to support 802.1ad.
      We adjusted IP Link tool to support this option.
      
      For future use cases, the new UAPI supports multiple vlans. For now we
      limit the list size to a single vlan in kernel.
      Add IFLA_VF_VLAN_LIST in addition to IFLA_VF_VLAN to keep backward
      compatibility with older versions of IP Link tool.
      
      Add a vlan protocol parameter to the ndo_set_vf_vlan callback.
      We kept 802.1Q as the drivers' default vlan protocol.
      Suitable ip link tool command examples:
        Set vf vlan protocol 802.1ad:
          ip link set eth0 vf 1 vlan 100 proto 802.1ad
        Set vf to VST (802.1Q) mode:
          ip link set eth0 vf 1 vlan 100 proto 802.1Q
        Or by omitting the new parameter
          ip link set eth0 vf 1 vlan 100
      Signed-off-by: NMoshe Shemesh <moshe@mellanox.com>
      Signed-off-by: NTariq Toukan <tariqt@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      79aab093
  6. 23 9月, 2016 2 次提交
  7. 19 8月, 2016 4 次提交
  8. 28 6月, 2016 1 次提交
  9. 14 5月, 2016 3 次提交
  10. 06 5月, 2016 2 次提交
  11. 02 5月, 2016 4 次提交
  12. 28 4月, 2016 2 次提交
  13. 26 4月, 2016 1 次提交
  14. 07 4月, 2016 3 次提交
  15. 06 4月, 2016 5 次提交