[dpdk-dev] How to shut down flow control in DPDK ?

Stephen Hemminger stephen at networkplumber.org
Thu Jan 16 02:37:08 CET 2014


On Thu, 16 Jan 2014 08:52:26 +0800
chen_lp <chen_lp at neusoft.com> wrote:

> Hi,
> I want to shut down flow control in DPDK,
> I only kwon the function rte_eth_dev_flow_ctrl_set(uint8_t port_id,
> struct rte_eth_fc_conf *fc_conf) can do this.
> But I don't kwon how config the struct rte_eth_fc_conf.
> I try config it like that :
> 
> static struct rte_eth_fc_conf fc_conf={
> .high_water=100,
> .low_water=10,
> .pause_time=1,
> .send_xon=0,
> .mode=RTE_FC_NONE,
> };
> 
> But other card which we link to can still able to control the speed of
> our tx.
> 

The following seems to work:
	struct rte_eth_fc_conf fcoff = {
		.pause_time = DEFAULT_FCPAUSE,
		.send_xon = 1,
		.mode = RTE_FC_NONE,
	};
...
	/* Disable 802 flow control since it can lead to head-of-line
	   blocking. Ignore errors some drivers do it now. */
	ret = rte_eth_dev_flow_ctrl_set(portid, &fcoff);
	if (ret < 0 && ret != -ENOTSUP)
               log a message..


More information about the dev mailing list