summaryrefslogtreecommitdiffstats
path: root/etc/rc.d/atm1
diff options
context:
space:
mode:
authorharti <harti@FreeBSD.org>2003-07-28 13:30:42 +0000
committerharti <harti@FreeBSD.org>2003-07-28 13:30:42 +0000
commit33549ec7ad9964be49b9d2a7ea2fb73d188b8d14 (patch)
tree29b421aea59e200f6b87d1e1de470c13b1bd53c2 /etc/rc.d/atm1
parentdf37a5270c965c0d1d1461fce913ee30a095d353 (diff)
downloadFreeBSD-src-33549ec7ad9964be49b9d2a7ea2fb73d188b8d14.zip
FreeBSD-src-33549ec7ad9964be49b9d2a7ea2fb73d188b8d14.tar.gz
Convert the atm{2,3}.sh rc scripts to normal rc.d scripts. Add support
for the harp(4) pseudo driver and for loadable native HARP drivers (like hfa_pci). To use harp(4) the rc variable natm_interfaces must be set to the list of NATM interfaces to be used for HARP. These interfaces will be brought up with ifconfig and the harp(4) will be loaded. To use loadable native HARP drivers atm_load must be set to the list of drivers to load. Reviewed by: mtm, gordon (partly)
Diffstat (limited to 'etc/rc.d/atm1')
-rw-r--r--etc/rc.d/atm129
1 files changed, 29 insertions, 0 deletions
diff --git a/etc/rc.d/atm1 b/etc/rc.d/atm1
index 5c4426a..01cd7c0 100644
--- a/etc/rc.d/atm1
+++ b/etc/rc.d/atm1
@@ -46,6 +46,21 @@ stop_cmd=":"
#
atm_start()
{
+ if [ -n "${natm_interfaces}" ] ; then
+ # Load the HARP pseudo interface
+ kldstat -v | grep -q if_harp || kldload if_harp
+
+ # Load all the NATM drivers that we need
+ for natm in ${natm_interfaces} ; do
+ ifconfig ${natm} up
+ done
+ fi
+
+ # Load loadable HARP drivers
+ for dev in ${atm_load} ; do
+ kldstat -v | grep -q ${dev} || kldload ${dev}
+ done
+
# Locate all probed ATM adapters
atmdev=`atm sh stat int | while read dev junk; do
case ${dev} in
@@ -58,6 +73,20 @@ atm_start()
idt[0-9] | idt[0-9][0-9])
echo "${dev} "
;;
+
+ # NATM interfaces per pseudo driver
+ en[0-9] | en[0-9][0-9])
+ echo "${dev} "
+ ;;
+ fatm[0-9] | fatm[0-9][0-9])
+ echo "${dev} "
+ ;;
+ hatm[0-9] | hatm[0-9][0-9])
+ echo "${dev} "
+ ;;
+ patm[0-9] | patm[0-9][0-9])
+ echo "${dev} "
+ ;;
*)
continue
;;
OpenPOWER on IntegriCloud