net/i40e: support MAC loopback
According to loopback mode, setup loopback link or not. If loopback link is set, packets transmitted will be looped back to received side directly. Signed-off-by: Yanglong Wu <yanglong.wu@intel.com> Acked-by: Beilei Xing <beilei.xing@intel.com>
This commit is contained in:
parent
024c72a8f3
commit
3a838ab649
@ -41,6 +41,12 @@ New Features
|
||||
Also, make sure to start the actual text at the margin.
|
||||
=========================================================
|
||||
|
||||
* **Add MAC loopback support for i40e.**
|
||||
|
||||
Add MAC loopback support for i40e in order to support test task asked by
|
||||
users. According to the device configuration, it will setup TX->RX loopback
|
||||
link or not.
|
||||
|
||||
|
||||
API Changes
|
||||
-----------
|
||||
|
@ -2019,6 +2019,16 @@ i40e_dev_start(struct rte_eth_dev *dev)
|
||||
}
|
||||
}
|
||||
|
||||
/* Enable mac loopback mode */
|
||||
if (dev->data->dev_conf.lpbk_mode == I40E_AQ_LB_MODE_NONE ||
|
||||
dev->data->dev_conf.lpbk_mode == I40E_AQ_LB_PHY_LOCAL) {
|
||||
ret = i40e_aq_set_lb_modes(hw, dev->data->dev_conf.lpbk_mode, NULL);
|
||||
if (ret != I40E_SUCCESS) {
|
||||
PMD_DRV_LOG(ERR, "fail to set loopback link");
|
||||
goto err_up;
|
||||
}
|
||||
}
|
||||
|
||||
/* Apply link configure */
|
||||
if (dev->data->dev_conf.link_speeds & ~(ETH_LINK_SPEED_100M |
|
||||
ETH_LINK_SPEED_1G | ETH_LINK_SPEED_10G |
|
||||
|
@ -32,7 +32,8 @@
|
||||
#define I40E_NUM_MACADDR_MAX 64
|
||||
/* Maximum number of VFs */
|
||||
#define I40E_MAX_VF 128
|
||||
|
||||
/*flag of no loopback*/
|
||||
#define I40E_AQ_LB_MODE_NONE 0x0
|
||||
/*
|
||||
* vlan_id is a 12 bit number.
|
||||
* The VFTA array is actually a 4096 bit array, 128 of 32bit elements.
|
||||
|
Loading…
x
Reference in New Issue
Block a user