Package: ifupdown
Version: 0.6.8
Tags: patch
Followup-For: Bug #413428
I extracted the attached patches from the full Ubuntu patch referenced
by Andreas Henriksson in an earlier report.
The attached patch just adds modprobing of net-pf-10 (alias ipv6) to
basically all "up" methods. This allows users to blacklist ipv6 by
adding
alias net-pf-10 none
to their modprobe/modutils configuration.
alias net-pf-10 ipv6
(the default TTBOMK) enables ipv6.
This should fix #413428 sufficiently well, especially when the above
note is taken into some place of the documentation.
regards,
Sven
PS: If I find the time, I will also add documentation of this tweak
somewhere.
Suggested Changelog entry:
Modprobe net-pf-10 before configuring interfaces (inspired by Ubuntu
patch from https://patches.ubuntu.com/i/ifupdown and comments by Andreas
Henriksson). Patch by Sven Mueller <[email protected]> (Closes #413428)
Suggested note for README or some other suitable doc:
ifup now runs modprobe on net-pf-10 before bringing up an interface.
This enables IPv6. If you don't want IPv6 support, add the following
line to your modprobe/modutils configuration, such as
/etc/modutils/aliases:
alias net-pf-10 none
-- System Information:
Debian Release: 4.0
APT prefers stable
APT policy: (990, 'stable'), (500, 'proposed-updates'), (400,
'experimental'), (90, 'testing'), (50, 'unstable')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-6-686
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Versions of packages ifupdown depends on:
ii debconf [debconf-2.0] 1.5.22~bpo40+1 Debian configuration management sy
ii libc6 2.3.6.ds1-13etch8 GNU C Library: Shared libraries
ii lsb-base 3.1-23.2etch1 Linux Standard Base 3.1 init scrip
ii net-tools 1.60-17 The NET-3 networking toolkit
ifupdown recommends no packages.
-- debconf information excluded
diff -ur ifupdown-0.6.8+nmu1.orig/inet.defn ifupdown-0.6.8+nmu1/inet.defn
--- ifupdown-0.6.8+nmu1.orig/inet.defn 2006-09-28 19:10:29.000000000 +0200
+++ ifupdown-0.6.8+nmu1/inet.defn 2009-02-02 17:15:04.000000000 +0100
@@ -6,6 +6,7 @@
This method may be used to define the IPv4 loopback interface.
up
+ modprobe -q net-pf-10
ifconfig %iface% 127.0.0.1 up
route add -net 127.0.0.0 if ( mylinuxver() < mylinux(2,1,100) )
@@ -34,6 +35,7 @@
mtu size -- MTU size
up
+ modprobe -q net-pf-10
[[ ifconfig %iface% hw %hwaddress%]]
ifconfig %iface% %address% netmask %netmask% [[broadcast %broadcast%]] \
[[pointopoint %pointopoint%]] [[media %media%]] [[mtu %mtu%]] \
@@ -52,6 +54,7 @@
means of *up* and *down* commands or /etc/network/if-*.d scripts.
up
+ modprobe -q net-pf-10
down
method dhcp
@@ -74,6 +77,7 @@
/address/ is dependent on this choice.
up
+ modprobe -q net-pf-10
[[ifconfig %iface% hw %hwaddress%]]
dhclient3 -pf /var/run/dhclient.%iface%.pid -lf
/var/lib/dhcp3/dhclient.%iface%.leases %iface% \
if (execable("/sbin/dhclient3"))
@@ -113,6 +117,7 @@
whatever it really is.
up
+ modprobe -q net-pf-10
bootpc [[--bootfile %bootfile%]] --dev %iface% [[--server %server%]] \
[[--hwaddr %hwaddr%]] --returniffail --serverbcast
@@ -125,6 +130,7 @@
options
provider name -- Use /name/ as the provider (from /etc/ppp/peers).
up
+ modprobe -q net-pf-10
pon [[%provider%]]
down
poff [[%provider%]]
@@ -135,6 +141,7 @@
options
provider name -- Use /name/ as the provider (from /etc/ppp/peers).
up
+ modprobe -q net-pf-10
/sbin/start-stop-daemon --start -x /usr/bin/wvdial \
-p /var/run/wvdial.%iface% -b -m -- [[ %provider% ]]
down
diff -ur ifupdown-0.6.8+nmu1.orig/inet6.defn ifupdown-0.6.8+nmu1/inet6.defn
--- ifupdown-0.6.8+nmu1.orig/inet6.defn 2006-09-28 19:10:29.000000000 +0200
+++ ifupdown-0.6.8+nmu1/inet6.defn 2009-02-02 17:15:18.000000000 +0100
@@ -5,6 +5,7 @@
description
This method may be used to define the IPv6 loopback interface.
up
+ modprobe -q net-pf-10
ifconfig %iface% add ::1
down
ifconfig %iface% del ::1
@@ -24,6 +25,7 @@
/address/ is dependent on this choice.
mtu size -- MTU size
up
+ modprobe -q net-pf-10
ifconfig %iface% [[media %media%]] [[hw %hwaddress%]] [[mtu %mtu%]] up
ifconfig %iface% add %address%/%netmask%
[[ route -A inet6 add ::/0 gw %gateway% %iface% ]]
@@ -38,6 +40,7 @@
means of *up* and *down* commands or /etc/network/if-*.d scripts.
up
+ modprobe -q net-pf-10
down
@@ -57,6 +60,7 @@
ttl time -- TTL setting
up
+ modprobe -q net-pf-10
ip tunnel add %iface% mode sit remote %endpoint% [[local %local%]] \
[[ttl %ttl%]]
ip link set %iface% up
diff -ur ifupdown-0.6.8+nmu1.orig/ipx.defn ifupdown-0.6.8+nmu1/ipx.defn
--- ifupdown-0.6.8+nmu1.orig/ipx.defn 2006-09-28 19:10:29.000000000 +0200
+++ ifupdown-0.6.8+nmu1/ipx.defn 2009-02-02 17:15:25.000000000 +0100
@@ -11,6 +11,7 @@
netnum id -- Network number
up
+ modprobe -q net-pf-10
ipx_interface add %iface% %frame% %netnum%
down
@@ -24,6 +25,7 @@
frame type -- /type/ of ethernet frames to use (e.g. *802.2*)
up
+ modprobe -q net-pf-10
ipx_interface add %iface% %frame%
down
diff -ur ifupdown-0.7~alpha3.orig/inet.defn ifupdown-0.7~alpha3/inet.defn
--- ifupdown-0.7~alpha3.orig/inet.defn 2007-12-21 15:29:50.000000000 +0100
+++ ifupdown-0.7~alpha3/inet.defn 2009-02-02 17:16:12.000000000 +0100
@@ -6,6 +6,7 @@
This method may be used to define the IPv4 loopback interface.
up
+ modprobe -q net-pf-10
ip link set dev %iface% up
down
@@ -30,6 +31,7 @@
hwaddress cleanup_hwaddress_for_iproute
up
+ modprobe -q net-pf-10
ip addr add %address%[[/%netmask%]] [[broadcast %broadcast%]] \
[[peer %pointtopoint%]] dev %iface%
ip link set dev %iface% [[mtu %mtu%]] [[address %hwaddress%]] up
@@ -47,6 +49,7 @@
means of *up* and *down* commands or /etc/network/if-*.d scripts.
up
+ modprobe -q net-pf-10
down
method dhcp
@@ -70,6 +73,7 @@
hwaddress cleanup_hwaddress_for_iproute
up
+ modprobe -q net-pf-10
[[ip link set dev %iface% address %hwaddress%]]
dhclient3 -pf /var/run/dhclient.%iface%.pid -lf
/var/lib/dhcp3/dhclient.%iface%.leases %iface% \
if (execable("/sbin/dhclient3"))
@@ -109,6 +113,7 @@
whatever it really is.
up
+ modprobe -q net-pf-10
bootpc [[--bootfile %bootfile%]] --dev %iface% [[--server %server%]] \
[[--hwaddr %hwaddr%]] --returniffail --serverbcast
@@ -121,6 +126,7 @@
options
provider name -- Use /name/ as the provider (from /etc/ppp/peers).
up
+ modprobe -q net-pf-10
pon [[%provider%]]
down
poff [[%provider%]]
@@ -131,6 +137,7 @@
options
provider name -- Use /name/ as the provider (from /etc/ppp/peers).
up
+ modprobe -q net-pf-10
/sbin/start-stop-daemon --start -x /usr/bin/wvdial \
-p /var/run/wvdial.%iface% -b -m -- [[ %provider% ]]
down
diff -ur ifupdown-0.7~alpha3.orig/inet6.defn ifupdown-0.7~alpha3/inet6.defn
--- ifupdown-0.7~alpha3.orig/inet6.defn 2007-12-21 15:29:51.000000000 +0100
+++ ifupdown-0.7~alpha3/inet6.defn 2009-02-02 17:16:18.000000000 +0100
@@ -5,6 +5,7 @@
description
This method may be used to define the IPv6 loopback interface.
up
+ modprobe -q net-pf-10
ip link set dev %iface% up
ip addr add dev %iface% ::1
down
@@ -28,6 +29,7 @@
hwaddress cleanup_hwaddress_for_iproute
up
+ modprobe -q net-pf-10
ip link set dev %iface% [[mtu %mtu%]] [[address %hwaddress%]] up
ip -6 addr add %address%[[/%netmask%]] dev %iface%
[[ ip -6 route add default via %gateway% dev %iface% ]]
@@ -43,6 +45,7 @@
means of *up* and *down* commands or /etc/network/if-*.d scripts.
up
+ modprobe -q net-pf-10
down
@@ -62,6 +65,7 @@
ttl time -- TTL setting
up
+ modprobe -q net-pf-10
ip tunnel add %iface% mode sit remote %endpoint% [[local %local%]] \
[[ttl %ttl%]]
ip link set %iface% up
diff -ur ifupdown-0.7~alpha3.orig/ipx.defn ifupdown-0.7~alpha3/ipx.defn
--- ifupdown-0.7~alpha3.orig/ipx.defn 2007-12-21 15:29:51.000000000 +0100
+++ ifupdown-0.7~alpha3/ipx.defn 2009-02-02 17:16:23.000000000 +0100
@@ -11,6 +11,7 @@
netnum id -- Network number
up
+ modprobe -q net-pf-10
ipx_interface add %iface% %frame% %netnum%
down
@@ -24,6 +25,7 @@
frame type -- /type/ of ethernet frames to use (e.g. *802.2*)
up
+ modprobe -q net-pf-10
ipx_interface add %iface% %frame%
down
Only in ifupdown-0.7~alpha3: main.d