summaryrefslogtreecommitdiff
path: root/rhel/usr_share_openvswitch_scripts_ovs-kmod-manage.sh
diff options
context:
space:
mode:
Diffstat (limited to 'rhel/usr_share_openvswitch_scripts_ovs-kmod-manage.sh')
-rw-r--r--rhel/usr_share_openvswitch_scripts_ovs-kmod-manage.sh10
1 files changed, 10 insertions, 0 deletions
diff --git a/rhel/usr_share_openvswitch_scripts_ovs-kmod-manage.sh b/rhel/usr_share_openvswitch_scripts_ovs-kmod-manage.sh
index 0d4f7d515..eae533736 100644
--- a/rhel/usr_share_openvswitch_scripts_ovs-kmod-manage.sh
+++ b/rhel/usr_share_openvswitch_scripts_ovs-kmod-manage.sh
@@ -155,6 +155,16 @@ kmod_versions=()
kversion=$(rpm -ql ${rpmname} | grep '\.ko$' | \
sed -n -e 's/^\/lib\/modules\/\(.*\)\/extra\/.*$/\1/p' | \
sort | uniq)
+
+IFS='.\|-' read installed_major installed_minor installed_patch \
+ installed_major_rev installed_minor_rev installed_extra <<<"${kversion}"
+
+if [ "$installed_major_rev" -lt "$major_rev" ]; then
+ echo "Not installing RPM with major revision $installed_major_rev" \
+ "to kernel with greater major revision $major_rev. Exiting"
+ exit 1
+fi
+
for kv in $kversion; do
IFS='.\|-' read -r -a kv_nums <<<"${kv}"
kmod_versions+=(${kv_nums[$ver_offset]})