ixgbe: Support sending custom Ethernet FCS.
authorBen Greear <greearb@candelatech.com>
Tue, 6 Mar 2012 09:42:04 +0000 (09:42 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Sat, 17 Mar 2012 08:03:16 +0000 (01:03 -0700)
Including bad FCS, used generate frames with bad FCS
to test other system's handling of RX of bad packets.

Signed-off-by: Ben Greear <greearb@candelatech.com>
Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c

index 167e898fbba608dcd0ea72f5087aa30844767e9f..986897bf2b8304f63b90342cdc78f9ef50a36469 100644 (file)
@@ -6768,6 +6768,8 @@ static void ixgbe_tx_map(struct ixgbe_ring *tx_ring,
                tx_buffer_info->dma = dma;
 
                tx_desc->read.buffer_addr = cpu_to_le64(dma + offset);
+               if (unlikely(skb->no_fcs))
+                       cmd_type &= ~(cpu_to_le32(IXGBE_ADVTXD_DCMD_IFCS));
                tx_desc->read.cmd_type_len = cmd_type | cpu_to_le32(size);
                tx_desc->read.olinfo_status = olinfo_status;
 
@@ -7778,6 +7780,7 @@ static int __devinit ixgbe_probe(struct pci_dev *pdev,
        netdev->vlan_features |= NETIF_F_SG;
 
        netdev->priv_flags |= IFF_UNICAST_FLT;
+       netdev->priv_flags |= IFF_SUPP_NOFCS;
 
        if (adapter->flags & IXGBE_FLAG_SRIOV_ENABLED)
                adapter->flags &= ~(IXGBE_FLAG_RSS_ENABLED |