f1e9d2afea
Under heavy load, flow related operations can take more time to
complete. Increase max completion wait time to 10 seconds. Also
increase max receive budget to read more replies from firmware
in every cycle.
Fixes: 9eb2c9a480
("net/cxgbe: implement flow create operation")
Cc: stable@dpdk.org
Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
45 lines
1.2 KiB
C
45 lines
1.2 KiB
C
/* SPDX-License-Identifier: BSD-3-Clause
|
|
* Copyright(c) 2018 Chelsio Communications.
|
|
* All rights reserved.
|
|
*/
|
|
#ifndef _CXGBE_FLOW_H_
|
|
#define _CXGBE_FLOW_H_
|
|
|
|
#include <rte_flow_driver.h>
|
|
#include "cxgbe_filter.h"
|
|
#include "mps_tcam.h"
|
|
#include "cxgbe.h"
|
|
|
|
/* Max poll time is 100 * 100msec = 10 sec */
|
|
#define CXGBE_FLOW_POLL_MS 100 /* 100 milliseconds */
|
|
#define CXGBE_FLOW_POLL_CNT 100 /* Max number of times to poll */
|
|
|
|
struct chrte_fparse {
|
|
int (*fptr)(const void *mask, /* currently supported mask */
|
|
const struct rte_flow_item *item, /* user input */
|
|
struct ch_filter_specification *fs, /* where to parse */
|
|
struct rte_flow_error *e);
|
|
const void *dmask; /* Specify what is supported by chelsio by default*/
|
|
};
|
|
|
|
struct rte_flow {
|
|
struct filter_entry *f;
|
|
struct ch_filter_specification fs; /* temp, to create filter */
|
|
struct chrte_fparse *item_parser;
|
|
/*
|
|
* filter_entry doesn't store user priority.
|
|
* Post creation of filter this will indicate the
|
|
* flow index (fidx) for both hash and tcam filters
|
|
*/
|
|
unsigned int fidx;
|
|
struct rte_eth_dev *dev;
|
|
};
|
|
|
|
int
|
|
cxgbe_dev_filter_ctrl(struct rte_eth_dev *dev,
|
|
enum rte_filter_type filter_type,
|
|
enum rte_filter_op filter_op,
|
|
void *arg);
|
|
|
|
#endif /* _CXGBE_FLOW_H_ */
|