|
|
@@ -901,6 +901,8 @@ static void bnx2x_vf_flr(struct bnx2x *bp, struct bnx2x_virtf *vf)
|
|
|
/* release VF resources */
|
|
|
bnx2x_vf_free_resc(bp, vf);
|
|
|
|
|
|
+ vf->malicious = false;
|
|
|
+
|
|
|
/* re-open the mailbox */
|
|
|
bnx2x_vf_enable_mbx(bp, vf->abs_vfid);
|
|
|
return;
|
|
|
@@ -1822,9 +1824,11 @@ get_vf:
|
|
|
vf->abs_vfid, qidx);
|
|
|
bnx2x_vf_handle_rss_update_eqe(bp, vf);
|
|
|
case EVENT_RING_OPCODE_VF_FLR:
|
|
|
- case EVENT_RING_OPCODE_MALICIOUS_VF:
|
|
|
/* Do nothing for now */
|
|
|
return 0;
|
|
|
+ case EVENT_RING_OPCODE_MALICIOUS_VF:
|
|
|
+ vf->malicious = true;
|
|
|
+ return 0;
|
|
|
}
|
|
|
|
|
|
return 0;
|
|
|
@@ -1905,6 +1909,13 @@ void bnx2x_iov_adjust_stats_req(struct bnx2x *bp)
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
+ if (vf->malicious) {
|
|
|
+ DP_AND((BNX2X_MSG_IOV | BNX2X_MSG_STATS),
|
|
|
+ "vf %d malicious so no stats for it\n",
|
|
|
+ vf->abs_vfid);
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
DP_AND((BNX2X_MSG_IOV | BNX2X_MSG_STATS),
|
|
|
"add addresses for vf %d\n", vf->abs_vfid);
|
|
|
for_each_vfq(vf, j) {
|