[dpdk-dev] [PATCH v4 05/10] qede: Add core driver
Stephen Hemminger
stephen at networkplumber.org
Wed Mar 30 18:49:02 CEST 2016
On Tue, 29 Mar 2016 22:28:20 -0700
Rasesh Mody <rasesh.mody at qlogic.com> wrote:
> +
> +void qede_config_rx_mode(struct rte_eth_dev *eth_dev)
> +{
> + struct qede_dev *qdev = eth_dev->data->dev_private;
> + struct ecore_dev *edev = &qdev->edev;
> + /* TODO: - QED_FILTER_TYPE_UCAST */
> + enum qed_filter_rx_mode_type accept_flags =
> + QED_FILTER_RX_MODE_TYPE_REGULAR;
> + struct qed_filter_params rx_mode;
> + int rc;
> +
> + /* Configure the struct for the Rx mode */
> + memset(&rx_mode, 0, sizeof(struct qed_filter_params));
> + rx_mode.type = QED_FILTER_TYPE_RX_MODE;
> +
> + rc = qede_set_ucast_rx_mac(qdev, QED_FILTER_XCAST_TYPE_REPLACE,
> + eth_dev->data->mac_addrs[0].addr_bytes);
> + if (rte_eth_promiscuous_get(eth_dev->data->port_id) == 1) {
> + accept_flags = QED_FILTER_RX_MODE_TYPE_PROMISC;
> + } else {
> + rc = qede_set_ucast_rx_mac(qdev, QED_FILTER_XCAST_TYPE_ADD,
> + eth_dev->data->
> + mac_addrs[0].addr_bytes);
> + if (rc) {
> + DP_ERR(edev, "Unable to add filter\n");
> + return;
> + }
> + }
> +
> + /* take care of VLAN mode */
> + if (rte_eth_promiscuous_get(eth_dev->data->port_id) == 1) {
> + qede_config_accept_any_vlan(qdev, true);
> + } else if (!qdev->non_configured_vlans) {
> + /* If we dont have non-configured VLANs and promisc
> + * is not set, then check if we need to disable
> + * accept_any_vlan mode.
> + * Because in this case, accept_any_vlan mode is set
> + * as part of IFF_RPOMISC flag handling.
> + */
> + qede_config_accept_any_vlan(qdev, false);
> + }
> + rx_mode.filter.accept_flags = accept_flags;
> + (void)qdev->ops->filter_config(edev, &rx_mode);
Please don't use lint suppressing dummy (void) casts. I don't think GCC or any
check tool needs these. Better yet check the return value and log errors.
More information about the dev
mailing list