diff options
author | Dan McDonald <danmcd@mnx.io> | 2022-07-18 10:19:36 -0400 |
---|---|---|
committer | Dan McDonald <danmcd@mnx.io> | 2022-07-18 10:19:36 -0400 |
commit | 461e6085c1677cc8e58d84bd9378e54fed767cf1 (patch) | |
tree | d93e85b8fd96d4311c24b3c6fefc4d5e520d3908 | |
parent | f582f7535aa54ba25d4db1c069e659abe1d57c9a (diff) | |
download | illumos-joyent-illumos-13230.tar.gz |
13230 set-vsi commitillumos-13230
-rw-r--r-- | usr/src/uts/common/io/i40e/i40e_gld.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/usr/src/uts/common/io/i40e/i40e_gld.c b/usr/src/uts/common/io/i40e/i40e_gld.c index e1be82581a..401bbc8e7c 100644 --- a/usr/src/uts/common/io/i40e/i40e_gld.c +++ b/usr/src/uts/common/io/i40e/i40e_gld.c @@ -228,6 +228,25 @@ i40e_m_promisc(void *arg, boolean_t on) } +#if 1 + /* + * XXX KEBE SAYS try this from Linux... + * + * Their comment says: + * + * set defport ON for Main VSI instead of true promisc + * this way we will get all unicast/multicast and VLAN + * promisc behavior but will not get VF or VMDq traffic + * replicated on the Main VSI. + */ + + ret = on ? i40e_aq_set_default_vsi(hw, I40E_DEF_VSI_SEID(i40e), NULL) : + i40e_aq_clear_default_vsi(hw, I40E_DEF_VSI_SEID(i40e), NULL); + if (ret == I40E_SUCCESS) + i40e->i40e_promisc_on = on; + else + err = EIO; +#else ret = i40e_aq_set_vsi_unicast_promiscuous(hw, I40E_DEF_VSI_SEID(i40e), on, NULL, B_FALSE); if (ret != I40E_SUCCESS) { @@ -271,6 +290,7 @@ i40e_m_promisc(void *arg, boolean_t on) } else { i40e->i40e_promisc_on = on; } +#endif done: mutex_exit(&i40e->i40e_general_lock); |