1. 21 2月, 2018 3 次提交
    • E
      net/mlx5e: Verify inline header size do not exceed SKB linear size · f600c608
      Eran Ben Elisha 提交于
      Driver tries to copy at least MLX5E_MIN_INLINE bytes into the control
      segment of the WQE. It assumes that the linear part contains at least
      MLX5E_MIN_INLINE bytes, which can be wrong.
      
      Cited commit verified that driver will not copy more bytes into the
      inline header part that the actual size of the packet. Re-factor this
      check to make sure we do not exceed the linear part as well.
      
      This fix is aligned with the current driver's assumption that the entire
      L2 will be present in the linear part of the SKB.
      
      Fixes: 6aace17e ("net/mlx5e: Fix inline header size for small packets")
      Signed-off-by: NEran Ben Elisha <eranbe@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      f600c608
    • I
      net/mlx5e: Fix loopback self test when GRO is off · ef7a3518
      Inbar Karmy 提交于
      When GRO is off, the transport header pointer in sk_buff is
      initialized to network's header.
      
      To find the udp header, instead of using udp_hdr() which assumes
      skb_network_header was set, manually calculate the udp header offset.
      
      Fixes: 0952da79 ("net/mlx5e: Add support for loopback selftest")
      Signed-off-by: NInbar Karmy <inbark@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      ef7a3518
    • G
      net/mlx5e: Fix TCP checksum in LRO buffers · 8babd44d
      Gal Pressman 提交于
      When receiving an LRO packet, the checksum field is set by the hardware
      to the checksum of the first coalesced packet. Obviously, this checksum
      is not valid for the merged LRO packet and should be fixed.  We can use
      the CQE checksum which covers the checksum of the entire merged packet
      TCP payload to help us calculate the checksum incrementally.
      
      Tested by sending IPv4/6 traffic with LRO enabled, RX checksum disabled
      and watching nstat checksum error counters (in addition to the obvious
      bandwidth drop caused by checksum errors).
      
      This bug is usually "hidden" since LRO packets would go through the
      CHECKSUM_UNNECESSARY flow which does not validate the packet checksum.
      
      It's important to note that previous to this patch, LRO packets provided
      with CHECKSUM_UNNECESSARY are indeed packets with a correct validated
      checksum (even though the checksum inside the TCP header is incorrect),
      since the hardware LRO aggregation is terminated upon receiving a packet
      with bad checksum.
      
      Fixes: e586b3b0 ("net/mlx5: Ethernet Datapath files")
      Signed-off-by: NGal Pressman <galp@mellanox.com>
      Signed-off-by: NSaeed Mahameed <saeedm@mellanox.com>
      8babd44d
  2. 05 2月, 2018 1 次提交
  3. 30 1月, 2018 1 次提交
  4. 26 1月, 2018 2 次提交
  5. 24 1月, 2018 1 次提交
  6. 22 1月, 2018 11 次提交
  7. 20 1月, 2018 17 次提交
  8. 19 1月, 2018 3 次提交
  9. 18 1月, 2018 1 次提交