Index: /branches/rel_avx_2_7_5/3rdpartyappliance/centos-kernel/SOURCES/kernel-3.10.0-x86_64.config
===================================================================
--- /branches/rel_avx_2_7_5/3rdpartyappliance/centos-kernel/SOURCES/kernel-3.10.0-x86_64.config	(revision 9137)
+++ /branches/rel_avx_2_7_5/3rdpartyappliance/centos-kernel/SOURCES/kernel-3.10.0-x86_64.config	(working copy)
@@ -2,6 +2,7 @@
 #
 # Automatically generated file; DO NOT EDIT.
 # Linux/x86_64 3.10.0 Kernel Configuration
+# ArrayNetworks AVX2 customised
 #
 CONFIG_64BIT=y
 CONFIG_X86_64=y
@@ -3690,7 +3691,7 @@
 CONFIG_DCACHE_WORD_ACCESS=y
 # CONFIG_EXT2_FS is not set
 # CONFIG_EXT3_FS is not set
-CONFIG_EXT4_FS=y
+CONFIG_EXT4_FS=m
 CONFIG_EXT4_USE_FOR_EXT23=y
 CONFIG_EXT4_FS_POSIX_ACL=y
 CONFIG_EXT4_FS_SECURITY=y
@@ -3700,7 +3701,7 @@
 CONFIG_FS_MBCACHE=y
 # CONFIG_REISERFS_FS is not set
 # CONFIG_JFS_FS is not set
-CONFIG_XFS_FS=y
+CONFIG_XFS_FS=m
 CONFIG_XFS_QUOTA=y
 CONFIG_XFS_POSIX_ACL=y
 # CONFIG_XFS_RT is not set
Index: /branches/rel_avx_2_7_5/3rdpartyappliance/centos-kernel/SPECS/kernel.spec
===================================================================
--- /branches/rel_avx_2_7_5/3rdpartyappliance/centos-kernel/SPECS/kernel.spec	(revision 9137)
+++ /branches/rel_avx_2_7_5/3rdpartyappliance/centos-kernel/SPECS/kernel.spec	(working copy)
@@ -13,7 +13,7 @@
 
 %define rpmversion 3.10.0
 %define pkgrelease 327.28.2.el7
-%define ctpkgrelease 327.28.2.9.el7
+%define ctpkgrelease 327.28.2.12.el7
 
 %define pkg_release %{ctpkgrelease}%{?buildid}
 
Index: /branches/rel_avx_2_7_5/conf/mgmtport_mac
===================================================================
--- /branches/rel_avx_2_7_5/conf/mgmtport_mac	(revision 9137)
+++ /branches/rel_avx_2_7_5/conf/mgmtport_mac	(working copy)
@@ -3,3 +3,4 @@
 0c:c4:7a
 ac:1f:6b
 00:0d:48
+08:35:71
\ No newline at end of file
Index: /branches/rel_avx_2_7_5/installable_utils/init_host.sh
===================================================================
--- /branches/rel_avx_2_7_5/installable_utils/init_host.sh	(revision 9137)
+++ /branches/rel_avx_2_7_5/installable_utils/init_host.sh	(working copy)
@@ -349,6 +349,7 @@
 mkdir -p /var/array/va/conf/
 mkdir -p /var/array/va/images/
 mkdir -p /var/array/va/docker
+mkdir -p /var/crash
 
 chmod 777 -R /var/array/
 
@@ -401,4 +402,42 @@
 
 install -m 0644 /caupgrade/ca/conf/system/avxdpdk.info.3600 /var/array/public/openvswitch/avxdpdk.info
 
+
+# Configure mgmt_port as a slave of br0 and enable it at boot
+BRIDGE=br0
+CFG_FILE=/etc/sysconfig/network-scripts/ifcfg-$MGMT_PORT
+
+echo "=== Configuring $MGMT_PORT as a slave of bridge $BRIDGE ==="
+cat << EOF > $CFG_FILE 
+TYPE=Ethernet
+DEVICE=$MGMT_PORT
+BOOTPROTO=none
+ONBOOT=yes
+BRIDGE=$BRIDGE
+EOF
+
+echo "[OK] $CFG_FILE has been created"
+echo "[INFO] Restarting network service"
+systemctl restart network
+
+
+# Fix sshd service
+SSHD_DIR=/var/empty/sshd
+echo "=== Checking SSH privilege separation directory ststus ==="
+if [ -d "$SSHD_DIR" ]; then
+    echo "[OK] $SSHD_DIR already exists"
+else
+    echo "[INFO] Directory does not exist, creating..."
+    mkdir -p $SSHD_DIR
+fi
+
+echo "[INFO] Setting directory permissions and ownership"
+chmod 700 $SSHD_DIR
+chown root:root $SSHD_DIR
+
+echo "[INFO] Restarting sshd service"
+systemctl restart sshd
+
+
+
 echo "Completed Successfully! Please reboot this appliance to switch to the AVX system."
Index: /branches/rel_avx_2_7_5/lib/avxpci/avxpci/utils.py
===================================================================
--- /branches/rel_avx_2_7_5/lib/avxpci/avxpci/utils.py	(revision 9137)
+++ /branches/rel_avx_2_7_5/lib/avxpci/avxpci/utils.py	(working copy)
@@ -76,6 +76,8 @@
     '952800': '2800',
     '956850': '6850',
     '957850': '7850',
+    '957902': '7900',   # Caswell 7900
+    '959902': '9900',   # Caswell 9900
 }
 
 def _get_onboard():
Index: /branches/rel_avx_2_7_5/scripts/avxapps_upgrade.sh
===================================================================
--- /branches/rel_avx_2_7_5/scripts/avxapps_upgrade.sh	(revision 9137)
+++ /branches/rel_avx_2_7_5/scripts/avxapps_upgrade.sh	(working copy)
@@ -98,12 +98,12 @@
             install -m 0644 /caupgrade/ca/conf/system/avxdpdk.info.5900 /var/array/public/openvswitch/avxdpdk.info
         fi
     fi
-    if [ "x${model}" == "x957900" ] or [ "x${model}" == "x957901" ]; then
+    if [ "x${model}" == "x957900" ] or [ "x${model}" == "x957901" ] or [ "x${model}" == "x957902" ]; then
         if [ ! -f /var/array/public/openvswitch/avxdpdk.info ]; then
             install -m 0644 /caupgrade/ca/conf/system/avxdpdk.info.7900 /var/array/public/openvswitch/avxdpdk.info
         fi
     fi
-    if [ "x${model}" == "x959900" ] or [ "x${model}" == "x959901" ]; then
+    if [ "x${model}" == "x959900" ] or [ "x${model}" == "x959901" ] or [ "x${model}" == "x959902" ]; then
         if [ ! -f /var/array/public/openvswitch/avxdpdk.info ]; then
             install -m 0644 /caupgrade/ca/conf/system/avxdpdk.info.9900 /var/array/public/openvswitch/avxdpdk.info
         fi
Index: /branches/rel_avx_2_7_5/scripts/batch_create_vas.py
===================================================================
--- /branches/rel_avx_2_7_5/scripts/batch_create_vas.py	(revision 9137)
+++ /branches/rel_avx_2_7_5/scripts/batch_create_vas.py	(working copy)
@@ -34,6 +34,8 @@
 ARRAY_MODEL_AVX9900 = "959900"
 ARRAY_MODEL_AVX9901 = "959901"
 ARRAY_MODEL_AVX2800 = "952800"
+ARRAY_MODEL_AVX7900_Caswell = "957902"
+ARRAY_MODEL_AVX9900_Caswell = "959902"
 
 AFM_MODEL_10650_AVX = 71
 AFM_MODEL_9650B_AVX = 72
@@ -135,9 +137,9 @@
             model_type = AFM_MODEL_7601_AVX
         elif array_id == ARRAY_MODEL_AVX5900:
             model_type = AFM_MODEL_5900_AVX
-        elif array_id == ARRAY_MODEL_AVX7900 or array_id == ARRAY_MODEL_AVX7901:
+        elif array_id == ARRAY_MODEL_AVX7900 or array_id == ARRAY_MODEL_AVX7901 or array_id == ARRAY_MODEL_AVX7900_Caswell:
             model_type = AFM_MODEL_7900_AVX
-        elif array_id == ARRAY_MODEL_AVX9900 or array_id == ARRAY_MODEL_AVX9901:
+        elif array_id == ARRAY_MODEL_AVX9900 or array_id == ARRAY_MODEL_AVX9901 or array_id == ARRAY_MODEL_AVX9900_Caswell:
             model_type = AFM_MODEL_9900_AVX
         elif array_id == ARRAY_MODEL_AVX2800:
             model_type = AFM_MODEL_2800_AVX            
Index: /branches/rel_avx_2_7_5/scripts/buildenv.ks
===================================================================
--- /branches/rel_avx_2_7_5/scripts/buildenv.ks	(revision 9137)
+++ /branches/rel_avx_2_7_5/scripts/buildenv.ks	(working copy)
@@ -11,21 +11,22 @@
 openssh-clients-6.6.1p1-25.4.el7.centos.x86_64
 openssh-6.6.1p1-25.4.el7.centos.x86_64
 bash
-kernel*
+# kernel*
 syslinux
-# kernel-3.10.0-327.28.2.9.el7.x86_64
-# kernel-debug-3.10.0-327.28.2.9.el7.x86_64
-# kernel-debug-debuginfo-3.10.0-327.28.2.9.el7.x86_64
-# kernel-debug-devel-3.10.0-327.28.2.9.el7.x86_64
-# kernel-debuginfo-3.10.0-327.28.2.9.el7.x86_64
-# kernel-debuginfo-common-x86_64-3.10.0-327.28.2.9.el7.x86_64
-# kernel-headers-3.10.0-327.28.2.9.el7.x86_64
-# kernel-tools-3.10.0-327.28.2.9.el7.x86_64
-# kernel-tools-debuginfo-3.10.0-327.28.2.9.el7.x86_64
-# kernel-tools-libs-3.10.0-327.28.2.9.el7.x86_64
-# kernel-tools-libs-devel-3.10.0-327.28.2.9.el7.x86_64
+kernel-3.10.0-327.28.2.12.el7.x86_64
+kernel-debug-3.10.0-327.28.2.12.el7.x86_64
+kernel-debug-debuginfo-3.10.0-327.28.2.12.el7.x86_64
+kernel-debug-devel-3.10.0-327.28.2.12.el7.x86_64
+kernel-debuginfo-3.10.0-327.28.2.12.el7.x86_64
+kernel-debuginfo-common-x86_64-3.10.0-327.28.2.12.el7.x86_64
+kernel-headers-3.10.0-327.28.2.12.el7.x86_64
+kernel-tools-3.10.0-327.28.2.12.el7.x86_64
+kernel-tools-debuginfo-3.10.0-327.28.2.12.el7.x86_64
+kernel-tools-libs-3.10.0-327.28.2.12.el7.x86_64
+kernel-tools-libs-devel-3.10.0-327.28.2.12.el7.x86_64
 # kernel-abi-whitelists-3.10.0-327.el7.noarch
 # kernel-doc-3.10.0-327.el7.noarch
+kernel-devel-3.10.0-327.28.2.12.el7.x86_64
 passwd
 policycoreutils
 chkconfig
Index: /branches/rel_avx_2_7_5/scripts/ovs_dpdk_operation.py
===================================================================
--- /branches/rel_avx_2_7_5/scripts/ovs_dpdk_operation.py	(revision 9137)
+++ /branches/rel_avx_2_7_5/scripts/ovs_dpdk_operation.py	(working copy)
@@ -129,7 +129,7 @@
             return "2048,0"
         if "955900" in model:
             return "2048,0"
-        if "957900" in model or "957901" in model:
+        if "957900" in model or "957901" in model or "957902" in model:
             return "2048,0"        
         else:
             return "1024,1024"
@@ -244,9 +244,9 @@
             shutil.copy(OVS_DEFAULT_2800, OVS_DEFAULT_CONF)            
         elif "955900" in model:
             shutil.copy(OVS_DEFAULT_5900, OVS_DEFAULT_CONF)
-        elif "957900" in model or "957901" in model:
+        elif "957900" in model or "957901" in model or "957902" in model:
             shutil.copy(OVS_DEFAULT_7900, OVS_DEFAULT_CONF)
-        elif "959900" in model or "959901" in model:
+        elif "959900" in model or "959901" in model or "959902" in model:
             shutil.copy(OVS_DEFAULT_9900, OVS_DEFAULT_CONF)
         return True
 
Index: /branches/rel_avx_2_7_5/src/bin/encode_lickey/avx_license.html
===================================================================
--- /branches/rel_avx_2_7_5/src/bin/encode_lickey/avx_license.html	(revision 9137)
+++ /branches/rel_avx_2_7_5/src/bin/encode_lickey/avx_license.html	(working copy)
@@ -90,6 +90,10 @@
 				<OPTION>
 				Array AVX 9800 I
 				<OPTION>
+				Array AVX 7900 Caswell
+				<OPTION>
+				Array AVX 9900 Caswell
+				<OPTION>
 				Array AVX Software
 			</SELECT>
             <div  style="display:none;">
Index: /branches/rel_avx_2_7_5/src/library/avxresource/property_model.h
===================================================================
--- /branches/rel_avx_2_7_5/src/library/avxresource/property_model.h	(revision 9137)
+++ /branches/rel_avx_2_7_5/src/library/avxresource/property_model.h	(working copy)
@@ -21,6 +21,8 @@
 #define ARRAY_PRODINFO_AVX7850  "Array AVX 7850"
 #define ARRAY_PRODINFO_AVX7800I  "Array AVX 7800 I"
 #define ARRAY_PRODINFO_AVX9800I  "Array AVX 9800 I"
+#define ARRAY_PRODINFO_AVX7900_Caswell  "Array AVX 7900 Caswell"
+#define ARRAY_PRODINFO_AVX9900_Caswell  "Array AVX 9900 Caswell"
 #define ARRAY_PRODINFO_AVXUNKNOWN "Unknown AVX"
 
 #define ARRAY_PRODUCT_AVX10650    960650
@@ -42,6 +44,8 @@
 #define ARRAY_PRODUCT_AVX7850   957850
 #define ARRAY_PRODUCT_AVX7901   957901
 #define ARRAY_PRODUCT_AVX9901     959901 
+#define ARRAY_PRODUCT_AVX7900_Caswell   957902
+#define ARRAY_PRODUCT_AVX9900_Caswell   959902 
 #define ARRAY_PRODUCT_AVX_UNKNOWN 0
 
 #define CCYPHER_PRODINFO_AVX7600 "CCypher 10000B"
@@ -78,6 +82,8 @@
 #define AFM_MODEL_7850_AVX 113
 #define AFM_MODEL_7901_AVX   114
 #define AFM_MODEL_9901_AVX     115
+#define AFM_MODEL_7900_AVX_Caswell   116
+#define AFM_MODEL_9900_AVX_Caswell   117
 
 #define AFM_MODEL_UNKNOWN_AVX   0
 
@@ -127,6 +133,8 @@
 	AFM_MODEL_7850_IDX,
 	AFM_MODEL_7901_IDX,
 	AFM_MODEL_9901_IDX,
+	AFM_MODEL_7900_Caswell_IDX,
+	AFM_MODEL_9900_Caswell_IDX,
 	AFM_MODEL_UNKNOWN_IDX,
 	AFM_MODEL_MAX_IDX   	
 }model_idx_t;
@@ -152,6 +160,8 @@
 #define AVX_2800_CAPACITY 32
 #define AVX_6850_CAPACITY 24
 #define AVX_7850_CAPACITY 48
+#define AVX_7900_Caswell_CAPACITY 32
+#define AVX_9900_Caswell_CAPACITY 64
 
 typedef struct avx_model_info{
 	char *name;
Index: /branches/rel_avx_2_7_5/src/library/avxresource/property_model.c
===================================================================
--- /branches/rel_avx_2_7_5/src/library/avxresource/property_model.c	(revision 9137)
+++ /branches/rel_avx_2_7_5/src/library/avxresource/property_model.c	(working copy)
@@ -262,6 +262,32 @@
 		MAX_VPORT_CNT_9900, 
 		32
 	},
+	{ // 19 7900 Caswell
+		ARRAY_PRODINFO_AVX7900_Caswell, 
+		AFM_MODEL_7900_AVX_Caswell, 
+		0x00004002, 
+		0x00000007, 
+		1024*1, 
+		1024*128, 
+		NULL, 
+		ARRAY_PRODUCT_AVX7900_Caswell, 
+		AVX_7900_CAPACITY, 
+		MAX_VPORT_CNT_7900, 
+		16
+	},
+	{ // 20 9900 Caswell
+		ARRAY_PRODINFO_AVX9900_Caswell,
+		AFM_MODEL_9900_AVX_Caswell, 
+		0x00004002, 
+		0x00000007, 
+		1024*1, 
+		1024*256, 
+		NULL, 
+		ARRAY_PRODUCT_AVX9900_Caswell, 
+		AVX_9900_CAPACITY, 
+		MAX_VPORT_CNT_9900, 
+		32
+	},
 	{ 
 		unknown_model_name, 
 		AFM_MODEL_UNKNOWN_AVX, 
Index: /branches/rel_avx_2_7_5/src/library/avxvainst/va_utils.c
===================================================================
--- /branches/rel_avx_2_7_5/src/library/avxvainst/va_utils.c	(revision 9137)
+++ /branches/rel_avx_2_7_5/src/library/avxvainst/va_utils.c	(working copy)
@@ -614,9 +614,9 @@
         model_str = PROPERTY_AVX_MODEL_NAME;
     } else if (model == AFM_MODEL_5900_AVX) {
         model_str = "5900";
-    } else if (model == AFM_MODEL_7900_AVX || AFM_MODEL_7901_AVX) {
+    } else if (model == AFM_MODEL_7900_AVX || AFM_MODEL_7901_AVX || AFM_MODEL_7900_AVX_Caswell) {
         model_str = "7900";
-    } else if (model == AFM_MODEL_9900_AVX || AFM_MODEL_9901_AVX) {
+    } else if (model == AFM_MODEL_9900_AVX || AFM_MODEL_9901_AVX || AFM_MODEL_9900_AVX_Caswell) {
         model_str = "9900";
     } else if (model == AFM_MODEL_2800_AVX) {
         model_str = "2800";
Index: /branches/rel_avx_2_7_5/update/avxsystem.ks
===================================================================
--- /branches/rel_avx_2_7_5/update/avxsystem.ks	(revision 9137)
+++ /branches/rel_avx_2_7_5/update/avxsystem.ks	(working copy)
@@ -12,8 +12,8 @@
 repo --name=openstack --baseurl=http://192.168.100.11/openstack/newton/
 
 %packages
-kernel-3.10.0-327.28.2.11.el7.x86_64
-kernel-devel-3.10.0-327.28.2.11.el7.x86_64
+kernel-3.10.0-327.28.2.12.el7.x86_64
+kernel-devel-3.10.0-327.28.2.12.el7.x86_64
 augeas-libs-1.4.0-2.el7.x86_64
 filesystem-3.2-20.el7.x86_64
 checkpolicy-2.1.12-6.el7.x86_64
@@ -506,9 +506,9 @@
 gamin-0.1.10-16.el7.x86_64
 lighttpd-1.4.54-1.el7.x86_64
 lighttpd-fastcgi.x86_64
-ice-1.11.17.1-1.x86_64
-intel_auxiliary-1.0.1-1.x86_64
-qat-4.15.0-0.x86_64
+ice-1.11.17.1-2.x86_64
+intel_auxiliary-1.0.1-2.x86_64
+qat-4.15.0-1.x86_64
 bc-1.06.95-13.el7.x86_64
 pam_radius-1.4.0-4.el7.x86_64
 libnss-ato-0.2-1.x86_64
