View | Details | Raw Unified | Return to bug 236983 | Differences between
and this patch

Collapse All | Expand All

(-)sys/dev/bnxt/if_bnxt.c (-3 / +17 lines)
Lines 797-802 Link Here
797
	    /* These likely get lost... */
797
	    /* These likely get lost... */
798
	    IFCAP_VLAN_HWCSUM | IFCAP_JUMBO_MTU;
798
	    IFCAP_VLAN_HWCSUM | IFCAP_JUMBO_MTU;
799
799
800
	/* HWRM interface v1.9.1 doesn't support VLAN HW Filters PR236983 */
801
	if (softc->ver_info->hwrm_if_major == 1
802
	    && softc->ver_info->hwrm_if_minor < 9) {
803
		scctx->isc_capabilities |= IFCAP_VLAN_HWFILTER;
804
		scctx->isc_capenable |= IFCAP_VLAN_HWFILTER;
805
	}
806
800
	if (bnxt_wol_supported(softc))
807
	if (bnxt_wol_supported(softc))
801
		scctx->isc_capenable |= IFCAP_WOL_MAGIC;
808
		scctx->isc_capenable |= IFCAP_WOL_MAGIC;
802
809
Lines 1015-1020 Link Here
1015
bnxt_init(if_ctx_t ctx)
1022
bnxt_init(if_ctx_t ctx)
1016
{
1023
{
1017
	struct bnxt_softc *softc = iflib_get_softc(ctx);
1024
	struct bnxt_softc *softc = iflib_get_softc(ctx);
1025
	if_t ifp = iflib_get_ifp(ctx);
1018
	struct ifmediareq ifmr;
1026
	struct ifmediareq ifmr;
1019
	int i, j;
1027
	int i, j;
1020
	int rc;
1028
	int rc;
Lines 1165-1170 Link Here
1165
1173
1166
	bnxt_do_enable_intr(&softc->def_cp_ring);
1174
	bnxt_do_enable_intr(&softc->def_cp_ring);
1167
	bnxt_media_status(softc->ctx, &ifmr);
1175
	bnxt_media_status(softc->ctx, &ifmr);
1176
	if (if_getcapabilities(ifp) & IFCAP_VLAN_HWFILTER)
1177
		softc->vnic_info.rx_mask &= ~HWRM_CFA_L2_SET_RX_MASK_INPUT_MASK_ANYVLAN_NONVLAN;
1178
	else
1179
		softc->vnic_info.rx_mask |= HWRM_CFA_L2_SET_RX_MASK_INPUT_MASK_ANYVLAN_NONVLAN;
1168
	bnxt_hwrm_cfa_l2_set_rx_mask(softc, &softc->vnic_info);
1180
	bnxt_hwrm_cfa_l2_set_rx_mask(softc, &softc->vnic_info);
1169
	return;
1181
	return;
1170
1182
Lines 1381-1390 Link Here
1381
		softc->vnic_info.rx_mask |=
1393
		softc->vnic_info.rx_mask |=
1382
		    HWRM_CFA_L2_SET_RX_MASK_INPUT_MASK_PROMISCUOUS |
1394
		    HWRM_CFA_L2_SET_RX_MASK_INPUT_MASK_PROMISCUOUS |
1383
		    HWRM_CFA_L2_SET_RX_MASK_INPUT_MASK_ANYVLAN_NONVLAN;
1395
		    HWRM_CFA_L2_SET_RX_MASK_INPUT_MASK_ANYVLAN_NONVLAN;
1384
	else
1396
	else {
1385
		softc->vnic_info.rx_mask &=
1397
		softc->vnic_info.rx_mask &=
1386
		    ~(HWRM_CFA_L2_SET_RX_MASK_INPUT_MASK_PROMISCUOUS |
1398
		    ~HWRM_CFA_L2_SET_RX_MASK_INPUT_MASK_PROMISCUOUS;
1387
		    HWRM_CFA_L2_SET_RX_MASK_INPUT_MASK_ANYVLAN_NONVLAN);
1399
		if (if_getcapabilities(ifp) & IFCAP_VLAN_HWFILTER)
1400
			softc->vnic_info.rx_mask &= ~HWRM_CFA_L2_SET_RX_MASK_INPUT_MASK_ANYVLAN_NONVLAN;
1401
	}
1388
1402
1389
	rc = bnxt_hwrm_cfa_l2_set_rx_mask(softc, &softc->vnic_info);
1403
	rc = bnxt_hwrm_cfa_l2_set_rx_mask(softc, &softc->vnic_info);
1390
1404

Return to bug 236983