Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 16 Apr 2001 23:01:15 -0700 (PDT)
From:      gordont@bluemtn.net
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   conf/26633: pccards don't get ipv6 network configured when ipv6_gateway_enable is set
Message-ID:  <200104170601.f3H61FX00712@hobbes.melthusia.org>

next in thread | raw e-mail | index | archive | help

>Number:         26633
>Category:       conf
>Synopsis:       pccards don't get ipv6 network configured when ipv6_gateway_enable is set
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Apr 16 23:10:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     Gordon Tetlow
>Release:        FreeBSD 4.3-RC i386
>Organization:
Blue Mountain
>Environment:
System: FreeBSD hobbes.melthusia.org 4.3-RC FreeBSD 4.3-RC #0: Sat Mar 24 03:31:30 PST 2001 root@hobbes.melthusia.org:/local/obj/usr/src/sys/HOBBES i386

>Description:

Using a machine that is a router with several interfaces, one of which is
a wireless card, the pccard interface is not setup as an ipv6 capable
interface. Basically, pccards are only allowed as endhosts.

>How-To-Repeat:

Turn on ipv6_gateway_enable in /etc/rc.conf and watch you wavelan card not
get setup

>Fix:

I hacked up rc.network6 and pccard_ether so that the interface(s) that will
be attempted to be brought up are passed to the function. This allows
network6_interface_setup() to be reused and called by /etc/pccard_ether
Anyway, here's the patch:

--- etc/pccard_ether	Mon Feb 12 21:00:57 2001
+++ /etc/pccard_ether	Mon Apr 16 22:44:06 2001
@@ -122,17 +122,10 @@
 	# IPv6 setup
 	case ${ipv6_enable} in
 	[Yy][Ee][Ss])
-		case ${ipv6_gateway_enable} in
-		[Yy][Ee][Ss])
-			;;
-		*)
-			sysctl -w net.inet6.ip6.forwarding=0
-			sysctl -w net.inet6.ip6.accept_rtadv=1
-			ifconfig ${interface} up
-			rtsol ${interface}
-			;;
-		esac
-		;;
+		if [ -r /etc/rc.network6 ]; then
+			. /etc/rc.network6
+			network6_interface_setup ${interface}
+		fi
 	esac
 	;;
 # Stop the interface
--- etc/rc.network6	Fri Mar 23 23:35:53 2001
+++ /etc/rc.network6	Mon Apr 16 22:44:14 2001
@@ -129,7 +129,7 @@
 	network6_gif_setup
 
 	# setting up interfaces
-	network6_interface_setup
+	network6_interface_setup $ipv6_network_interfaces
 
 	# wait for DAD's completion (for global addrs)
 	sleep `sysctl -n net.inet6.ip6.dad_count`
@@ -251,6 +251,7 @@
 }
 
 network6_interface_setup() {
+	interfaces=$*
 	rtsol_interfaces=''
 	case ${ipv6_gateway_enable} in
 	[Yy][Ee][Ss])
@@ -261,7 +262,7 @@
 		prefixcmd_enable=NO
 		;;
 	esac
-	for i in $ipv6_network_interfaces; do
+	for i in $interfaces; do
 		rtsol_interface=yes
 		eval prefix=\$ipv6_prefix_$i
 		if [ -n "${prefix}" ]; then
>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200104170601.f3H61FX00712>