Index: /branches/rel_avx_2_7/lib/avxpci/avxpci/pf.py
===================================================================
--- /branches/rel_avx_2_7/lib/avxpci/avxpci/pf.py	(revision 8747)
+++ /branches/rel_avx_2_7/lib/avxpci/avxpci/pf.py	(working copy)
@@ -9,9 +9,9 @@
 env_file = '/var/array/public/config/avx_default.env'
 
 avx_pf_type = collections.OrderedDict([
-    ('ice', ('Intel', 1, 1)),
     ('ixgbe', ('Intel', 1, 1)),
     ('i40e', ('Intel', 1, 1)),
+    ('ice', ('Intel', 1, 1)),
     ('pkp_drv', ('CaviumN3', 2, 2)),
     ('nitrox_drv', ('CaviumN5', 2, 2)),
     ('swcsm36', ('SanSec', 2, 1)),
Index: /branches/rel_avx_2_7/lib/avxpci/avxpci/utils.py
===================================================================
--- /branches/rel_avx_2_7/lib/avxpci/avxpci/utils.py	(revision 8747)
+++ /branches/rel_avx_2_7/lib/avxpci/avxpci/utils.py	(working copy)
@@ -266,13 +266,13 @@
     return pfs
 
 def _get_pf(drv, drv_dir):
+    global onboard
     pfs = []
     pfGn1 = []
     pfGn2 = []
     pfn1 = []
     pfn2 = []
     mgmt = []
-    pf10G_onboard = []
     pf25Gn1 = []
     pf25Gn2 = []
     pf40Gn1 = []
@@ -322,13 +322,11 @@
             pf100Gn1.append(f)
         elif f.deviceid == '0x1583' or f.deviceid == '0x1584':
             pf40Gn1.append(f)
-        elif f.deviceid == '0x158b':
+        elif f.deviceid == '0x158b' or f.deviceid == '0x1593':
             pf25Gn1.append(f)
-        elif f.deviceid == '0x37d3':
-            pf10G_onboard.append(f)
         elif f.driver == 'igb':
             pfGn1.append(f)
-        elif f.driver == 'i40e' and f.deviceid == '0x37d1':
+        elif f.driver == 'i40e' and (f.deviceid == '0x37d1' or f.deviceid == '0x37d3'):
             onboard.append(f)
         else:
             tmp_pfs.append(f)
@@ -351,7 +349,7 @@
             pf100Gn2.append(f)
         elif f.deviceid == '0x1583' or f.deviceid == '0x1584':
             pf40Gn2.append(f)
-        elif f.deviceid == '0x158b':
+        elif f.deviceid == '0x158b' or f.deviceid == '0x1593':
             pf25Gn2.append(f)
         elif f.driver == 'igb':
             pfGn2.append(f)
@@ -385,7 +383,7 @@
         # policy[0] for 10G NIC and policy[1] for 1G NIC
         pfGn1 = _pf_sort(pfGn1, policy[1])
         # AEWIN CB-1924 has 4x10G Intel X722 onboard NIC
-        pf10G_onboard = _pf_sort(pf10G_onboard, policy[3])
+        onboard = _pf_sort(onboard, policy[3])
         # policy[2] for 40G NIC
         pf40Gn1 = _pf_sort(pf40Gn1, policy[2])
         # policy[4] for 25G NIC
@@ -399,7 +397,7 @@
         pfGn1 = _pf_sort(pfGn1, policy[2])
         pfGn2 = _pf_sort(pfGn2, policy[3])
         # AEWIN CB-1920 has 4x10G Intel X722 onboard NIC, policy[6] for 10G onboard.
-        pf10G_onboard = _pf_sort(pf10G_onboard, policy[6])
+        onboard = _pf_sort(onboard, policy[6])
         # policy[4] for 40G NIC in domian0 and policy[5] for 40G NIC in domain1
         pf40Gn1 = _pf_sort(pf40Gn1, policy[4])
         pf40Gn2 = _pf_sort(pf40Gn2, policy[5])
@@ -426,9 +424,9 @@
 
     if _get_model() == "5900" or _get_model() == "7900" or _get_model() == "9900":
         pfs = (
-                mgmt + pf10G_onboard + pf100Gn1 + pf100Gn2 +
-                pf40Gn1 + pf40Gn2 + pf25Gn1 + pf25Gn2 +
-                pfn1 + pfn2 + pfGn1 + pfGn2
+                mgmt + pf40Gn1 + pf40Gn2 +
+                pf25Gn1 + pf25Gn2 + pfn1 + pfn2 + 
+                pfGn1 + pfGn2 + pf100Gn1 + pf100Gn2
             )
 
     return pfs
Index: /branches/rel_avx_2_7/lib/avxpci/get_port.py
===================================================================
--- /branches/rel_avx_2_7/lib/avxpci/get_port.py	(revision 8747)
+++ /branches/rel_avx_2_7/lib/avxpci/get_port.py	(working copy)
@@ -31,9 +31,14 @@
         ssls = sorted(ssls, key=lambda v:(int(v['bus'], 16)<<12)+(int(v['device'], 16)<<4)+int(v['function'], 16))
 
         with open(AVX_PORT_CACHE_PATH, 'w') as f:
-            json.dump(ports + onboard + ssls, f, ensure_ascii=True, indent=2, separators=(',', ': '))
+            if _get_model() == "7900" or _get_model() == "9900":
+                json.dump(onboard + ports + ssls, f, ensure_ascii=True, indent=2, separators=(',', ': '))
+            else:
+                json.dump(ports + onboard + ssls, f, ensure_ascii=True, indent=2, separators=(',', ': '))
     if _get_model() == "6850" and ports:
         ports[2], ports[3], ports[4], ports[5], ports[6], ports[7], ports[8], ports[9], ports[10], ports[11], ports[12], ports[13], ports[14], ports[15] = ports[8], ports[9], ports[10], ports[11], ports[12], ports[13], ports[14], ports[15], ports[2], ports[3], ports[4], ports[5], ports[6], ports[7]
+    if _get_model() == "7900" or _get_model() == "9900":
+        return onboard + ports + ssls
     return ports + onboard + ssls
 
 
Index: /branches/rel_avx_2_7/src/library/avxvainst/va_resource.c
===================================================================
--- /branches/rel_avx_2_7/src/library/avxvainst/va_resource.c	(revision 8747)
+++ /branches/rel_avx_2_7/src/library/avxvainst/va_resource.c	(working copy)
@@ -157,6 +157,11 @@
         .numG = 25,       
     },
     {
+        .device = "0x8086-0x1593",
+        .info = "Intel  E810-C 25G SFP",
+        .numG = 25,       
+    },
+    {
         .device = "0x8086-0x1592",
         .info = "Intel E810-C 100G QSFP",
         .numG = 100,       
