Print this page
Update i40e for new devices, prototype changes
        
@@ -10,10 +10,11 @@
  */
 
 /*
  * Copyright 2015 OmniTI Computer Consulting, Inc. All rights reserved.
  * Copyright 2019 Joyent, Inc.
+ * Copyright 2021 Oxide Computer Company
  */
 
 #include "i40e_sw.h"
 
 /*
@@ -933,10 +934,16 @@
                 *val = (i40e->i40e_phy.link_speed & I40E_LINK_SPEED_100MB) != 0;
                 break;
         case ETHER_STAT_CAP_1000FDX:
                 *val = (i40e->i40e_phy.link_speed & I40E_LINK_SPEED_1GB) != 0;
                 break;
+        case ETHER_STAT_CAP_2500FDX:
+                *val = (i40e->i40e_phy.link_speed & I40E_LINK_SPEED_2_5GB) != 0;
+                break;
+        case ETHER_STAT_CAP_5000FDX:
+                *val = (i40e->i40e_phy.link_speed & I40E_LINK_SPEED_5GB) != 0;
+                break;
         case ETHER_STAT_CAP_10GFDX:
                 *val = (i40e->i40e_phy.link_speed & I40E_LINK_SPEED_10GB) != 0;
                 break;
         case ETHER_STAT_CAP_25GFDX:
                 *val = (i40e->i40e_phy.link_speed & I40E_LINK_SPEED_25GB) != 0;
@@ -955,10 +962,16 @@
                 *val = (i40e->i40e_phy.link_speed & I40E_LINK_SPEED_100MB) != 0;
                 break;
         case ETHER_STAT_ADV_CAP_1000FDX:
                 *val = (i40e->i40e_phy.link_speed & I40E_LINK_SPEED_1GB) != 0;
                 break;
+        case ETHER_STAT_ADV_CAP_2500FDX:
+                *val = (i40e->i40e_phy.link_speed & I40E_LINK_SPEED_2_5GB) != 0;
+                break;
+        case ETHER_STAT_ADV_CAP_5000FDX:
+                *val = (i40e->i40e_phy.link_speed & I40E_LINK_SPEED_5GB) != 0;
+                break;
         case ETHER_STAT_ADV_CAP_10GFDX:
                 *val = (i40e->i40e_phy.link_speed & I40E_LINK_SPEED_10GB) != 0;
                 break;
         case ETHER_STAT_ADV_CAP_25GFDX:
                 *val = (i40e->i40e_phy.link_speed & I40E_LINK_SPEED_25GB) != 0;
@@ -978,10 +991,16 @@
                 *val = i40e->i40e_link_speed == 100;
                 break;
         case ETHER_STAT_LP_CAP_1000FDX:
                 *val = i40e->i40e_link_speed == 1000;
                 break;
+        case ETHER_STAT_LP_CAP_2500FDX:
+                *val = i40e->i40e_link_speed == 2500;
+                break;
+        case ETHER_STAT_LP_CAP_5000FDX:
+                *val = i40e->i40e_link_speed == 5000;
+                break;
         case ETHER_STAT_LP_CAP_10GFDX:
                 *val = i40e->i40e_link_speed == 10000;
                 break;
         case ETHER_STAT_LP_CAP_25GFDX:
                 *val = i40e->i40e_link_speed == 25000;
@@ -1001,30 +1020,24 @@
         case ETHER_STAT_CAP_10FDX:
         case ETHER_STAT_CAP_10HDX:
         case ETHER_STAT_CAP_100T4:
         case ETHER_STAT_CAP_100GFDX:
         case ETHER_STAT_CAP_50GFDX:
-        case ETHER_STAT_CAP_2500FDX:
-        case ETHER_STAT_CAP_5000FDX:
         case ETHER_STAT_ADV_CAP_1000HDX:
         case ETHER_STAT_ADV_CAP_100HDX:
         case ETHER_STAT_ADV_CAP_10FDX:
         case ETHER_STAT_ADV_CAP_10HDX:
         case ETHER_STAT_ADV_CAP_100T4:
         case ETHER_STAT_ADV_CAP_100GFDX:
         case ETHER_STAT_ADV_CAP_50GFDX:
-        case ETHER_STAT_ADV_CAP_2500FDX:
-        case ETHER_STAT_ADV_CAP_5000FDX:
         case ETHER_STAT_LP_CAP_1000HDX:
         case ETHER_STAT_LP_CAP_100HDX:
         case ETHER_STAT_LP_CAP_10FDX:
         case ETHER_STAT_LP_CAP_10HDX:
         case ETHER_STAT_LP_CAP_100T4:
         case ETHER_STAT_LP_CAP_100GFDX:
         case ETHER_STAT_LP_CAP_50GFDX:
-        case ETHER_STAT_LP_CAP_2500FDX:
-        case ETHER_STAT_LP_CAP_5000FDX:
                 *val = 0;
                 break;
 
         case ETHER_STAT_LINK_DUPLEX:
                 *val = i40e->i40e_link_duplex;