054341caad
Update to dracut-044 and several cleanups. Works on tumbleweed standard installation and NFS root. OBS-URL: https://build.opensuse.org/request/show/346361 OBS-URL: https://build.opensuse.org/package/show/Base:System/dracut?expand=0&rev=244
45 lines
1.6 KiB
Diff
45 lines
1.6 KiB
Diff
From fc03504435d8bf5d0a31b8c566c2e783fbb96ec6 Mon Sep 17 00:00:00 2001
|
|
From: Hannes Reinecke <hare@suse.de>
|
|
Date: Wed, 30 Jul 2014 10:28:27 +0200
|
|
Subject: 40network: handle prefixed IP addresses correctly
|
|
|
|
If an IP address is given with prefix length ifup should be
|
|
parsing that correctly. And we should assume a prefix length
|
|
of /64 for IPv6 resp /24 for IPv4 if none were given.
|
|
|
|
References: bnc#880108
|
|
|
|
Signed-off-by: Hannes Reinecke <hare@suse.de>
|
|
---
|
|
modules.d/40network/ifup.sh | 8 ++++++++
|
|
1 file changed, 8 insertions(+)
|
|
|
|
Index: dracut-044/modules.d/40network/ifup.sh
|
|
===================================================================
|
|
--- dracut-044.orig/modules.d/40network/ifup.sh
|
|
+++ dracut-044/modules.d/40network/ifup.sh
|
|
@@ -241,7 +241,13 @@ do_static() {
|
|
[ -n "$macaddr" ] && ip link set address $macaddr dev $netif
|
|
[ -n "$mtu" ] && ip link set mtu $mtu dev $netif
|
|
[ -n "$mask" -a -z "$prefix" ] && prefix=$(mask_to_prefix $mask)
|
|
- if strglobin $ip '*:*:*'; then
|
|
+ if [ "${ip##*/}" != "${ip}" ] ; then
|
|
+ prefix="${ip##*/}"
|
|
+ ip="${ip%/*}"
|
|
+ fi
|
|
+if strglobin $ip '*:*:*'; then
|
|
+ # Always assume /64 prefix for IPv6
|
|
+ [ -z "$prefix" ] && prefix=64
|
|
# note no ip addr flush for ipv6
|
|
ip addr add $ip/$prefix ${srv:+peer $srv} dev $netif
|
|
wait_for_ipv6_dad $netif
|
|
@@ -250,6 +256,8 @@ do_static() {
|
|
warn "Duplicate address detected for $ip for interface $netif."
|
|
return 1
|
|
fi
|
|
+ # Assume /24 prefix for IPv4
|
|
+ [ -z "$prefix" ] && prefix=24
|
|
ip addr flush dev $netif
|
|
ip addr add $ip/$prefix ${srv:+peer $srv} brd + dev $netif
|
|
fi
|