ice: Don't clog kernel debug log with VF MDD events errors
authorAkeem G Abodunrin <akeem.g.abodunrin@intel.com>
Thu, 25 Jul 2019 09:53:58 +0000 (02:53 -0700)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Tue, 27 Aug 2019 06:21:28 +0000 (23:21 -0700)
In case of MDD events on VF, don't clog kernel log with unlimited VF MDD
events message "VF 0 has had 1018 MDD events since last boot" - limit
events log message to 30, based on the observation in some experimentation
with sending malicious packet once, and number of events reported before
device stopped observing MDD events.

Also removed defunct macro "ICE_DFLT_NUM_MDD_EVENTS_ALLOWED" for tracking
number of MDD events allowed before disabling the interface...

Signed-off-by: Akeem G Abodunrin <akeem.g.abodunrin@intel.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ice/ice_main.c
drivers/net/ethernet/intel/ice/ice_virtchnl_pf.h

index 2c6b2bc4e30eff58dffc8b3d0f5b57125f8e1fc8..67cbebe1ff3f25df795f4204323ebf10e8cad5b8 100644 (file)
@@ -1315,8 +1315,10 @@ static void ice_handle_mdd_event(struct ice_pf *pf)
 
                if (vf_mdd_detected) {
                        vf->num_mdd_events++;
-                       if (vf->num_mdd_events > 1)
-                               dev_info(&pf->pdev->dev, "VF %d has had %llu MDD events since last boot\n",
+                       if (vf->num_mdd_events &&
+                           vf->num_mdd_events <= ICE_MDD_EVENTS_THRESHOLD)
+                               dev_info(&pf->pdev->dev,
+                                        "VF %d has had %llu MDD events since last boot, Admin might need to reload AVF driver with this number of events\n",
                                         i, vf->num_mdd_events);
                }
        }
index 4d94853f119a307e105c2a0eae68547e9964360b..13f45f37d75e51070496ebd3b8a23ef55f3abe1a 100644 (file)
@@ -15,8 +15,8 @@
 #define ICE_MAX_MACADDR_PER_VF         12
 
 /* Malicious Driver Detection */
-#define ICE_DFLT_NUM_MDD_EVENTS_ALLOWED                3
 #define ICE_DFLT_NUM_INVAL_MSGS_ALLOWED                10
+#define ICE_MDD_EVENTS_THRESHOLD               30
 
 /* Static VF transaction/status register def */
 #define VF_DEVICE_STATUS               0xAA