ovs-save: Handle MTU changes correctly.
authorGurucharan Shetty <guru@ovn.org>
Mon, 11 Apr 2016 15:23:43 +0000 (08:23 -0700)
committerGurucharan Shetty <guru@ovn.org>
Mon, 11 Apr 2016 17:21:44 +0000 (10:21 -0700)
The following command on ubuntu 12.04, 14.04 and CentOS 7.x
returns null:
expr "mtu 1500" : '.*mtu \([0-9]+\)'

But the following works correctly:
expr "mtu 1500" : '.*mtu \([0-9]\+\)'

I am not sure about the portability implications as there
seems to be very sparse documentation about this but
this fixes a bug in 2 of the most popular distributions.

VMware-BZ: #1638654
Signed-off-by: Gurucharan Shetty <guru@ovn.org>
utilities/ovs-save

index 90320b1..d4d3c35 100755 (executable)
@@ -65,7 +65,7 @@ save_interfaces () {
         if expr "$state" : '.*\bdynamic\b' > /dev/null; then
             linkcmd="$linkcmd dynamic"
         fi
-        if qlen=`expr "$state" : '.*qlen \([0-9]+\)'`; then
+        if qlen=`expr "$state" : '.*qlen \([0-9]\+\)'`; then
             linkcmd="$linkcmd txqueuelen $qlen"
         fi
         if hwaddr=`expr "$state" : '.*link/ether \([^ ]*\)'`; then
@@ -74,7 +74,7 @@ save_interfaces () {
         if brd=`expr "$state" : '.*brd \([^ ]*\)'`; then
             linkcmd="$linkcmd broadcast $brd"
         fi
-        if mtu=`expr "$state" : '.*mtu \([0-9]+\)'`; then
+        if mtu=`expr "$state" : '.*mtu \([0-9]\+\)'`; then
             linkcmd="$linkcmd mtu $mtu"
         fi
         if test -n "$linkcmd"; then