summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan McDonald <danmcd@mnx.io>2022-07-18 10:19:36 -0400
committerDan McDonald <danmcd@mnx.io>2022-07-18 10:19:36 -0400
commit461e6085c1677cc8e58d84bd9378e54fed767cf1 (patch)
treed93e85b8fd96d4311c24b3c6fefc4d5e520d3908
parentf582f7535aa54ba25d4db1c069e659abe1d57c9a (diff)
downloadillumos-joyent-illumos-13230.tar.gz
13230 set-vsi commitillumos-13230
-rw-r--r--usr/src/uts/common/io/i40e/i40e_gld.c20
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);