1. 27 8月, 2019 1 次提交
  2. 26 8月, 2019 3 次提交
  3. 25 8月, 2019 2 次提交
  4. 24 8月, 2019 16 次提交
  5. 23 8月, 2019 15 次提交
  6. 22 8月, 2019 3 次提交
    • E
      net/mlx5e: Add mlx5e HV VHCA stats agent · cef35af3
      Eran Ben Elisha 提交于
      HV VHCA stats agent is responsible on running a preiodic rx/tx
      packets/bytes stats update. Currently the supported format is version
      MLX5_HV_VHCA_STATS_VERSION. Block ID 1 is dedicated for statistics data
      transfer from the VF to the PF.
      
      The reporter fetch the statistics data from all opened channels, fill it
      in a buffer and send it to mlx5_hv_vhca_write_agent.
      
      As the stats layer should include some metadata per block (sequence and
      offset), the HV VHCA layer shall modify the buffer before actually send it
      over block 1.
      Signed-off-by: NEran Ben Elisha <eranbe@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: NHaiyang Zhang <haiyangz@microsoft.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cef35af3
    • E
      net/mlx5: Add HV VHCA control agent · 29ddad43
      Eran Ben Elisha 提交于
      Control agent is responsible over of the control block (ID 0). It should
      update the PF via this block about every capability change. In addition,
      upon block 0 invalidate, it should activate all other supported agents
      with data requests from the PF.
      
      Upon agent create/destroy, the invalidate callback of the control agent
      is being called in order to update the PF driver about this change.
      
      The control agent is an integral part of HV VHCA and will be created
      and destroy as part of the HV VHCA init/cleanup flow.
      Signed-off-by: NEran Ben Elisha <eranbe@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: NHaiyang Zhang <haiyangz@microsoft.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      29ddad43
    • E
      net/mlx5: Add HV VHCA infrastructure · 87175120
      Eran Ben Elisha 提交于
      HV VHCA is a layer which provides PF to VF communication channel based on
      HyperV PCI config channel. It implements Mellanox's Inter VHCA control
      communication protocol. The protocol contains control block in order to
      pass messages between the PF and VF drivers, and data blocks in order to
      pass actual data.
      
      The infrastructure is agent based. Each agent will be responsible of
      contiguous buffer blocks in the VHCA config space. This infrastructure will
      bind agents to their blocks, and those agents can only access read/write
      the buffer blocks assigned to them. Each agent will provide three
      callbacks (control, invalidate, cleanup). Control will be invoked when
      block-0 is invalidated with a command that concerns this agent. Invalidate
      callback will be invoked if one of the blocks assigned to this agent was
      invalidated. Cleanup will be invoked before the agent is being freed in
      order to clean all of its open resources or deferred works.
      
      Block-0 serves as the control block. All execution commands from the PF
      will be written by the PF over this block. VF will ack on those by
      writing on block-0 as well. Its format is described by struct
      mlx5_hv_vhca_control_block layout.
      Signed-off-by: NEran Ben Elisha <eranbe@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      Signed-off-by: NHaiyang Zhang <haiyangz@microsoft.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      87175120