Print this page
13230 i40e has duplicate traffic when used with bhyve/snoop running

*** 374,384 **** * o More dynamic resource pools */ #include "i40e_sw.h" ! static char i40e_ident[] = "Intel 10/40Gb Ethernet v1.0.3"; /* * The i40e_glock primarily protects the lists below and the i40e_device_t * structures. */ --- 374,384 ---- * o More dynamic resource pools */ #include "i40e_sw.h" ! static char i40e_ident[] = "Intel 10/40Gb Ethern0t v1.0.3"; /* * The i40e_glock primarily protects the lists below and the i40e_device_t * structures. */
*** 2282,2291 **** --- 2282,2320 ---- I40E_DEF_VSI_SEID(i40e), err, hw->aq.asq_last_status); return (B_FALSE); } + #if 0 + bzero(&filt, sizeof (filt)); + bcopy(hw->mac.port_addr, filt.mac_addr, ETHERADDRL); + filt.flags = I40E_AQC_MACVLAN_DEL_PERFECT_MATCH | + I40E_AQC_MACVLAN_DEL_IGNORE_VLAN; + filt.vlan_tag = 0; + + ASSERT3U(i40e->i40e_resources.ifr_nmacfilt_used, <=, 1); + i40e_log(i40e, "Num L2 filters (2nd try): %u", + i40e->i40e_resources.ifr_nmacfilt_used); + + err = i40e_aq_remove_macvlan(hw, I40E_DEF_VSI_SEID(i40e), &filt, 1, + NULL); + if (err == I40E_SUCCESS) { + i40e_log(i40e, + "(2nd try) Removed L2 filter from Default VSI with SEID %u", + I40E_DEF_VSI_SEID(i40e)); + } else if (hw->aq.asq_last_status == ENOENT) { + i40e_log(i40e, + "(2nd try) No L2 filter for Default VSI with SEID %u", + I40E_DEF_VSI_SEID(i40e)); + } else { + i40e_error(i40e, "(2nd try) Failed to remove L2 filter from" + " Default VSI with SEID %u: %d (%d)", + I40E_DEF_VSI_SEID(i40e), err, hw->aq.asq_last_status); + + return (B_FALSE); + } + #endif /* * As mentioned above, the controller created an implicit L2 * filter for the primary MAC. We want to remove both the * filter and decrement the filter count. However, not all * controllers count this implicit filter against the total