From c726b2209e7ca82e3d8b5c5eeca6545d6e76786e Mon Sep 17 00:00:00 2001
From: Srikanth Thanneeru1 <sreekkanth@in.ibm.com>
Date: Tue, 19 Sep 2023 11:37:01 +0530
Subject: [PATCH] running autoconfig6 before add route

---
 cloud-init-22.1/cloudinit/distros/aix.py      | 9 ++++++++-
 cloud-init-22.1/cloudinit/distros/aix_util.py | 7 -------
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/cloud-init-22.1/cloudinit/distros/aix.py b/cloud-init-22.1/cloudinit/distros/aix.py
index fd5dd7f..9d6f12d 100644
--- a/cloud-init-22.1/cloudinit/distros/aix.py
+++ b/cloud-init-22.1/cloudinit/distros/aix.py
@@ -13,7 +13,7 @@
 #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
 import time
-
+import subprocess
 from cloudinit import distros
 from cloudinit import helpers
 from cloudinit import log as logging
@@ -134,6 +134,13 @@ class Distro(distros.Distro):
                             chdev_cmd.append('-anetaddr=' + ipv4_address)
                         if ipv4_netmask is not None:
                             chdev_cmd.append('-anetmask=' + ipv4_netmask)
+                            
+                    if run_autoconf6:
+                         command = "/usr/sbin/autoconf6 -i en0"
+                         output = subprocess.check_output(command, shell=True, stderr=subprocess.STDOUT, universal_newlines=True)
+                         time.sleep(2)
+                         command = "stopsrc -s ndpd-host ; sleep 3 ; startsrc -s ndpd-host ;"
+                         output = subprocess.check_output(command, shell=True, stderr=subprocess.STDOUT, universal_newlines=True)
 
                     if run_cmd:
                         try:
diff --git a/cloud-init-22.1/cloudinit/distros/aix_util.py b/cloud-init-22.1/cloudinit/distros/aix_util.py
index 7625475..a7bb61a 100644
--- a/cloud-init-22.1/cloudinit/distros/aix_util.py
+++ b/cloud-init-22.1/cloudinit/distros/aix_util.py
@@ -48,13 +48,6 @@ def logical_adpt_name(devname):
 def add_route(network, route):
     # First, delete the route if it exists on the system
     del_route(network, route)
-    if network == 'ipv6':
-       command = "/usr/sbin/autoconf6 -i en0"
-       output = subprocess.check_output(command, shell=True, stderr=subprocess.STDOUT, universal_newlines=True)
-       time.sleep(2)
-       command = "stopsrc -s ndpd-host ; sleep 3 ; startsrc -s ndpd-host ;"
-       output = subprocess.check_output(command, shell=True, stderr=subprocess.STDOUT, universal_newlines=True)
-
 
     # Add the route if there isn't already a default route
     cmd = ['/usr/sbin/chdev', '-l', 'inet0']
-- 
2.41.0

