Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 7 Jan 2009 15:31:47 +0000 (UTC)
From:      "Bjoern A. Zeeb" <bz@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org
Subject:   svn commit: r186863 - in stable/7: etc etc/defaults etc/rc.d share/man/man5
Message-ID:  <200901071531.n07FVlNx090816@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bz
Date: Wed Jan  7 15:31:46 2009
New Revision: 186863
URL: http://svn.freebsd.org/changeset/base/186863

Log:
  MFC: r183100
    Allow a jail to be started with a specific route fib.

Modified:
  stable/7/etc/   (props changed)
  stable/7/etc/defaults/rc.conf
  stable/7/etc/rc.d/jail
  stable/7/share/man/man5/   (props changed)
  stable/7/share/man/man5/rc.conf.5

Modified: stable/7/etc/defaults/rc.conf
==============================================================================
--- stable/7/etc/defaults/rc.conf	Wed Jan  7 15:28:47 2009	(r186862)
+++ stable/7/etc/defaults/rc.conf	Wed Jan  7 15:31:46 2009	(r186863)
@@ -622,6 +622,7 @@ jail_sysvipc_allow="NO"	# Allow SystemV 
 #jail_example_hostname="default.domain.com"	# Jail's hostname
 #jail_example_ip="192.168.0.10"			# Jail's IP number
 #jail_example_interface=""			# Interface to create the IP alias on
+#jail_example_fib="0"				# routing table for setfib(1) 
 #jail_example_exec_start="/bin/sh /etc/rc"		# command to execute in jail for starting
 #jail_example_exec_afterstart0="/bin/sh command"	# command to execute after the one for 
 							# starting the jail. More than one can be

Modified: stable/7/etc/rc.d/jail
==============================================================================
--- stable/7/etc/rc.d/jail	Wed Jan  7 15:28:47 2009	(r186862)
+++ stable/7/etc/rc.d/jail	Wed Jan  7 15:31:46 2009	(r186863)
@@ -83,6 +83,7 @@ init_variables()
 	[ -z "${_flags}" ] && _flags="-l -U root"
 	eval _consolelog=\"\${jail_${_j}_consolelog:-${jail_consolelog}}\"
 	[ -z "${_consolelog}" ] && _consolelog="/var/log/jail_${_j}_console.log"
+	eval _fib=\"\${jail_${_j}_fib:-${jail_fib}}\"
 
 	# Debugging aid
 	#
@@ -93,6 +94,7 @@ init_variables()
 	debug "$_j hostname: $_hostname"
 	debug "$_j ip: $_ip"
 	debug "$_j interface: $_interface"
+	debug "$_j fib: $_fib"
 	debug "$_j root: $_rootdir"
 	debug "$_j devdir: $_devdir"
 	debug "$_j fdescdir: $_fdescdir"
@@ -297,6 +299,11 @@ jail_start()
 		if [ -n "${_interface}" ]; then
 			ifconfig ${_interface} alias ${_ip} netmask 255.255.255.255
 		fi
+		if [ -n "${_fib}" ]; then
+			_setfib="setfib -F '${_fib}'"
+		else
+			_setfib=""
+		fi
 		if checkyesno _mount; then
 			info "Mounting fstab for jail ${_jail} (${_fstab})"
 			if [ ! -f "${_fstab}" ]; then
@@ -350,7 +357,7 @@ jail_start()
 			fi
 		fi
 		_tmp_jail=${_tmp_dir}/jail.$$
-		eval jail ${_flags} -i ${_rootdir} ${_hostname} \
+		eval ${_setfib} jail ${_flags} -i ${_rootdir} ${_hostname} \
 			${_ip} ${_exec_start} > ${_tmp_jail} 2>&1
 
 		if [ "$?" -eq 0 ] ; then

Modified: stable/7/share/man/man5/rc.conf.5
==============================================================================
--- stable/7/share/man/man5/rc.conf.5	Wed Jan  7 15:28:47 2009	(r186862)
+++ stable/7/share/man/man5/rc.conf.5	Wed Jan  7 15:31:46 2009	(r186863)
@@ -24,7 +24,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd May 6, 2008
+.Dd September 16, 2008
 .Dt RC.CONF 5
 .Os
 .Sh NAME
@@ -3412,6 +3412,11 @@ These are flags to pass to
 Unset by default.
 When set, sets the interface to use when setting IP address alias.
 Note that the alias is created at jail startup and removed at jail shutdown.
+.It Va jail_ Ns Ao Ar jname Ac Ns Va _fib
+.Pq Vt str
+Unset by default.
+When set, the jail is started with the specified routing table via
+.Xr setfib 1 .
 .It Va jail_ Ns Ao Ar jname Ac Ns Va _fstab
 .Pq Vt str
 Set to



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