Changeset View
Changeset View
Standalone View
Standalone View
head/sys/dev/sfxge/common/efx_mac.c
Show All 37 Lines | |||||
static __checkReturn efx_rc_t | static __checkReturn efx_rc_t | ||||
falconsiena_mac_multicast_list_set( | falconsiena_mac_multicast_list_set( | ||||
__in efx_nic_t *enp); | __in efx_nic_t *enp); | ||||
#endif /* EFSYS_OPT_SIENA */ | #endif /* EFSYS_OPT_SIENA */ | ||||
#if EFSYS_OPT_SIENA | #if EFSYS_OPT_SIENA | ||||
static efx_mac_ops_t __efx_siena_mac_ops = { | static const efx_mac_ops_t __efx_siena_mac_ops = { | ||||
NULL, /* emo_reset */ | NULL, /* emo_reset */ | ||||
siena_mac_poll, /* emo_poll */ | siena_mac_poll, /* emo_poll */ | ||||
siena_mac_up, /* emo_up */ | siena_mac_up, /* emo_up */ | ||||
siena_mac_reconfigure, /* emo_addr_set */ | siena_mac_reconfigure, /* emo_addr_set */ | ||||
siena_mac_reconfigure, /* emo_pdu_set */ | siena_mac_reconfigure, /* emo_pdu_set */ | ||||
siena_mac_reconfigure, /* emo_reconfigure */ | siena_mac_reconfigure, /* emo_reconfigure */ | ||||
falconsiena_mac_multicast_list_set, /* emo_multicast_list_set */ | falconsiena_mac_multicast_list_set, /* emo_multicast_list_set */ | ||||
NULL, /* emo_filter_set_default_rxq */ | NULL, /* emo_filter_set_default_rxq */ | ||||
NULL, /* emo_filter_default_rxq_clear */ | NULL, /* emo_filter_default_rxq_clear */ | ||||
#if EFSYS_OPT_LOOPBACK | #if EFSYS_OPT_LOOPBACK | ||||
siena_mac_loopback_set, /* emo_loopback_set */ | siena_mac_loopback_set, /* emo_loopback_set */ | ||||
#endif /* EFSYS_OPT_LOOPBACK */ | #endif /* EFSYS_OPT_LOOPBACK */ | ||||
#if EFSYS_OPT_MAC_STATS | #if EFSYS_OPT_MAC_STATS | ||||
efx_mcdi_mac_stats_upload, /* emo_stats_upload */ | efx_mcdi_mac_stats_upload, /* emo_stats_upload */ | ||||
efx_mcdi_mac_stats_periodic, /* emo_stats_periodic */ | efx_mcdi_mac_stats_periodic, /* emo_stats_periodic */ | ||||
siena_mac_stats_update /* emo_stats_update */ | siena_mac_stats_update /* emo_stats_update */ | ||||
#endif /* EFSYS_OPT_MAC_STATS */ | #endif /* EFSYS_OPT_MAC_STATS */ | ||||
}; | }; | ||||
#endif /* EFSYS_OPT_SIENA */ | #endif /* EFSYS_OPT_SIENA */ | ||||
#if EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD | #if EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD | ||||
static efx_mac_ops_t __efx_ef10_mac_ops = { | static const efx_mac_ops_t __efx_ef10_mac_ops = { | ||||
NULL, /* emo_reset */ | NULL, /* emo_reset */ | ||||
ef10_mac_poll, /* emo_poll */ | ef10_mac_poll, /* emo_poll */ | ||||
ef10_mac_up, /* emo_up */ | ef10_mac_up, /* emo_up */ | ||||
ef10_mac_addr_set, /* emo_addr_set */ | ef10_mac_addr_set, /* emo_addr_set */ | ||||
ef10_mac_pdu_set, /* emo_pdu_set */ | ef10_mac_pdu_set, /* emo_pdu_set */ | ||||
ef10_mac_reconfigure, /* emo_reconfigure */ | ef10_mac_reconfigure, /* emo_reconfigure */ | ||||
ef10_mac_multicast_list_set, /* emo_multicast_list_set */ | ef10_mac_multicast_list_set, /* emo_multicast_list_set */ | ||||
ef10_mac_filter_default_rxq_set, /* emo_filter_default_rxq_set */ | ef10_mac_filter_default_rxq_set, /* emo_filter_default_rxq_set */ | ||||
Show All 12 Lines | #endif /* EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD */ | ||||
__checkReturn efx_rc_t | __checkReturn efx_rc_t | ||||
efx_mac_pdu_set( | efx_mac_pdu_set( | ||||
__in efx_nic_t *enp, | __in efx_nic_t *enp, | ||||
__in size_t pdu) | __in size_t pdu) | ||||
{ | { | ||||
efx_port_t *epp = &(enp->en_port); | efx_port_t *epp = &(enp->en_port); | ||||
efx_mac_ops_t *emop = epp->ep_emop; | const efx_mac_ops_t *emop = epp->ep_emop; | ||||
uint32_t old_pdu; | uint32_t old_pdu; | ||||
efx_rc_t rc; | efx_rc_t rc; | ||||
EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); | EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); | ||||
EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PORT); | EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PORT); | ||||
EFSYS_ASSERT(emop != NULL); | EFSYS_ASSERT(emop != NULL); | ||||
if (pdu < EFX_MAC_PDU_MIN) { | if (pdu < EFX_MAC_PDU_MIN) { | ||||
Show All 27 Lines | |||||
} | } | ||||
__checkReturn efx_rc_t | __checkReturn efx_rc_t | ||||
efx_mac_addr_set( | efx_mac_addr_set( | ||||
__in efx_nic_t *enp, | __in efx_nic_t *enp, | ||||
__in uint8_t *addr) | __in uint8_t *addr) | ||||
{ | { | ||||
efx_port_t *epp = &(enp->en_port); | efx_port_t *epp = &(enp->en_port); | ||||
efx_mac_ops_t *emop = epp->ep_emop; | const efx_mac_ops_t *emop = epp->ep_emop; | ||||
uint8_t old_addr[6]; | uint8_t old_addr[6]; | ||||
uint32_t oui; | uint32_t oui; | ||||
efx_rc_t rc; | efx_rc_t rc; | ||||
EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); | EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); | ||||
EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PORT); | EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PORT); | ||||
if (EFX_MAC_ADDR_IS_MULTICAST(addr)) { | if (EFX_MAC_ADDR_IS_MULTICAST(addr)) { | ||||
Show All 31 Lines | |||||
efx_mac_filter_set( | efx_mac_filter_set( | ||||
__in efx_nic_t *enp, | __in efx_nic_t *enp, | ||||
__in boolean_t all_unicst, | __in boolean_t all_unicst, | ||||
__in boolean_t mulcst, | __in boolean_t mulcst, | ||||
__in boolean_t all_mulcst, | __in boolean_t all_mulcst, | ||||
__in boolean_t brdcst) | __in boolean_t brdcst) | ||||
{ | { | ||||
efx_port_t *epp = &(enp->en_port); | efx_port_t *epp = &(enp->en_port); | ||||
efx_mac_ops_t *emop = epp->ep_emop; | const efx_mac_ops_t *emop = epp->ep_emop; | ||||
boolean_t old_all_unicst; | boolean_t old_all_unicst; | ||||
boolean_t old_mulcst; | boolean_t old_mulcst; | ||||
boolean_t old_all_mulcst; | boolean_t old_all_mulcst; | ||||
boolean_t old_brdcst; | boolean_t old_brdcst; | ||||
efx_rc_t rc; | efx_rc_t rc; | ||||
EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); | EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); | ||||
EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PORT); | EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PORT); | ||||
Show All 25 Lines | |||||
} | } | ||||
__checkReturn efx_rc_t | __checkReturn efx_rc_t | ||||
efx_mac_drain( | efx_mac_drain( | ||||
__in efx_nic_t *enp, | __in efx_nic_t *enp, | ||||
__in boolean_t enabled) | __in boolean_t enabled) | ||||
{ | { | ||||
efx_port_t *epp = &(enp->en_port); | efx_port_t *epp = &(enp->en_port); | ||||
efx_mac_ops_t *emop = epp->ep_emop; | const efx_mac_ops_t *emop = epp->ep_emop; | ||||
efx_rc_t rc; | efx_rc_t rc; | ||||
EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); | EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); | ||||
EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PORT); | EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PORT); | ||||
EFSYS_ASSERT(emop != NULL); | EFSYS_ASSERT(emop != NULL); | ||||
if (epp->ep_mac_drain == enabled) | if (epp->ep_mac_drain == enabled) | ||||
return (0); | return (0); | ||||
Show All 22 Lines | |||||
} | } | ||||
__checkReturn efx_rc_t | __checkReturn efx_rc_t | ||||
efx_mac_up( | efx_mac_up( | ||||
__in efx_nic_t *enp, | __in efx_nic_t *enp, | ||||
__out boolean_t *mac_upp) | __out boolean_t *mac_upp) | ||||
{ | { | ||||
efx_port_t *epp = &(enp->en_port); | efx_port_t *epp = &(enp->en_port); | ||||
efx_mac_ops_t *emop = epp->ep_emop; | const efx_mac_ops_t *emop = epp->ep_emop; | ||||
efx_rc_t rc; | efx_rc_t rc; | ||||
EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); | EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); | ||||
EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PORT); | EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PORT); | ||||
if ((rc = emop->emo_up(enp, mac_upp)) != 0) | if ((rc = emop->emo_up(enp, mac_upp)) != 0) | ||||
goto fail1; | goto fail1; | ||||
return (0); | return (0); | ||||
fail1: | fail1: | ||||
EFSYS_PROBE1(fail1, efx_rc_t, rc); | EFSYS_PROBE1(fail1, efx_rc_t, rc); | ||||
return (rc); | return (rc); | ||||
} | } | ||||
__checkReturn efx_rc_t | __checkReturn efx_rc_t | ||||
efx_mac_fcntl_set( | efx_mac_fcntl_set( | ||||
__in efx_nic_t *enp, | __in efx_nic_t *enp, | ||||
__in unsigned int fcntl, | __in unsigned int fcntl, | ||||
__in boolean_t autoneg) | __in boolean_t autoneg) | ||||
{ | { | ||||
efx_port_t *epp = &(enp->en_port); | efx_port_t *epp = &(enp->en_port); | ||||
efx_mac_ops_t *emop = epp->ep_emop; | const efx_mac_ops_t *emop = epp->ep_emop; | ||||
efx_phy_ops_t *epop = epp->ep_epop; | const efx_phy_ops_t *epop = epp->ep_epop; | ||||
unsigned int old_fcntl; | unsigned int old_fcntl; | ||||
boolean_t old_autoneg; | boolean_t old_autoneg; | ||||
unsigned int old_adv_cap; | unsigned int old_adv_cap; | ||||
efx_rc_t rc; | efx_rc_t rc; | ||||
EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); | EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); | ||||
EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PORT); | EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PORT); | ||||
▲ Show 20 Lines • Show All 82 Lines • ▼ Show 20 Lines | efx_mac_fcntl_get( | ||||
__checkReturn efx_rc_t | __checkReturn efx_rc_t | ||||
efx_mac_multicast_list_set( | efx_mac_multicast_list_set( | ||||
__in efx_nic_t *enp, | __in efx_nic_t *enp, | ||||
__in_ecount(6*count) uint8_t const *addrs, | __in_ecount(6*count) uint8_t const *addrs, | ||||
__in int count) | __in int count) | ||||
{ | { | ||||
efx_port_t *epp = &(enp->en_port); | efx_port_t *epp = &(enp->en_port); | ||||
efx_mac_ops_t *emop = epp->ep_emop; | const efx_mac_ops_t *emop = epp->ep_emop; | ||||
uint8_t *old_mulcst_addr_list = NULL; | uint8_t *old_mulcst_addr_list = NULL; | ||||
uint32_t old_mulcst_addr_count; | uint32_t old_mulcst_addr_count; | ||||
efx_rc_t rc; | efx_rc_t rc; | ||||
EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); | EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); | ||||
EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PORT); | EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PORT); | ||||
if (count > EFX_MAC_MULTICAST_LIST_MAX) { | if (count > EFX_MAC_MULTICAST_LIST_MAX) { | ||||
▲ Show 20 Lines • Show All 59 Lines • ▼ Show 20 Lines | fail1: | ||||
__checkReturn efx_rc_t | __checkReturn efx_rc_t | ||||
efx_mac_filter_default_rxq_set( | efx_mac_filter_default_rxq_set( | ||||
__in efx_nic_t *enp, | __in efx_nic_t *enp, | ||||
__in efx_rxq_t *erp, | __in efx_rxq_t *erp, | ||||
__in boolean_t using_rss) | __in boolean_t using_rss) | ||||
{ | { | ||||
efx_port_t *epp = &(enp->en_port); | efx_port_t *epp = &(enp->en_port); | ||||
efx_mac_ops_t *emop = epp->ep_emop; | const efx_mac_ops_t *emop = epp->ep_emop; | ||||
efx_rc_t rc; | efx_rc_t rc; | ||||
EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); | EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); | ||||
EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PORT); | EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PORT); | ||||
if (emop->emo_filter_default_rxq_set != NULL) { | if (emop->emo_filter_default_rxq_set != NULL) { | ||||
rc = emop->emo_filter_default_rxq_set(enp, erp, using_rss); | rc = emop->emo_filter_default_rxq_set(enp, erp, using_rss); | ||||
if (rc != 0) | if (rc != 0) | ||||
goto fail1; | goto fail1; | ||||
} | } | ||||
return (0); | return (0); | ||||
fail1: | fail1: | ||||
EFSYS_PROBE1(fail1, efx_rc_t, rc); | EFSYS_PROBE1(fail1, efx_rc_t, rc); | ||||
return (rc); | return (rc); | ||||
} | } | ||||
void | void | ||||
efx_mac_filter_default_rxq_clear( | efx_mac_filter_default_rxq_clear( | ||||
__in efx_nic_t *enp) | __in efx_nic_t *enp) | ||||
{ | { | ||||
efx_port_t *epp = &(enp->en_port); | efx_port_t *epp = &(enp->en_port); | ||||
efx_mac_ops_t *emop = epp->ep_emop; | const efx_mac_ops_t *emop = epp->ep_emop; | ||||
EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); | EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); | ||||
EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PORT); | EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PORT); | ||||
if (emop->emo_filter_default_rxq_clear != NULL) | if (emop->emo_filter_default_rxq_clear != NULL) | ||||
emop->emo_filter_default_rxq_clear(enp); | emop->emo_filter_default_rxq_clear(enp); | ||||
} | } | ||||
▲ Show 20 Lines • Show All 103 Lines • ▼ Show 20 Lines | |||||
#endif /* EFSYS_OPT_NAMES */ | #endif /* EFSYS_OPT_NAMES */ | ||||
__checkReturn efx_rc_t | __checkReturn efx_rc_t | ||||
efx_mac_stats_upload( | efx_mac_stats_upload( | ||||
__in efx_nic_t *enp, | __in efx_nic_t *enp, | ||||
__in efsys_mem_t *esmp) | __in efsys_mem_t *esmp) | ||||
{ | { | ||||
efx_port_t *epp = &(enp->en_port); | efx_port_t *epp = &(enp->en_port); | ||||
efx_mac_ops_t *emop = epp->ep_emop; | const efx_mac_ops_t *emop = epp->ep_emop; | ||||
efx_rc_t rc; | efx_rc_t rc; | ||||
EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); | EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); | ||||
EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PORT); | EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PORT); | ||||
EFSYS_ASSERT(emop != NULL); | EFSYS_ASSERT(emop != NULL); | ||||
/* | /* | ||||
* Don't assert !ep_mac_stats_pending, because the client might | * Don't assert !ep_mac_stats_pending, because the client might | ||||
Show All 16 Lines | fail1: | ||||
__checkReturn efx_rc_t | __checkReturn efx_rc_t | ||||
efx_mac_stats_periodic( | efx_mac_stats_periodic( | ||||
__in efx_nic_t *enp, | __in efx_nic_t *enp, | ||||
__in efsys_mem_t *esmp, | __in efsys_mem_t *esmp, | ||||
__in uint16_t period_ms, | __in uint16_t period_ms, | ||||
__in boolean_t events) | __in boolean_t events) | ||||
{ | { | ||||
efx_port_t *epp = &(enp->en_port); | efx_port_t *epp = &(enp->en_port); | ||||
efx_mac_ops_t *emop = epp->ep_emop; | const efx_mac_ops_t *emop = epp->ep_emop; | ||||
efx_rc_t rc; | efx_rc_t rc; | ||||
EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); | EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); | ||||
EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PORT); | EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PORT); | ||||
EFSYS_ASSERT(emop != NULL); | EFSYS_ASSERT(emop != NULL); | ||||
if (emop->emo_stats_periodic == NULL) { | if (emop->emo_stats_periodic == NULL) { | ||||
Show All 18 Lines | fail1: | ||||
__checkReturn efx_rc_t | __checkReturn efx_rc_t | ||||
efx_mac_stats_update( | efx_mac_stats_update( | ||||
__in efx_nic_t *enp, | __in efx_nic_t *enp, | ||||
__in efsys_mem_t *esmp, | __in efsys_mem_t *esmp, | ||||
__inout_ecount(EFX_MAC_NSTATS) efsys_stat_t *essp, | __inout_ecount(EFX_MAC_NSTATS) efsys_stat_t *essp, | ||||
__inout_opt uint32_t *generationp) | __inout_opt uint32_t *generationp) | ||||
{ | { | ||||
efx_port_t *epp = &(enp->en_port); | efx_port_t *epp = &(enp->en_port); | ||||
efx_mac_ops_t *emop = epp->ep_emop; | const efx_mac_ops_t *emop = epp->ep_emop; | ||||
efx_rc_t rc; | efx_rc_t rc; | ||||
EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); | EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); | ||||
EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PORT); | EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PORT); | ||||
EFSYS_ASSERT(emop != NULL); | EFSYS_ASSERT(emop != NULL); | ||||
rc = emop->emo_stats_update(enp, esmp, essp, generationp); | rc = emop->emo_stats_update(enp, esmp, essp, generationp); | ||||
if (rc == 0) | if (rc == 0) | ||||
epp->ep_mac_stats_pending = B_FALSE; | epp->ep_mac_stats_pending = B_FALSE; | ||||
return (rc); | return (rc); | ||||
} | } | ||||
#endif /* EFSYS_OPT_MAC_STATS */ | #endif /* EFSYS_OPT_MAC_STATS */ | ||||
__checkReturn efx_rc_t | __checkReturn efx_rc_t | ||||
efx_mac_select( | efx_mac_select( | ||||
__in efx_nic_t *enp) | __in efx_nic_t *enp) | ||||
{ | { | ||||
efx_port_t *epp = &(enp->en_port); | efx_port_t *epp = &(enp->en_port); | ||||
efx_mac_type_t type = EFX_MAC_INVALID; | efx_mac_type_t type = EFX_MAC_INVALID; | ||||
efx_mac_ops_t *emop; | const efx_mac_ops_t *emop; | ||||
int rc = EINVAL; | int rc = EINVAL; | ||||
switch (enp->en_family) { | switch (enp->en_family) { | ||||
#if EFSYS_OPT_SIENA | #if EFSYS_OPT_SIENA | ||||
case EFX_FAMILY_SIENA: | case EFX_FAMILY_SIENA: | ||||
emop = &__efx_siena_mac_ops; | emop = &__efx_siena_mac_ops; | ||||
type = EFX_MAC_SIENA; | type = EFX_MAC_SIENA; | ||||
break; | break; | ||||
▲ Show 20 Lines • Show All 79 Lines • ▼ Show 20 Lines | falconsiena_mac_multicast_hash_compute( | ||||
} | } | ||||
} | } | ||||
static __checkReturn efx_rc_t | static __checkReturn efx_rc_t | ||||
falconsiena_mac_multicast_list_set( | falconsiena_mac_multicast_list_set( | ||||
__in efx_nic_t *enp) | __in efx_nic_t *enp) | ||||
{ | { | ||||
efx_port_t *epp = &(enp->en_port); | efx_port_t *epp = &(enp->en_port); | ||||
efx_mac_ops_t *emop = epp->ep_emop; | const efx_mac_ops_t *emop = epp->ep_emop; | ||||
efx_oword_t old_hash[2]; | efx_oword_t old_hash[2]; | ||||
efx_rc_t rc; | efx_rc_t rc; | ||||
EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); | EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); | ||||
EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PORT); | EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PORT); | ||||
memcpy(old_hash, epp->ep_multicst_hash, sizeof (old_hash)); | memcpy(old_hash, epp->ep_multicst_hash, sizeof (old_hash)); | ||||
Show All 19 Lines |