[dpdk-dev] [PATCH v2 05/10] bnx2x: Restrict RX mask flags sent to the PF

Ferruh Yigit ferruh.yigit at intel.com
Fri Sep 30 12:45:23 CEST 2016


On 9/29/2016 11:20 AM, Chas Williams wrote:
> Don't use bnx2x_fill_accept_flags() to fill the RX mask in the VF
> since the PF only handles a subset of the existing flags.  now,
> bnx2x_fill_accept_flags() can be static.
> 
> Fixes: 540a211084a7 ("bnx2x: driver core")
> 
> Signed-off-by: Chas Williams <3chas3 at gmail.com>

<...>

> diff --git a/drivers/net/bnx2x/bnx2x_vfpf.c b/drivers/net/bnx2x/bnx2x_vfpf.c
> index 1c895f8..ecd4a7d 100644
> --- a/drivers/net/bnx2x/bnx2x_vfpf.c
> +++ b/drivers/net/bnx2x/bnx2x_vfpf.c
> @@ -576,7 +576,6 @@ bnx2x_vf_set_rx_mode(struct bnx2x_softc *sc)
>  {
>  	struct vf_set_q_filters_tlv *query;
>  	struct vf_common_reply_tlv *reply = &sc->vf2pf_mbox->resp.common_reply;
> -	unsigned long tx_mask;
>  
>  	query = &sc->vf2pf_mbox->query[0].set_q_filters;
>  	bnx2x_init_first_tlv(sc, &query->first_tlv, BNX2X_VF_TLV_SET_Q_FILTERS,
> @@ -585,7 +584,27 @@ bnx2x_vf_set_rx_mode(struct bnx2x_softc *sc)
>  	query->vf_qid = 0;
>  	query->flags = BNX2X_VF_RX_MASK_CHANGED;
>  
> -	if (bnx2x_fill_accept_flags(sc, sc->rx_mode, &query->rx_mask, &tx_mask)) {
> +	switch (sc->rx_mode) {
> +	case BNX2X_RX_MODE_NONE: /* no Rx */
> +		query->rx_mask = VFPF_RX_MASK_ACCEPT_NONE;
> +		break;
> +	case BNX2X_RX_MODE_NORMAL:
> +		query->rx_mask = VFPF_RX_MASK_ACCEPT_MATCHED_MULTICAST;
> +		query->rx_mask |= VFPF_RX_MASK_ACCEPT_MATCHED_UNICAST;
> +		query->rx_mask |= VFPF_RX_MASK_ACCEPT_BROADCAST;
> +		break;
> +	case BNX2X_RX_MODE_ALLMULTI:
> +		query->rx_mask = VFPF_RX_MASK_ACCEPT_ALL_MULTICAST;
> +		query->rx_mask |= VFPF_RX_MASK_ACCEPT_MATCHED_UNICAST;
> +		query->rx_mask |= VFPF_RX_MASK_ACCEPT_BROADCAST;
> +		break;
> +	case BNX2X_RX_MODE_PROMISC:
> +		query->rx_mask = VFPF_RX_MASK_ACCEPT_ALL_UNICAST;
> +		query->rx_mask |= VFPF_RX_MASK_ACCEPT_ALL_MULTICAST;
> +		query->rx_mask |= VFPF_RX_MASK_ACCEPT_BROADCAST;
> +		break;
> +	default:
> +		PMD_DRV_LOG(ERR, "BAD rx mode (%d)", mode);

"mode" is not defined in this function, enabling debug log is giving
following compilation error:

.../drivers/net/bnx2x/bnx2x_vfpf.c:657:40:
    error: ‘mode’ undeclared (first use in this function)
        PMD_DRV_LOG(ERR, "BAD rx mode (%d)", mode);
                                             ^



More information about the dev mailing list