Skip to contentSkip to conversation

How to shut down flow control in DPDK ?

DISCUSSION chen_lp 2 participants 2 messages Jan 16, 2014 1 message not in the archive

lore
Share & tools
lore

chen_lp

author
#0 lore raw

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.

---------------------------------------------------------------------------------------------------
Confidentiality Notice: The information contained in this e-mail and any accompanying attachment(s) is intended only for the use of the intended recipient and may be confidential and/or privileged of Neusoft Corporation, its subsidiaries and/or its affiliates. If any reader of this communication is not the intended recipient, unauthorized use, forwarding, printing, storing, disclosure or copying is strictly prohibited, and may be unlawful.If you have received this communication in error,please immediately notify the sender by return e-mail, and delete the original message and all copies from your system. Thank you.
---------------------------------------------------------------------------------------------------

A message that is not in the archive (sent off-list or not yet received): [email protected]

#2 lore raw
Quoted 15 lines · On Thu, 16 Jan 2014 08:52:26 +0800 chen_lp…

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,
};

Quoted 3 lines

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..