Print this page
NEX-15896 net-routing-setup should not enable in.routed
Contributed by: Alexander Pyhalov <alp@rsu.ru>
Reviewed by: Alexander Eremin <alexander.eremin@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Reviewed by: Cynthia Eastham <cynthia.eastham@nexenta.com>
*** 1,9 ****
#!/sbin/sh
#
- # CDDL HEADER START
- #
# The contents of this file are subject to the terms of the
# Common Development and Distribution License (the "License").
# You may not use this file except in compliance with the License.
#
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
--- 1,7 ----
*** 15,28 ****
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
! # CDDL HEADER END
#
- #
# Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
# This script configures IP routing.
. /lib/svc/share/smf_include.sh
--- 13,27 ----
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
# If applicable, add the following below this CDDL HEADER, with the
# fields enclosed by brackets "[]" replaced with your own identifying
# information: Portions Copyright [yyyy] [name of copyright owner]
#
!
#
# Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
+ # Copyright 2018 Nexenta Systems, Inc.
+ #
# This script configures IP routing.
. /lib/svc/share/smf_include.sh
*** 46,66 ****
# point in boot, we cannot.
#
/sbin/routeadm -u
#
- # Are we routing dynamically? routeadm(1M) reports this in the
- # "current" values of ipv4/6-routing - if either are true, we are running
- # routing daemons (or at least they are enabled to run).
- #
- dynamic_routing_test=`/sbin/routeadm -p | \
- nawk '/^ipv[46]-routing [.]*/ { print $2 }' | /usr/bin/grep "current=enabled"`
- if [ -n "$dynamic_routing_test" ]; then
- dynamic_routing="true"
- fi
-
- #
# Configure default IPv4 routers using the local "/etc/defaultrouter"
# configuration file. The file can contain the hostnames or IP
# addresses of one or more default routers. If hostnames are used,
# each hostname must also be listed in the local "/etc/hosts" file
# because NIS is not running at the time that this script is
--- 45,54 ----
*** 126,188 ****
-gateway $route_IP >/dev/null
fi
else
/usr/sbin/route -fn > /dev/null
fi
- else
- defrouters=
fi
#
# Use routeadm(1M) to configure forwarding and launch routing daemons
# for IPv4 and IPv6 based on preset values. These settings only apply
# to the global zone. For IPv4 dynamic routing, the system will default
! # to disabled if a default route was previously added via BOOTP, DHCP,
! # or the /etc/defaultrouter file. routeadm also starts in.ndpd.
#
- if [ "$dynamic_routing" != "true" ] && [ -z "$defrouters" ]; then
- #
- # No default routes were setup by "route" command above.
- # Check the kernel routing table for any other default
- # routes.
- #
- /usr/bin/netstat -rn -f inet | \
- /usr/bin/grep default >/dev/null 2>&1 && defrouters=yes
- fi
#
# The routeadm/ipv4-routing-set property is true if the administrator
# has run "routeadm -e/-d ipv4-routing". If not, we revert to the
# appropriate defaults. We no longer run "routeadm -u" on every boot
# however, as persistent daemon state is now controlled by SMF.
#
ipv4_routing_set=`/usr/bin/svcprop -p routeadm/ipv4-routing-set $SMF_FMRI`
! if [ -z "$defrouters" ]; then
! #
! # Set default value for ipv4-routing to enabled. If routeadm -e/-d
! # has not yet been run by the administrator, we apply this default.
! # The -b option is project-private and informs routeadm not
! # to treat the enable as administrator-driven.
! #
! /usr/sbin/svccfg -s $SMF_FMRI \
! setprop routeadm/default-ipv4-routing = true
! if [ "$ipv4_routing_set" = "false" ]; then
! /sbin/routeadm -b -e ipv4-routing -u
! fi
! else
! #
! # Default router(s) have been found, so ipv4-routing default value
! # should be disabled. If routaedm -e/d has not yet been run by
! # the administrator, we apply this default. The -b option is
! # project-private and informs routeadm not to treat the disable as
! # administrator-driven.
! #
! /usr/sbin/svccfg -s $SMF_FMRI \
setprop routeadm/default-ipv4-routing = false
! if [ "$ipv4_routing_set" = "false" ]; then
/sbin/routeadm -b -d ipv4-routing -u
- fi
fi
#
# See if static routes were created by install. If so, they were created
# under /etc/svc/volatile. Copy them into their proper place.
--- 114,150 ----
-gateway $route_IP >/dev/null
fi
else
/usr/sbin/route -fn > /dev/null
fi
fi
#
# Use routeadm(1M) to configure forwarding and launch routing daemons
# for IPv4 and IPv6 based on preset values. These settings only apply
# to the global zone. For IPv4 dynamic routing, the system will default
! # to disabled.
#
#
# The routeadm/ipv4-routing-set property is true if the administrator
# has run "routeadm -e/-d ipv4-routing". If not, we revert to the
# appropriate defaults. We no longer run "routeadm -u" on every boot
# however, as persistent daemon state is now controlled by SMF.
#
ipv4_routing_set=`/usr/bin/svcprop -p routeadm/ipv4-routing-set $SMF_FMRI`
!
! #
! # Set default value for ipv4-routing to disabled. If routeadm -e/-d
! # has not yet been run by the administrator, we apply this default.
! # The -b option is project-private and informs routeadm not
! # to treat the enable as administrator-driven.
! #
! /usr/sbin/svccfg -s $SMF_FMRI \
setprop routeadm/default-ipv4-routing = false
! if [ "$ipv4_routing_set" = "false" ]; then
/sbin/routeadm -b -d ipv4-routing -u
fi
#
# See if static routes were created by install. If so, they were created
# under /etc/svc/volatile. Copy them into their proper place.
*** 195,205 ****
else
cp /etc/svc/volatile/etc/inet/static_routes \
/etc/inet/static_routes
fi
/usr/bin/rm /etc/svc/volatile/etc/inet/static_routes
-
fi
#
# Read /etc/inet/static_routes and add each route.
#
--- 157,166 ----