net/dpaa2: configure jumbo frames
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
This commit is contained in:
parent
977d0006ad
commit
e164084994
@ -6,6 +6,7 @@
|
|||||||
[Features]
|
[Features]
|
||||||
Link status = Y
|
Link status = Y
|
||||||
Queue start/stop = Y
|
Queue start/stop = Y
|
||||||
|
Jumbo frame = Y
|
||||||
MTU update = Y
|
MTU update = Y
|
||||||
Promiscuous mode = Y
|
Promiscuous mode = Y
|
||||||
Allmulticast mode = Y
|
Allmulticast mode = Y
|
||||||
|
@ -57,6 +57,7 @@ static struct rte_dpaa2_driver rte_dpaa2_pmd;
|
|||||||
static int dpaa2_dev_uninit(struct rte_eth_dev *eth_dev);
|
static int dpaa2_dev_uninit(struct rte_eth_dev *eth_dev);
|
||||||
static int dpaa2_dev_set_link_up(struct rte_eth_dev *dev);
|
static int dpaa2_dev_set_link_up(struct rte_eth_dev *dev);
|
||||||
static int dpaa2_dev_set_link_down(struct rte_eth_dev *dev);
|
static int dpaa2_dev_set_link_down(struct rte_eth_dev *dev);
|
||||||
|
static int dpaa2_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Atomically reads the link status information from global
|
* Atomically reads the link status information from global
|
||||||
@ -278,6 +279,20 @@ dpaa2_eth_dev_configure(struct rte_eth_dev *dev)
|
|||||||
|
|
||||||
PMD_INIT_FUNC_TRACE();
|
PMD_INIT_FUNC_TRACE();
|
||||||
|
|
||||||
|
if (eth_conf->rxmode.jumbo_frame == 1) {
|
||||||
|
if (eth_conf->rxmode.max_rx_pkt_len <= DPAA2_MAX_RX_PKT_LEN) {
|
||||||
|
ret = dpaa2_dev_mtu_set(dev,
|
||||||
|
eth_conf->rxmode.max_rx_pkt_len);
|
||||||
|
if (ret) {
|
||||||
|
PMD_INIT_LOG(ERR,
|
||||||
|
"unable to set mtu. check config\n");
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Check for correct configuration */
|
/* Check for correct configuration */
|
||||||
if (eth_conf->rxmode.mq_mode != ETH_MQ_RX_RSS &&
|
if (eth_conf->rxmode.mq_mode != ETH_MQ_RX_RSS &&
|
||||||
data->nb_rx_queues > 1) {
|
data->nb_rx_queues > 1) {
|
||||||
@ -778,6 +793,11 @@ dpaa2_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)
|
|||||||
if ((mtu < ETHER_MIN_MTU) || (frame_size > DPAA2_MAX_RX_PKT_LEN))
|
if ((mtu < ETHER_MIN_MTU) || (frame_size > DPAA2_MAX_RX_PKT_LEN))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
||||||
|
if (frame_size > ETHER_MAX_LEN)
|
||||||
|
dev->data->dev_conf.rxmode.jumbo_frame = 1;
|
||||||
|
else
|
||||||
|
dev->data->dev_conf.rxmode.jumbo_frame = 0;
|
||||||
|
|
||||||
/* Set the Max Rx frame length as 'mtu' +
|
/* Set the Max Rx frame length as 'mtu' +
|
||||||
* Maximum Ethernet header length
|
* Maximum Ethernet header length
|
||||||
*/
|
*/
|
||||||
|
Loading…
x
Reference in New Issue
Block a user