[dpdk-dev] [PATCH] e1000: enable allmulticast support for VF

Thomas Monjalon thomas.monjalon at 6wind.com
Mon Jun 15 17:09:14 CEST 2015


We still have no maintainer for e1000.
Anyone to double-check this short patch?

2015-05-28 17:46, Yury Kylulin:
> Add support to enable and disable reception of all multicast packets by the VF using standard API
> rte_eth_allmulticast_enable()/rte_eth_allmulticast_disable().
> 
> Signed-off-by: Yury Kylulin <yury.kylulin at intel.com>
[...]
> +static void
> +igbvf_allmulticast_enable(struct rte_eth_dev *dev)
> +{
> +	struct e1000_hw *hw = E1000_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> +
> +	e1000_promisc_set_vf(hw, e1000_promisc_multicast);
> +}
> +
> +static void
> +igbvf_allmulticast_disable(struct rte_eth_dev *dev)
> +{
> +	struct e1000_hw *hw = E1000_DEV_PRIVATE_TO_HW(dev->data->dev_private);
> +
> +	e1000_promisc_set_vf(hw, e1000_promisc_disabled);
> +}

The values come from this enum:
enum e1000_promisc_type {
	e1000_promisc_disabled = 0,   /* all promisc modes disabled */
	e1000_promisc_unicast = 1,    /* unicast promiscuous enabled */
	e1000_promisc_multicast = 2,  /* multicast promiscuous enabled */
	e1000_promisc_enabled = 3,    /* both uni and multicast promisc */



More information about the dev mailing list