[PATCH rhel6-branch] Add kickstart network --ipv6gateway option (#905227)
Radek Vykydal
rvykydal at redhat.com
Tue Jun 25 15:26:22 UTC 2013
Resolves: rhbz#905227
---
anaconda.spec.in | 2 +-
kickstart.py | 3 +++
loader/net.c | 17 +++++++++++++++++
network.py | 2 +-
4 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/anaconda.spec.in b/anaconda.spec.in
index b3a68c0..a3bd496 100644
--- a/anaconda.spec.in
+++ b/anaconda.spec.in
@@ -27,7 +27,7 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%define intltoolver 0.31.2-3
%define libnlver 1.0
%define libselinuxver 1.6
-%define pykickstartver 1.74.12
+%define pykickstartver 1.74.13
%define rpmpythonver 4.2-0.61
%define slangver 2.0.6-2
%define yumver 2.9.2
diff --git a/kickstart.py b/kickstart.py
index c227822..b3aa9c8 100644
--- a/kickstart.py
+++ b/kickstart.py
@@ -711,6 +711,9 @@ class NetworkData(commands.network.RHEL6_NetworkData):
if self.gateway != "":
anaconda.id.network.setGateway(self.gateway, dev.iface)
+ if self.ipv6gateway != "":
+ dev.set(('IPV6_DEFAULTGW', self.ipv6gateway))
+
if self.nodefroute:
dev.set (("DEFROUTE", "no"))
diff --git a/loader/net.c b/loader/net.c
index 7c6bf01..f188d56 100644
--- a/loader/net.c
+++ b/loader/net.c
@@ -1716,6 +1716,7 @@ void setKickstartNetwork(struct loaderData_s * loaderData, int argc,
struct in_addr addr;
#ifdef ENABLE_IPV6
struct in6_addr addr6;
+ gchar *ipv6gateway = NULL;
#endif
int rc;
GOptionEntry ksOptions[] = {
@@ -1727,6 +1728,8 @@ void setKickstartNetwork(struct loaderData_s * loaderData, int argc,
{ "ip", 'i', 0, G_OPTION_ARG_STRING, &loaderData->ipv4, NULL, NULL },
#ifdef ENABLE_IPV6
{ "ipv6", 0, 0, G_OPTION_ARG_STRING, &loaderData->ipv6, NULL, NULL },
+ { "ipv6gateway", 0, 0, G_OPTION_ARG_STRING, &ipv6gateway,
+ NULL, NULL },
#endif
{ "mtu", 0, 0, G_OPTION_ARG_INT, &mtu, NULL, NULL },
{ "nameserver", 'n', 0, G_OPTION_ARG_STRING, &loaderData->dns,
@@ -1849,6 +1852,20 @@ void setKickstartNetwork(struct loaderData_s * loaderData, int argc,
}
}
+#ifdef ENABLE_IPV6
+ if (ipv6gateway) {
+ if ((rc = inet_pton(AF_INET6, ipv6gateway, &addr6)) == 1) {
+ loaderData->gateway6 = strdup(ipv6gateway);
+ } else if (rc == 0) {
+ logMessage(WARNING,
+ "invalid address in kickstart --ipv6gateway");
+ } else {
+ logMessage(ERROR, "%s (%d): %s", __func__, __LINE__,
+ strerror(errno));
+ }
+ }
+#endif
+
if (!noksdev) {
if (device) {
/* If --device=MAC was given, translate into a device name now. */
diff --git a/network.py b/network.py
index 8bc2d21..523ef6b 100644
--- a/network.py
+++ b/network.py
@@ -542,7 +542,7 @@ class Network:
if dev.get('IPV6ADDR'):
line += " --ipv6 %s" % dev.get('IPV6ADDR')
if dev.get('IPV6_DEFAULTGW'):
- line += " --gateway %s" % dev.get('IPV6_DEFAULTGW')
+ line += " --ipv6gateway %s" % dev.get('IPV6_DEFAULTGW')
if dev.get('DHCPV6') == "yes":
line += " --ipv6 dhcp"
--
1.7.11.7
More information about the anaconda-patches
mailing list