#include <rte_pci.h>
#include <rte_malloc.h>
+#include "ethdev_driver.h"
#include "base/i40e_type.h"
#include "base/virtchnl.h"
#include "i40e_ethdev.h"
DEV_RX_OFFLOAD_QINQ_STRIP |
DEV_RX_OFFLOAD_IPV4_CKSUM |
DEV_RX_OFFLOAD_UDP_CKSUM |
- DEV_RX_OFFLOAD_TCP_CKSUM;
+ DEV_RX_OFFLOAD_TCP_CKSUM |
+ DEV_RX_OFFLOAD_VLAN_FILTER;
dev_info->tx_offload_capa =
DEV_TX_OFFLOAD_MULTI_SEGS |
DEV_TX_OFFLOAD_VLAN_INSERT |
return 0;
}
-static void
+static int
i40e_vf_representor_dev_stop(__rte_unused struct rte_eth_dev *dev)
{
+ return 0;
}
static int
return ret;
}
-static void
+static int
i40e_vf_representor_stats_reset(struct rte_eth_dev *ethdev)
{
struct i40e_vf_representor *representor = ethdev->data->dev_private;
- rte_pmd_i40e_get_vf_native_stats(
+ return rte_pmd_i40e_get_vf_native_stats(
representor->adapter->eth_dev->data->port_id,
representor->vf_id, &representor->stats_offset);
}
representor->vf_id, 0);
}
-static void
+static int
i40e_vf_representor_allmulticast_enable(struct rte_eth_dev *ethdev)
{
struct i40e_vf_representor *representor = ethdev->data->dev_private;
- rte_pmd_i40e_set_vf_multicast_promisc(
+ return rte_pmd_i40e_set_vf_multicast_promisc(
representor->adapter->eth_dev->data->port_id,
representor->vf_id, 1);
}
-static void
+static int
i40e_vf_representor_allmulticast_disable(struct rte_eth_dev *ethdev)
{
struct i40e_vf_representor *representor = ethdev->data->dev_private;
- rte_pmd_i40e_set_vf_multicast_promisc(
+ return rte_pmd_i40e_set_vf_multicast_promisc(
representor->adapter->eth_dev->data->port_id,
representor->vf_id, 0);
}
return -ENODEV;
}
- ethdev->data->dev_flags |= RTE_ETH_DEV_REPRESENTOR;
+ ethdev->data->dev_flags |= RTE_ETH_DEV_REPRESENTOR |
+ RTE_ETH_DEV_AUTOFILL_QUEUE_XSTATS;
ethdev->data->representor_id = representor->vf_id;
/* Setting the number queues allocated to the VF */