Print this page
13230 i40e has duplicate traffic when used with bhyve/snoop running
*** 221,237 ****
struct i40e_hw *hw = &i40e->i40e_hw_space;
int ret = 0, err = 0;
mutex_enter(&i40e->i40e_general_lock);
if (i40e->i40e_state & I40E_SUSPENDED) {
! ret = ECANCELED;
goto done;
}
ret = i40e_aq_set_vsi_unicast_promiscuous(hw, I40E_DEF_VSI_SEID(i40e),
! on, NULL, B_FALSE);
if (ret != I40E_SUCCESS) {
i40e_error(i40e, "failed to %s unicast promiscuity on "
"the default VSI: %d", on == B_TRUE ? "enable" : "disable",
ret);
err = EIO;
--- 221,237 ----
struct i40e_hw *hw = &i40e->i40e_hw_space;
int ret = 0, err = 0;
mutex_enter(&i40e->i40e_general_lock);
if (i40e->i40e_state & I40E_SUSPENDED) {
! err = ECANCELED;
goto done;
}
ret = i40e_aq_set_vsi_unicast_promiscuous(hw, I40E_DEF_VSI_SEID(i40e),
! on, NULL, B_TRUE);
if (ret != I40E_SUCCESS) {
i40e_error(i40e, "failed to %s unicast promiscuity on "
"the default VSI: %d", on == B_TRUE ? "enable" : "disable",
ret);
err = EIO;
*** 257,267 ****
/*
* Try our best to put us back into a state that MAC expects us
* to be in.
*/
ret = i40e_aq_set_vsi_unicast_promiscuous(hw,
! I40E_DEF_VSI_SEID(i40e), !on, NULL, B_FALSE);
if (ret != I40E_SUCCESS) {
i40e_error(i40e, "failed to %s unicast promiscuity on "
"the default VSI after toggling multicast failed: "
"%d", on == B_TRUE ? "disable" : "enable", ret);
}
--- 257,267 ----
/*
* Try our best to put us back into a state that MAC expects us
* to be in.
*/
ret = i40e_aq_set_vsi_unicast_promiscuous(hw,
! I40E_DEF_VSI_SEID(i40e), !on, NULL, B_TRUE);
if (ret != I40E_SUCCESS) {
i40e_error(i40e, "failed to %s unicast promiscuity on "
"the default VSI after toggling multicast failed: "
"%d", on == B_TRUE ? "disable" : "enable", ret);
}