X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_pmd_ixgbe%2Fixgbe_ethdev.h;h=87a07c4d53c2fc974751b749fb50751601ba1511;hb=9236f4328448e5553586450924d648803f5ded13;hp=e03f28f02f29f1e92aa39e314226198f381b51a6;hpb=7431041062b9fd0555bac7ca4abebc99e3379fa5;p=dpdk.git diff --git a/lib/librte_pmd_ixgbe/ixgbe_ethdev.h b/lib/librte_pmd_ixgbe/ixgbe_ethdev.h index e03f28f02f..87a07c4d53 100644 --- a/lib/librte_pmd_ixgbe/ixgbe_ethdev.h +++ b/lib/librte_pmd_ixgbe/ixgbe_ethdev.h @@ -1,7 +1,7 @@ /*- * BSD LICENSE * - * Copyright(c) 2010-2012 Intel Corporation. All rights reserved. + * Copyright(c) 2010-2013 Intel Corporation. All rights reserved. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -34,6 +34,9 @@ #ifndef _IXGBE_ETHDEV_H_ #define _IXGBE_ETHDEV_H_ +#include "ixgbe/ixgbe_dcb.h" +#include "ixgbe/ixgbe_dcb_82599.h" +#include "ixgbe/ixgbe_dcb_82598.h" /* need update link, bit flag */ #define IXGBE_FLAG_NEED_LINK_UPDATE (uint32_t)(1 << 0) @@ -49,7 +52,15 @@ #define IXGBE_RXDADV_ERR_CKSUM_MSK 3 #define IXGBE_ADVTXD_MACLEN_SHIFT 9 /* Bit shift for l2_len */ #define IXGBE_NB_STAT_MAPPING_REGS 32 +#define IXGBE_EXTENDED_VLAN (uint32_t)(1 << 26) /* EXTENDED VLAN ENABLE */ #define IXGBE_VFTA_SIZE 128 +#define IXGBE_RX_BUF_THRESHOLD 4 +#define IXGBE_MAX_RX_QUEUE_NUM 128 +#ifndef NBBY +#define NBBY 8 /* number of bits in a byte */ +#endif +#define IXGBE_HWSTRIP_BITMAP_SIZE (IXGBE_MAX_RX_QUEUE_NUM / (sizeof(uint32_t) * NBBY)) + /* * Information about the fdir mode. @@ -68,6 +79,7 @@ struct ixgbe_hw_fdir_info { /* structure for interrupt relative data */ struct ixgbe_interrupt { uint32_t flags; + uint32_t mask; }; struct ixgbe_stat_mapping_registers { @@ -75,11 +87,14 @@ struct ixgbe_stat_mapping_registers { uint32_t rqsmr[IXGBE_NB_STAT_MAPPING_REGS]; }; -/* local VFTA copy */ struct ixgbe_vfta { uint32_t vfta[IXGBE_VFTA_SIZE]; }; +struct ixgbe_hwstrip { + uint32_t bitmap[IXGBE_HWSTRIP_BITMAP_SIZE]; +}; + /* * Structure to store private data for each driver instance (for each port). */ @@ -90,6 +105,8 @@ struct ixgbe_adapter { struct ixgbe_interrupt intr; struct ixgbe_stat_mapping_registers stat_mappings; struct ixgbe_vfta shadow_vfta; + struct ixgbe_hwstrip hwstrip; + struct ixgbe_dcb_config dcb_config; }; #define IXGBE_DEV_PRIVATE_TO_HW(adapter)\ @@ -110,6 +127,11 @@ struct ixgbe_adapter { #define IXGBE_DEV_PRIVATE_TO_VFTA(adapter) \ (&((struct ixgbe_adapter *)adapter)->shadow_vfta) +#define IXGBE_DEV_PRIVATE_TO_HWSTRIP_BITMAP(adapter) \ + (&((struct ixgbe_adapter *)adapter)->hwstrip) + +#define IXGBE_DEV_PRIVATE_TO_DCB_CFG(adapter) \ + (&((struct ixgbe_adapter *)adapter)->dcb_config) /* * RX/TX function prototypes @@ -189,4 +211,6 @@ int ixgbe_fdir_remove_perfect_filter(struct rte_eth_dev *dev, int ixgbe_fdir_set_masks(struct rte_eth_dev *dev, struct rte_fdir_masks *fdir_masks); +void ixgbe_configure_dcb(struct rte_eth_dev *dev); + #endif /* _IXGBE_ETHDEV_H_ */