1. 14 5月, 2016 25 次提交
  2. 13 5月, 2016 2 次提交
  3. 12 5月, 2016 13 次提交
    • Y
      qed*: Tx-switching configuration · 831bfb0e
      Yuval Mintz 提交于
      Device should be configured by default to VEB once VFs are active.
      This changes the configuration of both PFs' and VFs' vports into enabling
      tx-switching once sriov is enabled.
      Signed-off-by: NYuval Mintz <Yuval.Mintz@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      831bfb0e
    • Y
      qed*: support ndo_get_vf_config · 73390ac9
      Yuval Mintz 提交于
      Allows the user to view the VF configuration by observing the PF's
      device.
      Signed-off-by: NYuval Mintz <Yuval.Mintz@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      73390ac9
    • Y
      qed*: IOV support spoof-checking · 6ddc7608
      Yuval Mintz 提交于
      Add support in `ndo_set_vf_spoofchk' for allowing PF control over
      its VF spoof-checking configuration.
      Signed-off-by: NYuval Mintz <Yuval.Mintz@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6ddc7608
    • Y
      qed*: IOV link control · 733def6a
      Yuval Mintz 提交于
      This adds support in 2 ndo that allow PF to tweak the VF's view of the
      link - `ndo_set_vf_link_state' to allow it a view independent of the PF's,
      and `ndo_set_vf_rate' which would allow the PF to limit the VF speed.
      Signed-off-by: NYuval Mintz <Yuval.Mintz@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      733def6a
    • Y
      qed*: Support forced MAC · eff16960
      Yuval Mintz 提交于
      Allows the PF to enforce the VF's mac.
      i.e., by using `ip link ... vf <x> mac <value>'.
      
      While a MAC is forced, PF would prevent the VF from configuring any other
      MAC.
      Signed-off-by: NYuval Mintz <Yuval.Mintz@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      eff16960
    • Y
      qed*: Support PVID configuration · 08feecd7
      Yuval Mintz 提交于
      This adds support for PF control over the VF vlan configuration.
      I.e., `ip link ... vf <x> vlan <vid>' should now be supported.
      
       1. <vid> != 0 => VF receives [unknowingly] only traffic tagged by
          <vid> and tags all outgoing traffic sent by VF with <vid>.
       2. <vid> == 0 ==> Remove the pvid configuration, reverting to previous.
      Signed-off-by: NYuval Mintz <Yuval.Mintz@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      08feecd7
    • Y
      qede: Add VF support · fefb0202
      Yuval Mintz 提交于
      Adding a PCI callback for `sriov_configure' and a new PCI device id for
      the VF [+ Some minor changes to accomodate differences between PF and VF
      at the qede].
      Following this, VF creation should be possible and the entire subset of
      existing PF functionality that's allow to VFs should be supported.
      Signed-off-by: NYuval Mintz <Yuval.Mintz@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fefb0202
    • Y
      qed: Align TLVs · 17b235c1
      Yuval Mintz 提交于
      As the VF infrastructure is supposed to offer backward/forward
      compatibility, the various types associated with VF<->PF communication
      should be aligned across all various platforms that support IOV
      on our family of adapters.
      
      This adds a couple of currently missing values, specifically aligning
      the enum for the various TLVs possible in the communication between them.
      
      It then adds the PF implementation for some of those missing VF requests.
      This support isn't really necessary for the Linux VF as those VFs aren't
      requiring it [at least today], but are required by VFs running on other
      OSes. LRO is an example of one such configuration.
      Signed-off-by: NYuval Mintz <Yuval.Mintz@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      17b235c1
    • Y
      qed: Bulletin and Link · 36558c3d
      Yuval Mintz 提交于
      Up to this point, VF and PF communication always originates from VF.
      As a result, VF cannot be notified of any async changes, and specifically
      cannot be informed of the current link state.
      
      This introduces the bulletin board, the mechanism through which the PF
      is going to communicate async notifications back to the VF. basically,
      it's a well-defined structure agreed by both PF and VF which the VF would
      continuously poll and into which the PF would DMA messages when needed.
      [Bulletin board is actually allocated and communicated in previous patches
      but never before used]
      
      Based on the bulletin infrastructure, the VF can query its link status
      and receive said async carrier changes.
      Signed-off-by: NYuval Mintz <Yuval.Mintz@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      36558c3d
    • Y
      qed: IOV l2 functionality · dacd88d6
      Yuval Mintz 提交于
      This adds sufficient changes to allow VFs l2-configuration flows to work.
      
      While the fastpath of the VF and the PF are meant to be exactly the same,
      the configuration of the VF is done by the PF.
      This diverges all VF-related configuration flows that originate from a VF,
      making them pass through the VF->PF channel and adding sufficient logic
      on the PF side to support them.
      Signed-off-by: NYuval Mintz <Yuval.Mintz@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      dacd88d6
    • Y
      qed: IOV configure and FLR · 0b55e27d
      Yuval Mintz 提交于
      While previous patches have already added the necessary logic to probe
      VFs as well as enabling them in the HW, this patch adds the ability to
      support VF FLR & SRIOV disable.
      
      It then wraps both flows together into the first IOV callback to be
      provided to the protocol driver - `configure'. This would later to be used
      to enable and disable SRIOV in the adapter.
      Signed-off-by: NYuval Mintz <Yuval.Mintz@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      0b55e27d
    • Y
      qed: Introduce VFs · 1408cc1f
      Yuval Mintz 提交于
      This adds the qed VFs for the first time -
      The vfs are limited functions, with a very different PCI bar structure
      [when compared with PFs] to better impose the related security demands
      associated with them.
      
      This patch includes the logic neccesary to allow VFs to successfully probe
      [without actually adding the ability to enable iov].
      This includes diverging all the flows that would occur as part of the pci
      probe of the driver, preventing VF from accessing registers/memories it
      can't and instead utilize the VF->PF channel to query the PF for needed
      information.
      Signed-off-by: NYuval Mintz <Yuval.Mintz@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1408cc1f
    • Y
      qed: Add VF->PF channel infrastructure · 37bff2b9
      Yuval Mintz 提交于
      Communication between VF and PF is based on a dedicated HW channel;
      VF will prepare a messge, and by signaling the HW the PF would get a
      notification of that message existance. The PF would then copy the
      message, process it and DMA an answer back to the VF as a response.
      
      The messages themselves are TLV-based - allowing easier backward/forward
      compatibility.
      
      This patch adds the infrastructure of the channel on the PF side -
      starting with the arrival of the notification and ending with DMAing
      the response back to the VF.
      
      It also adds a dummy-response as reference, as it only lays the
      groundwork of the communication; it doesn't really add support of any
      actual messages.
      Signed-off-by: NYuval Mintz <Yuval.Mintz@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      37bff2b9