[ovs-dev] [PATCH] ovs-save: Handle different 'ip addr show' output.

Gurucharan Shetty guru at ovn.org
Thu Oct 19 05:45:01 UTC 2017


On RHEL 7.4 (with iproute-3.10.0-87), a DHCP provided
ipv4 address has the "dynamic" keyword set. For e.g
"ip addr show breth0 | grep inet" shows:

    inet 10.116.248.91/20 brd 10.116.255.255 scope global dynamic breth0
    inet6 fe80::250:56ff:fea8:fdf0/64 scope link

The keyword "dynamic" (according to 'man ip-address') is only
used for ipv6, but in this case this is not true. Our current
code will skip the ipv4 address restoration because of this.

With this commit, we special case "dynamic" keyword to be valid
in case of ipv4.

VMware-BZ: #1982196
Signed-off-by: Gurucharan Shetty <guru at ovn.org>
---
 utilities/ovs-lib.in | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/utilities/ovs-lib.in b/utilities/ovs-lib.in
index 8665698..ac2da85 100644
--- a/utilities/ovs-lib.in
+++ b/utilities/ovs-lib.in
@@ -329,6 +329,14 @@ move_ip_address () {
         while test $# != 0; do
             case $1 in
                 dynamic)
+                    # XXX: According to 'man ip-address', "dynamic" is only
+                    # used for ipv6 addresses.  But, atleast on RHEL 7.4
+                    # (iproute-3.10.0-87), it is being used for ipv4
+                    # addresses assigned with dhcp.
+                    if [ "$family" = "inet" ]; then
+                        shift
+                        continue
+                    fi
                     # Omit kernel-maintained route.
                     continue 2
                     ;;
-- 
1.9.1



More information about the dev mailing list