Print this page
3014 Intel X540 Support

@@ -23,10 +23,11 @@
  * Copyright(c) 2007-2010 Intel Corporation. All rights reserved.
  */
 
 /*
  * Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright 2012 Nexenta Systems, Inc. All rights reserved.
  */
 
 #include "ixgbe_sw.h"
 
 static int ixgbe_tx_copy(ixgbe_tx_ring_t *, tx_control_block_t *, mblk_t *,

@@ -1076,12 +1077,12 @@
 
         /*
          * The Insert Ethernet CRC (IFCS) bit and the checksum fields are only
          * valid in the first descriptor of the packet.
          * Setting paylen in every first_tbd for all parts.
-         * 82599 requires the packet length in paylen field with or without
-         * LSO and 82598 will ignore it in non-LSO mode.
+         * 82599 and X540 require the packet length in paylen field with or
+         * without LSO and 82598 will ignore it in non-LSO mode.
          */
         ASSERT(first_tbd != NULL);
         first_tbd->read.cmd_type_len |= IXGBE_ADVTXD_DCMD_IFCS;
 
         switch (hw->mac.type) {

@@ -1093,10 +1094,11 @@
                             - ctx->l4_hdr_len) << IXGBE_ADVTXD_PAYLEN_SHIFT;
                 }
                 break;
 
         case ixgbe_mac_82599EB:
+        case ixgbe_mac_X540:
                 if (ctx != NULL && ctx->lso_flag) {
                         first_tbd->read.cmd_type_len |= IXGBE_ADVTXD_DCMD_TSE;
                         first_tbd->read.olinfo_status |=
                             (mbsize - ctx->mac_hdr_len - ctx->ip_hdr_len
                             - ctx->l4_hdr_len) << IXGBE_ADVTXD_PAYLEN_SHIFT;