which means the current rule's input set conflicts with the first rule's.
Remove the first rule if want to change the input set of the PCTYPE.
-Disable QinQ is not supported when FW >= 8.4
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Vlan related Features miss when FW >= 8.4
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-If upgrade FW to version 8.4 and higher, enable QinQ by default and disable QinQ is not supported.
+If FW version >= 8.4, there'll be some Vlan related issues:
+#. TCI input set for QinQ is invalid.
+#. Fail to configure TPID for QinQ.
+#. Need to enable QinQ before enabling Vlan filter.
+#. Fail to strip outer Vlan.
Example of getting best performance with l3fwd example
------------------------------------------------------
}
if (mask & RTE_ETH_VLAN_EXTEND_MASK) {
- /* Double VLAN not allowed to be disabled.*/
- if (pf->fw8_3gt && !(rxmode->offloads & RTE_ETH_RX_OFFLOAD_VLAN_EXTEND)) {
- PMD_DRV_LOG(WARNING,
- "Disable double VLAN is not allowed after firmwarev8.3!");
- return 0;
- }
i = 0;
num = vsi->mac_num;
mac_filter = rte_zmalloc("mac_filter_info_data",
static int
i40e_dev_init_vlan(struct rte_eth_dev *dev)
{
- struct i40e_pf *pf = I40E_DEV_PRIVATE_TO_PF(dev->data->dev_private);
struct rte_eth_dev_data *data = dev->data;
int ret;
int mask = 0;
RTE_ETH_VLAN_FILTER_MASK |
RTE_ETH_VLAN_EXTEND_MASK;
- /* Double VLAN be enabled by default.*/
- if (pf->fw8_3gt) {
- struct rte_eth_rxmode *rxmode = &dev->data->dev_conf.rxmode;
- rxmode->offloads |= RTE_ETH_RX_OFFLOAD_VLAN_EXTEND;
- }
ret = i40e_vlan_offload_set(dev, mask);
if (ret) {
PMD_DRV_LOG(INFO, "Failed to update vlan offload");