1. 03 6月, 2015 5 次提交
  2. 04 5月, 2015 2 次提交
    • A
      e1000e: Do not allow CRC stripping to be disabled on 82579 w/ jumbo frames · 55e7fe5b
      Alexander Duyck 提交于
       The driver wasn't allowing jumbo frames to be
       enabled when CRC stripping was disabled, however it was allowing CRC
       stripping to be disabled while jumbo frames were enabled.  This fixes that by
       making it so that the NETIF_F_RXFCS flag cannot be set when jumbo frames are
       enabled on 82579 and newer parts.
      Signed-off-by: NAlexander Duyck <alexander.h.duyck@redhat.com>
      Tested-by: NAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      55e7fe5b
    • A
      e1000e: Cleanup handling of VLAN_HLEN as a part of max frame size · 8084b86d
      Alexander Duyck 提交于
      When the VLAN_HLEN was added to the calculation for the maximum frame size
      there seems to have been a number of issues added to the driver.
      
      The first issue is that in some cases the maximum frame size for a device
      never really reached the actual maximum frame size as the VLAN header
      length was not included the calculation for that value.  As a result some
      parts only supported a maximum frame size of either 1496 in the case of
      parts that didn't support jumbo frames, and 8996 in the case of the parts
      that do.
      
      The second issue is the fact that there were several checks that weren't
      updated so as a result setting an MTU of 1500 was treated as enabling jumbo
      frames as the calculated value was 1522 instead of 1518.  I have addressed
      those by replacing ETH_FRAME_LEN with VLAN_ETH_FRAME_LEN where appropriate.
      
      The final issue was the fact that lowering the MTU below 1500 would cause
      the driver to allocate 2K buffers for the rings.  This is an old issue that
      was fixed several years ago in igb/ixgbe and I am addressing now by just
      replacing == with a <= so that we always just round up to 1522 for anything
      that isn't a jumbo frame.
      
      Fixes: c751a3d5 ("e1000e: Correctly include VLAN_HLEN when changing interface MTU")
      Signed-off-by: NAlexander Duyck <alexander.h.duyck@redhat.com>
      Tested-by: NAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      8084b86d
  3. 14 4月, 2015 1 次提交
  4. 09 4月, 2015 1 次提交
  5. 21 3月, 2015 2 次提交
  6. 06 3月, 2015 1 次提交
  7. 24 2月, 2015 1 次提交
  8. 23 1月, 2015 2 次提交
  9. 14 1月, 2015 1 次提交
  10. 03 1月, 2015 1 次提交
  11. 01 1月, 2015 1 次提交
  12. 11 12月, 2014 1 次提交
  13. 09 12月, 2014 1 次提交
  14. 05 12月, 2014 1 次提交
  15. 17 11月, 2014 1 次提交
  16. 26 8月, 2014 1 次提交
    • V
      e1000e: Fix TSO with non-accelerated vlans · 47ccd1ed
      Vlad Yasevich 提交于
      This device claims  TSO support for vlans.  It also allows a
      user to control vlan acceleration offloading.  As such, it is
      possible to turn off vlan acceleration and configure a vlan
      which will continue to support TSO.
      
      In such situation the packet passed down the the device will contain
      a vlan header and skb->protocol will be set to ETH_P_8021Q.
      The device assumes that skb->protocol contains network protocol
      value and uses that value to set up TSO information.  This results
      in corrupted frames sent on the wire.  Corruptions include
      incorrect IP total length and invalid IP checksum.
      
      This patch extract the protocol value correctly and corrects TSO
      for non-accelerated traffic.
      
      CC: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
      CC: Jesse Brandeburg <jesse.brandeburg@intel.com>
      CC: Bruce Allan <bruce.w.allan@intel.com>
      CC: Carolyn Wyborny <carolyn.wyborny@intel.com>
      CC: Don Skidmore <donald.c.skidmore@intel.com>
      CC: Greg Rose <gregory.v.rose@intel.com>
      CC: Alex Duyck <alexander.h.duyck@intel.com>
      CC: John Ronciak <john.ronciak@intel.com>
      CC: Mitch Williams <mitch.a.williams@intel.com>
      CC: Linux NICS <linux.nics@intel.com>
      CC: e1000-devel@lists.sourceforge.net
      Signed-off-by: NVladislav Yasevich <vyasevic@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      47ccd1ed
  17. 26 7月, 2014 3 次提交
  18. 27 5月, 2014 4 次提交
  19. 23 4月, 2014 3 次提交
  20. 19 4月, 2014 3 次提交
  21. 11 4月, 2014 1 次提交
  22. 01 4月, 2014 1 次提交
    • D
      e1000e: Fix no connectivity when driver loaded with cable out · b20a7744
      David Ertman 提交于
      In commit da1e2046, the flow for enabling/disabling an Si errata
      workaround (e1000_lv_jumbo_workaround_ich8lan) was changed to fix a problem
      with iAMT connections dropping on interface down with jumbo frames set.
      Part of this change was to move the function call disabling the workaround
      to e1000e_down() from the e1000_setup_rctl() function.  The mechanic for
      disabling of this workaround involves writing several MAC and PHY registers
      back to hardware defaults.
      
      After this commit, when the driver is loaded with the cable out, the PHY
      registers are not programmed with the correct default values.  This causes
      the device to be capable of transmitting packets, but is unable to recieve
      them until this workaround is called.
      
      The flow of e1000e's open code relies upon calling the above workaround to
      expicitly program these registers either with jumbo frame appropriate settings
      or h/w defaults on 82579 and newer hardware.
      
      Fix this issue by adding logic to e1000_setup_rctl() that not only calls
      e1000_lv_jumbo_workaround_ich8lan() when jumbo frames are set, to enable the
      workaround, but also calls this function to explicitly disable the workaround
      in the case that jumbo frames are not set.
      Signed-off-by: NDave Ertman <davidx.m.ertman@intel.com>
      Tested-by: NJeff Pieper <jeffrey.e.pieper@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      b20a7744
  23. 28 3月, 2014 2 次提交