> -----Original Message-----
> From: Stephen Hemminger <[email protected]>
> Sent: Friday, May 29, 2026 5:37 AM
> To: [email protected]
> Cc: Stephen Hemminger <[email protected]>; Jiawen Wu 
> <[email protected]>; Zaiyu Wang
> <[email protected]>
> Subject: [RFC 8/8] net/txgbe: privatize legacy flow director types
> 
> The txgbe driver inherited its flow director representation from
> ixgbe (it derives from the same hardware lineage) and uses the
> same legacy ethdev types (struct rte_eth_fdir_conf, enum
> rte_fdir_mode, and related) as its internal IR for translating
> rte_flow rules into hardware programming state. These types are
> scheduled for removal from ethdev in DPDK 26.11.
> 
> Clone the relevant types into txgbe_ethdev.h with a txgbe-private
> prefix so the driver no longer depends on the legacy ABI. The
> embedded rte_eth_ipv4_flow / rte_eth_ipv6_flow types are cloned
> too since they live in the same removal candidate set.
> 
> Unlike ixgbe, txgbe base/ does not pre-declare an
> enum txgbe_fdir_pballoc_type, so the cloned one is defined here.
> txgbe uses the integer value of pballoc directly in the table-
> size calculation
> 
>     (1024 << (fdir_conf->pballoc + 1)) - 2
> 
> so the enum values match the original ethdev numbering
> (64K=0, 128K=1, 256K=2). pballoc is set explicitly from devargs
> in txgbe_handle_devarg(), so no extra initialization is required.
> 
> Signed-off-by: Stephen Hemminger <[email protected]>
> ---
>  drivers/net/txgbe/txgbe_ethdev.c          |   6 +-
>  drivers/net/txgbe/txgbe_ethdev.h          | 101 +++++++++++++++++++++-
>  drivers/net/txgbe/txgbe_fdir.c            |  78 ++++++++---------
>  drivers/net/txgbe/txgbe_flow.c            |  24 ++---
>  drivers/net/txgbe/txgbe_rxtx_vec_common.h |   4 +-
>  5 files changed, 155 insertions(+), 58 deletions(-)

LGTM, thanks.

> diff --git a/drivers/net/txgbe/txgbe_ethdev.c 
> b/drivers/net/txgbe/txgbe_ethdev.c
> index 5d360f8305..258ec4d97c 100644
> --- a/drivers/net/txgbe/txgbe_ethdev.c
> +++ b/drivers/net/txgbe/txgbe_ethdev.c
> @@ -524,7 +524,7 @@ txgbe_handle_devarg(__rte_unused const char *key, const 
> char *value,
>  static void
>  txgbe_parse_devargs(struct rte_eth_dev *dev)
>  {
> -     struct rte_eth_fdir_conf *fdir_conf = TXGBE_DEV_FDIR_CONF(dev);
> +     struct txgbe_fdir_conf *fdir_conf = TXGBE_DEV_FDIR_CONF(dev);
>       struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(dev);
>       struct rte_devargs *devargs = pci_dev->device.devargs;
>       struct txgbe_hw *hw = TXGBE_DEV_HW(dev);
> @@ -934,7 +934,7 @@ static int txgbe_l2_tn_filter_uninit(struct rte_eth_dev 
> *eth_dev)
> 
>  int txgbe_fdir_filter_init(struct rte_eth_dev *eth_dev)
>  {
> -     struct rte_eth_fdir_conf *fdir_conf = TXGBE_DEV_FDIR_CONF(eth_dev);
> +     struct txgbe_fdir_conf *fdir_conf = TXGBE_DEV_FDIR_CONF(eth_dev);
>       struct txgbe_hw_fdir_info *fdir_info = TXGBE_DEV_FDIR(eth_dev);
>       char fdir_hash_name[RTE_HASH_NAMESIZE];
>       u16 max_fdir_num = (1024 << (fdir_conf->pballoc + 1)) - 2;
> @@ -1834,7 +1834,7 @@ txgbe_dev_start(struct rte_eth_dev *dev)
>       txgbe_configure_port(dev);
>       txgbe_configure_dcb(dev);
> 
> -     if (TXGBE_DEV_FDIR_CONF(dev)->mode != RTE_FDIR_MODE_NONE) {
> +     if (TXGBE_DEV_FDIR_CONF(dev)->mode != TXGBE_FDIR_MODE_NONE) {
>               err = txgbe_fdir_configure(dev);
>               if (err)
>                       goto error;
> diff --git a/drivers/net/txgbe/txgbe_ethdev.h 
> b/drivers/net/txgbe/txgbe_ethdev.h
> index 189fbac541..1f4ce4f3b8 100644
> --- a/drivers/net/txgbe/txgbe_ethdev.h
> +++ b/drivers/net/txgbe/txgbe_ethdev.h
> @@ -83,6 +83,103 @@
>  /*
>   * Information about the fdir mode.
>   */
> +/*
> + * Privatized flow director configuration types.
> + *
> + * Cloned from <rte_eth_ctrl.h> and <ethdev_driver.h> so that txgbe no
> + * longer depends on the legacy ethdev flow director ABI, which is
> + * scheduled for removal in DPDK 26.11. Semantics unchanged; only the
> + * names are txgbe-private.
> + *
> + * NB: txgbe uses the integer value of pballoc directly in
> + *     (1024 << (fdir_conf->pballoc + 1)) - 2
> + * to size the HW filter table. The enum values therefore match the
> + * original ethdev numbering (64K=0, 128K=1, 256K=2).
> + */
> +#define TXGBE_FDIR_MAX_FLEXLEN 16  /**< Max length of flexbytes. */
> +
> +struct txgbe_ipv4_flow {
> +     uint32_t src_ip;
> +     uint32_t dst_ip;
> +     uint8_t  tos;
> +     uint8_t  ttl;
> +     uint8_t  proto;
> +};
> +
> +struct txgbe_ipv6_flow {
> +     uint32_t src_ip[4];
> +     uint32_t dst_ip[4];
> +     uint8_t  tc;
> +     uint8_t  proto;
> +     uint8_t  hop_limits;
> +};
> +
> +struct txgbe_fdir_masks {
> +     uint16_t vlan_tci_mask;
> +     struct txgbe_ipv4_flow ipv4_mask;
> +     struct txgbe_ipv6_flow ipv6_mask;
> +     uint16_t src_port_mask;
> +     uint16_t dst_port_mask;
> +     uint8_t  mac_addr_byte_mask;
> +     uint32_t tunnel_id_mask;
> +     uint8_t  tunnel_type_mask;
> +};
> +
> +enum txgbe_payload_type {
> +     TXGBE_PAYLOAD_UNKNOWN = 0,
> +     TXGBE_RAW_PAYLOAD,
> +     TXGBE_L2_PAYLOAD,
> +     TXGBE_L3_PAYLOAD,
> +     TXGBE_L4_PAYLOAD,
> +     TXGBE_PAYLOAD_MAX = 8,
> +};
> +
> +struct txgbe_flex_payload_cfg {
> +     enum txgbe_payload_type type;
> +     uint16_t src_offset[TXGBE_FDIR_MAX_FLEXLEN];
> +};
> +
> +struct txgbe_fdir_flex_mask {
> +     uint16_t flow_type;
> +     uint8_t  mask[TXGBE_FDIR_MAX_FLEXLEN];
> +};
> +
> +struct txgbe_fdir_flex_conf {
> +     uint16_t nb_payloads;
> +     uint16_t nb_flexmasks;
> +     struct txgbe_flex_payload_cfg flex_set[TXGBE_PAYLOAD_MAX];
> +     struct txgbe_fdir_flex_mask flex_mask[RTE_ETH_FLOW_MAX];
> +};
> +
> +enum txgbe_fdir_mode {
> +     TXGBE_FDIR_MODE_NONE = 0,
> +     TXGBE_FDIR_MODE_SIGNATURE,
> +     TXGBE_FDIR_MODE_PERFECT,
> +     TXGBE_FDIR_MODE_PERFECT_MAC_VLAN,
> +     TXGBE_FDIR_MODE_PERFECT_TUNNEL,
> +};
> +
> +enum txgbe_fdir_pballoc_type {
> +     TXGBE_FDIR_PBALLOC_64K = 0,
> +     TXGBE_FDIR_PBALLOC_128K,
> +     TXGBE_FDIR_PBALLOC_256K,
> +};
> +
> +enum txgbe_fdir_status_mode {
> +     TXGBE_FDIR_NO_REPORT_STATUS = 0,
> +     TXGBE_FDIR_REPORT_STATUS,
> +     TXGBE_FDIR_REPORT_STATUS_ALWAYS,
> +};
> +
> +struct txgbe_fdir_conf {
> +     enum txgbe_fdir_mode mode;
> +     enum txgbe_fdir_pballoc_type pballoc;
> +     enum txgbe_fdir_status_mode status;
> +     uint8_t drop_queue;
> +     struct txgbe_fdir_masks mask;
> +     struct txgbe_fdir_flex_conf flex_conf;
> +};
> +
>  struct txgbe_hw_fdir_mask {
>       uint16_t vlan_tci_mask;
>       uint32_t src_ipv4_mask;
> @@ -111,7 +208,7 @@ struct txgbe_fdir_rule {
>       struct txgbe_atr_input input; /* key of fdir filter */
>       bool b_spec; /* If TRUE, input, fdirflags, queue have meaning. */
>       bool b_mask; /* If TRUE, mask has meaning. */
> -     enum rte_fdir_mode mode; /* IP, MAC VLAN, Tunnel */
> +     enum txgbe_fdir_mode mode; /* IP, MAC VLAN, Tunnel */
>       uint32_t fdirflags; /* drop or forward */
>       uint32_t soft_id; /* an unique value for this rule */
>       uint8_t queue; /* assigned rx queue */
> @@ -352,7 +449,7 @@ struct txgbe_tm_conf {
>  struct txgbe_adapter {
>       struct txgbe_hw             hw;
>       struct txgbe_hw_stats       stats;
> -     struct rte_eth_fdir_conf    fdir_conf;
> +     struct txgbe_fdir_conf    fdir_conf;
>       struct txgbe_hw_fdir_info   fdir;
>       struct txgbe_interrupt      intr;
>       struct txgbe_stat_mappings  stat_mappings;
> diff --git a/drivers/net/txgbe/txgbe_fdir.c b/drivers/net/txgbe/txgbe_fdir.c
> index 67f586ffc7..ded01341a4 100644
> --- a/drivers/net/txgbe/txgbe_fdir.c
> +++ b/drivers/net/txgbe/txgbe_fdir.c
> @@ -102,22 +102,22 @@ txgbe_fdir_enable(struct txgbe_hw *hw, uint32_t 
> fdirctrl)
>   * flexbytes matching field, and drop queue (only for perfect matching mode).
>   */
>  static inline int
> -configure_fdir_flags(const struct rte_eth_fdir_conf *conf,
> +configure_fdir_flags(const struct txgbe_fdir_conf *conf,
>                    uint32_t *fdirctrl, uint32_t *flex)
>  {
>       *fdirctrl = 0;
>       *flex = 0;
> 
>       switch (conf->pballoc) {
> -     case RTE_ETH_FDIR_PBALLOC_64K:
> +     case TXGBE_FDIR_PBALLOC_64K:
>               /* 8k - 1 signature filters */
>               *fdirctrl |= TXGBE_FDIRCTL_BUF_64K;
>               break;
> -     case RTE_ETH_FDIR_PBALLOC_128K:
> +     case TXGBE_FDIR_PBALLOC_128K:
>               /* 16k - 1 signature filters */
>               *fdirctrl |= TXGBE_FDIRCTL_BUF_128K;
>               break;
> -     case RTE_ETH_FDIR_PBALLOC_256K:
> +     case TXGBE_FDIR_PBALLOC_256K:
>               /* 32k - 1 signature filters */
>               *fdirctrl |= TXGBE_FDIRCTL_BUF_256K;
>               break;
> @@ -129,14 +129,14 @@ configure_fdir_flags(const struct rte_eth_fdir_conf 
> *conf,
> 
>       /* status flags: write hash & swindex in the rx descriptor */
>       switch (conf->status) {
> -     case RTE_FDIR_NO_REPORT_STATUS:
> +     case TXGBE_FDIR_NO_REPORT_STATUS:
>               /* do nothing, default mode */
>               break;
> -     case RTE_FDIR_REPORT_STATUS:
> +     case TXGBE_FDIR_REPORT_STATUS:
>               /* report status when the packet matches a fdir rule */
>               *fdirctrl |= TXGBE_FDIRCTL_REPORT_MATCH;
>               break;
> -     case RTE_FDIR_REPORT_STATUS_ALWAYS:
> +     case TXGBE_FDIR_REPORT_STATUS_ALWAYS:
>               /* always report status */
>               *fdirctrl |= TXGBE_FDIRCTL_REPORT_ALWAYS;
>               break;
> @@ -150,9 +150,9 @@ configure_fdir_flags(const struct rte_eth_fdir_conf *conf,
>       *flex |= TXGBE_FDIRFLEXCFG_OFST(TXGBE_DEFAULT_FLEXBYTES_OFFSET / 2);
> 
>       switch (conf->mode) {
> -     case RTE_FDIR_MODE_SIGNATURE:
> +     case TXGBE_FDIR_MODE_SIGNATURE:
>               break;
> -     case RTE_FDIR_MODE_PERFECT:
> +     case TXGBE_FDIR_MODE_PERFECT:
>               *fdirctrl |= TXGBE_FDIRCTL_PERFECT;
>               *fdirctrl |= TXGBE_FDIRCTL_DROPQP(conf->drop_queue);
>               break;
> @@ -179,7 +179,7 @@ txgbe_fdir_set_input_mask(struct rte_eth_dev *dev)
>  {
>       struct txgbe_hw *hw = TXGBE_DEV_HW(dev);
>       struct txgbe_hw_fdir_info *info = TXGBE_DEV_FDIR(dev);
> -     enum rte_fdir_mode mode = TXGBE_DEV_FDIR_CONF(dev)->mode;
> +     enum txgbe_fdir_mode mode = TXGBE_DEV_FDIR_CONF(dev)->mode;
>       /*
>        * mask VM pool and DIPv6 since there are currently not supported
>        * mask FLEX byte, it will be set in flex_conf
> @@ -190,8 +190,8 @@ txgbe_fdir_set_input_mask(struct rte_eth_dev *dev)
> 
>       PMD_INIT_FUNC_TRACE();
> 
> -     if (mode != RTE_FDIR_MODE_SIGNATURE &&
> -         mode != RTE_FDIR_MODE_PERFECT) {
> +     if (mode != TXGBE_FDIR_MODE_SIGNATURE &&
> +         mode != TXGBE_FDIR_MODE_PERFECT) {
>               PMD_DRV_LOG(ERR, "Not supported fdir mode - %d!", mode);
>               return -ENOTSUP;
>       }
> @@ -232,14 +232,14 @@ txgbe_fdir_set_input_mask(struct rte_eth_dev *dev)
>  static int
>  txgbe_fdir_store_input_mask(struct rte_eth_dev *dev)
>  {
> -     struct rte_eth_fdir_masks *input_mask = &TXGBE_DEV_FDIR_CONF(dev)->mask;
> -     enum rte_fdir_mode mode = TXGBE_DEV_FDIR_CONF(dev)->mode;
> +     struct txgbe_fdir_masks *input_mask = &TXGBE_DEV_FDIR_CONF(dev)->mask;
> +     enum txgbe_fdir_mode mode = TXGBE_DEV_FDIR_CONF(dev)->mode;
>       struct txgbe_hw_fdir_info *info = TXGBE_DEV_FDIR(dev);
>       uint16_t dst_ipv6m = 0;
>       uint16_t src_ipv6m = 0;
> 
> -     if (mode != RTE_FDIR_MODE_SIGNATURE &&
> -         mode != RTE_FDIR_MODE_PERFECT) {
> +     if (mode != TXGBE_FDIR_MODE_SIGNATURE &&
> +         mode != TXGBE_FDIR_MODE_PERFECT) {
>               PMD_DRV_LOG(ERR, "Not supported fdir mode - %d!", mode);
>               return -ENOTSUP;
>       }
> @@ -304,12 +304,12 @@ txgbe_fdir_set_flexbytes_offset(struct rte_eth_dev *dev,
>  static int
>  txgbe_set_fdir_flex_conf(struct rte_eth_dev *dev, uint32_t flex)
>  {
> -     const struct rte_eth_fdir_flex_conf *conf =
> +     const struct txgbe_fdir_flex_conf *conf =
>                               &TXGBE_DEV_FDIR_CONF(dev)->flex_conf;
>       struct txgbe_hw *hw = TXGBE_DEV_HW(dev);
>       struct txgbe_hw_fdir_info *info = TXGBE_DEV_FDIR(dev);
> -     const struct rte_eth_flex_payload_cfg *flex_cfg;
> -     const struct rte_eth_fdir_flex_mask *flex_mask;
> +     const struct txgbe_flex_payload_cfg *flex_cfg;
> +     const struct txgbe_fdir_flex_mask *flex_mask;
>       uint16_t flexbytes = 0;
>       uint16_t i;
> 
> @@ -322,7 +322,7 @@ txgbe_set_fdir_flex_conf(struct rte_eth_dev *dev, 
> uint32_t flex)
> 
>       for (i = 0; i < conf->nb_payloads; i++) {
>               flex_cfg = &conf->flex_set[i];
> -             if (flex_cfg->type != RTE_ETH_RAW_PAYLOAD) {
> +             if (flex_cfg->type != TXGBE_RAW_PAYLOAD) {
>                       PMD_DRV_LOG(ERR, "unsupported payload type.");
>                       return -EINVAL;
>               }
> @@ -375,13 +375,13 @@ txgbe_fdir_configure(struct rte_eth_dev *dev)
>       int err;
>       uint32_t fdirctrl, flex, pbsize;
>       int i;
> -     enum rte_fdir_mode mode = TXGBE_DEV_FDIR_CONF(dev)->mode;
> +     enum txgbe_fdir_mode mode = TXGBE_DEV_FDIR_CONF(dev)->mode;
> 
>       PMD_INIT_FUNC_TRACE();
> 
>       /* supports mac-vlan and tunnel mode */
> -     if (mode != RTE_FDIR_MODE_SIGNATURE &&
> -         mode != RTE_FDIR_MODE_PERFECT)
> +     if (mode != TXGBE_FDIR_MODE_SIGNATURE &&
> +         mode != TXGBE_FDIR_MODE_PERFECT)
>               return -ENOSYS;
> 
>       err = configure_fdir_flags(TXGBE_DEV_FDIR_CONF(dev), &fdirctrl, &flex);
> @@ -531,15 +531,15 @@ txgbe_atr_compute_hash(struct txgbe_atr_input 
> *atr_input,
> 
>  static uint32_t
>  atr_compute_perfect_hash(struct txgbe_atr_input *input,
> -             enum rte_eth_fdir_pballoc_type pballoc)
> +             enum txgbe_fdir_pballoc_type pballoc)
>  {
>       uint32_t bucket_hash;
> 
>       bucket_hash = txgbe_atr_compute_hash(input,
>                               TXGBE_ATR_BUCKET_HASH_KEY);
> -     if (pballoc == RTE_ETH_FDIR_PBALLOC_256K)
> +     if (pballoc == TXGBE_FDIR_PBALLOC_256K)
>               bucket_hash &= PERFECT_BUCKET_256KB_HASH_MASK;
> -     else if (pballoc == RTE_ETH_FDIR_PBALLOC_128K)
> +     else if (pballoc == TXGBE_FDIR_PBALLOC_128K)
>               bucket_hash &= PERFECT_BUCKET_128KB_HASH_MASK;
>       else
>               bucket_hash &= PERFECT_BUCKET_64KB_HASH_MASK;
> @@ -574,15 +574,15 @@ txgbe_fdir_check_cmd_complete(struct txgbe_hw *hw, 
> uint32_t *fdircmd)
>   */
>  static uint32_t
>  atr_compute_signature_hash(struct txgbe_atr_input *input,
> -             enum rte_eth_fdir_pballoc_type pballoc)
> +             enum txgbe_fdir_pballoc_type pballoc)
>  {
>       uint32_t bucket_hash, sig_hash;
> 
>       bucket_hash = txgbe_atr_compute_hash(input,
>                               TXGBE_ATR_BUCKET_HASH_KEY);
> -     if (pballoc == RTE_ETH_FDIR_PBALLOC_256K)
> +     if (pballoc == TXGBE_FDIR_PBALLOC_256K)
>               bucket_hash &= SIG_BUCKET_256KB_HASH_MASK;
> -     else if (pballoc == RTE_ETH_FDIR_PBALLOC_128K)
> +     else if (pballoc == TXGBE_FDIR_PBALLOC_128K)
>               bucket_hash &= SIG_BUCKET_128KB_HASH_MASK;
>       else
>               bucket_hash &= SIG_BUCKET_64KB_HASH_MASK;
> @@ -603,7 +603,7 @@ static int
>  fdir_write_perfect_filter(struct txgbe_hw *hw,
>                       struct txgbe_atr_input *input, uint8_t queue,
>                       uint32_t fdircmd, uint32_t fdirhash,
> -                     enum rte_fdir_mode mode)
> +                     enum txgbe_fdir_mode mode)
>  {
>       uint32_t fdirport, fdirflex;
>       int err = 0;
> @@ -830,14 +830,14 @@ txgbe_fdir_filter_program(struct rte_eth_dev *dev,
>       bool is_perfect = FALSE;
>       int err;
>       struct txgbe_hw_fdir_info *info = TXGBE_DEV_FDIR(dev);
> -     enum rte_fdir_mode fdir_mode = TXGBE_DEV_FDIR_CONF(dev)->mode;
> +     enum txgbe_fdir_mode fdir_mode = TXGBE_DEV_FDIR_CONF(dev)->mode;
>       struct txgbe_fdir_filter *node;
> 
> -     if (fdir_mode == RTE_FDIR_MODE_NONE ||
> +     if (fdir_mode == TXGBE_FDIR_MODE_NONE ||
>           fdir_mode != rule->mode)
>               return -ENOTSUP;
> 
> -     if (fdir_mode >= RTE_FDIR_MODE_PERFECT)
> +     if (fdir_mode >= TXGBE_FDIR_MODE_PERFECT)
>               is_perfect = TRUE;
> 
>       txgbe_fdir_mask_input(&info->mask, &rule->input);
> @@ -1021,7 +1021,7 @@ txgbevf_fdir_filter_program(struct rte_eth_dev *dev,
>       uint32_t fdirhash;
>       int ret;
> 
> -     if (rule->mode != RTE_FDIR_MODE_PERFECT ||
> +     if (rule->mode != TXGBE_FDIR_MODE_PERFECT ||
>           rule->fdirflags == TXGBE_FDIRPICMD_DROP)
>               return -ENOTSUP;
> 
> @@ -1109,10 +1109,10 @@ txgbe_fdir_filter_restore(struct rte_eth_dev *dev)
>       struct txgbe_hw_fdir_info *fdir_info = TXGBE_DEV_FDIR(dev);
>       struct txgbe_fdir_filter *node;
>       bool is_perfect = FALSE;
> -     enum rte_fdir_mode fdir_mode = TXGBE_DEV_FDIR_CONF(dev)->mode;
> +     enum txgbe_fdir_mode fdir_mode = TXGBE_DEV_FDIR_CONF(dev)->mode;
> 
> -     if (fdir_mode >= RTE_FDIR_MODE_PERFECT &&
> -         fdir_mode <= RTE_FDIR_MODE_PERFECT_TUNNEL)
> +     if (fdir_mode >= TXGBE_FDIR_MODE_PERFECT &&
> +         fdir_mode <= TXGBE_FDIR_MODE_PERFECT_TUNNEL)
>               is_perfect = TRUE;
> 
>       if (is_perfect) {
> @@ -1139,7 +1139,7 @@ txgbe_fdir_filter_restore(struct rte_eth_dev *dev)
>  int
>  txgbe_clear_all_fdir_filter(struct rte_eth_dev *dev)
>  {
> -     struct rte_eth_fdir_conf *fdir_conf = TXGBE_DEV_FDIR_CONF(dev);
> +     struct txgbe_fdir_conf *fdir_conf = TXGBE_DEV_FDIR_CONF(dev);
>       struct txgbe_hw_fdir_info *fdir_info = TXGBE_DEV_FDIR(dev);
>       struct txgbe_fdir_filter *fdir_filter;
>       struct txgbe_fdir_filter *filter_flag;
> @@ -1150,7 +1150,7 @@ txgbe_clear_all_fdir_filter(struct rte_eth_dev *dev)
>       memset(fdir_info->hash_map, 0,
>              sizeof(struct txgbe_fdir_filter *) *
>              ((1024 << (fdir_conf->pballoc + 1)) - 2));
> -     fdir_conf->mode = RTE_FDIR_MODE_NONE;
> +     fdir_conf->mode = TXGBE_FDIR_MODE_NONE;
>       filter_flag = TAILQ_FIRST(&fdir_info->fdir_list);
>       while ((fdir_filter = TAILQ_FIRST(&fdir_info->fdir_list))) {
>               TAILQ_REMOVE(&fdir_info->fdir_list,
> diff --git a/drivers/net/txgbe/txgbe_flow.c b/drivers/net/txgbe/txgbe_flow.c
> index a97588e57a..8470bf78af 100644
> --- a/drivers/net/txgbe/txgbe_flow.c
> +++ b/drivers/net/txgbe/txgbe_flow.c
> @@ -1412,7 +1412,7 @@ txgbe_parse_fdir_act_attr(const struct rte_flow_attr 
> *attr,
>               rule->queue = act_q->index;
>       } else { /* drop */
>               /* signature mode does not support drop action. */
> -             if (rule->mode == RTE_FDIR_MODE_SIGNATURE) {
> +             if (rule->mode == TXGBE_FDIR_MODE_SIGNATURE) {
>                       memset(rule, 0, sizeof(struct txgbe_fdir_rule));
>                       rte_flow_error_set(error, EINVAL,
>                               RTE_FLOW_ERROR_TYPE_ACTION,
> @@ -1646,9 +1646,9 @@ txgbe_parse_fdir_filter_normal(struct rte_eth_dev *dev 
> __rte_unused,
>       }
> 
>       if (signature_match(pattern))
> -             rule->mode = RTE_FDIR_MODE_SIGNATURE;
> +             rule->mode = TXGBE_FDIR_MODE_SIGNATURE;
>       else
> -             rule->mode = RTE_FDIR_MODE_PERFECT;
> +             rule->mode = TXGBE_FDIR_MODE_PERFECT;
> 
>       /*Not supported last point for range*/
>       if (item->last) {
> @@ -1678,7 +1678,7 @@ txgbe_parse_fdir_filter_normal(struct rte_eth_dev *dev 
> __rte_unused,
> 
>                       /* Ether type should be masked. */
>                       if (eth_mask->hdr.ether_type ||
> -                         rule->mode == RTE_FDIR_MODE_SIGNATURE) {
> +                         rule->mode == TXGBE_FDIR_MODE_SIGNATURE) {
>                               memset(rule, 0, sizeof(struct txgbe_fdir_rule));
>                               rte_flow_error_set(error, EINVAL,
>                                       RTE_FLOW_ERROR_TYPE_ITEM,
> @@ -1687,7 +1687,7 @@ txgbe_parse_fdir_filter_normal(struct rte_eth_dev *dev 
> __rte_unused,
>                       }
> 
>                       /* If ethernet has meaning, it means MAC VLAN mode. */
> -                     rule->mode = RTE_FDIR_MODE_PERFECT_MAC_VLAN;
> +                     rule->mode = TXGBE_FDIR_MODE_PERFECT_MAC_VLAN;
> 
>                       /**
>                        * src MAC address must be masked,
> @@ -1718,7 +1718,7 @@ txgbe_parse_fdir_filter_normal(struct rte_eth_dev *dev 
> __rte_unused,
>                * IPv6 is not supported.
>                */
>               item = next_no_fuzzy_pattern(pattern, item);
> -             if (rule->mode == RTE_FDIR_MODE_PERFECT_MAC_VLAN) {
> +             if (rule->mode == TXGBE_FDIR_MODE_PERFECT_MAC_VLAN) {
>                       if (item->type != RTE_FLOW_ITEM_TYPE_VLAN) {
>                               memset(rule, 0, sizeof(struct txgbe_fdir_rule));
>                               rte_flow_error_set(error, EINVAL,
> @@ -2282,7 +2282,7 @@ txgbe_parse_fdir_filter_tunnel(const struct 
> rte_flow_attr *attr,
>               return -rte_errno;
>       }
> 
> -     rule->mode = RTE_FDIR_MODE_PERFECT;
> +     rule->mode = TXGBE_FDIR_MODE_PERFECT;
>       ptid = TXGBE_PTID_PKT_TUN;
> 
>       /* Skip MAC. */
> @@ -2949,7 +2949,7 @@ txgbe_parse_fdir_filter(struct rte_eth_dev *dev,
>                       struct rte_flow_error *error)
>  {
>       int ret;
> -     struct rte_eth_fdir_conf *fdir_conf = TXGBE_DEV_FDIR_CONF(dev);
> +     struct txgbe_fdir_conf *fdir_conf = TXGBE_DEV_FDIR_CONF(dev);
> 
>       ret = txgbe_parse_fdir_filter_normal(dev, attr, pattern,
>                                       actions, rule, error);
> @@ -2965,11 +2965,11 @@ txgbe_parse_fdir_filter(struct rte_eth_dev *dev,
>       if (!txgbe_is_pf(TXGBE_DEV_HW(dev)))
>               return ret;
> 
> -     if (fdir_conf->mode == RTE_FDIR_MODE_NONE) {
> +     if (fdir_conf->mode == TXGBE_FDIR_MODE_NONE) {
>               fdir_conf->mode = rule->mode;
>               ret = txgbe_fdir_configure(dev);
>               if (ret) {
> -                     fdir_conf->mode = RTE_FDIR_MODE_NONE;
> +                     fdir_conf->mode = TXGBE_FDIR_MODE_NONE;
>                       return ret;
>               }
>       } else if (fdir_conf->mode != rule->mode) {
> @@ -3562,7 +3562,7 @@ txgbe_flow_destroy(struct rte_eth_dev *dev,
>       struct txgbe_fdir_rule_ele *fdir_rule_ptr;
>       struct txgbe_flow_mem *txgbe_flow_mem_ptr;
>       struct txgbe_hw_fdir_info *fdir_info = TXGBE_DEV_FDIR(dev);
> -     struct rte_eth_fdir_conf *fdir_conf = TXGBE_DEV_FDIR_CONF(dev);
> +     struct txgbe_fdir_conf *fdir_conf = TXGBE_DEV_FDIR_CONF(dev);
>       struct txgbe_rss_conf_ele *rss_filter_ptr;
> 
>       switch (filter_type) {
> @@ -3625,7 +3625,7 @@ txgbe_flow_destroy(struct rte_eth_dev *dev,
>                               fdir_info->mask_added = false;
>                               fdir_info->flex_relative = false;
>                               fdir_info->flex_bytes_offset = 0;
> -                             fdir_conf->mode = RTE_FDIR_MODE_NONE;
> +                             fdir_conf->mode = TXGBE_FDIR_MODE_NONE;
>                       }
>               }
>               break;
> diff --git a/drivers/net/txgbe/txgbe_rxtx_vec_common.h 
> b/drivers/net/txgbe/txgbe_rxtx_vec_common.h
> index 00847d087b..c6144cad70 100644
> --- a/drivers/net/txgbe/txgbe_rxtx_vec_common.h
> +++ b/drivers/net/txgbe/txgbe_rxtx_vec_common.h
> @@ -299,10 +299,10 @@ static inline int
>  txgbe_rx_vec_dev_conf_condition_check_default(struct rte_eth_dev *dev)
>  {
>  #ifndef RTE_LIBRTE_IEEE1588
> -     struct rte_eth_fdir_conf *fconf = TXGBE_DEV_FDIR_CONF(dev);
> +     struct txgbe_fdir_conf *fconf = TXGBE_DEV_FDIR_CONF(dev);
> 
>       /* no fdir support */
> -     if (fconf->mode != RTE_FDIR_MODE_NONE)
> +     if (fconf->mode != TXGBE_FDIR_MODE_NONE)
>               return -1;
> 
>       return 0;
> --
> 2.53.0
> 
> 

Reply via email to