#ident "@(#)cmd-inet:etc/strcf 1.5"
#
# +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
# PROPRIETARY NOTICE (Combined)
#
# This source code is unpublished proprietary information
# constituting, or derived under license from AT&T's UNIX(r) System V.
# In addition, portions of such source code were derived from Berkeley
# 4.3 BSD under license from the Regents of the University of
# California.
#
#
#
# Copyright Notice
#
# Notice of copyright on this source code product does not indicate
# publication.
#
# (c) 1986,1987,1988.1989 Sun Microsystems, Inc
# (c) 1983,1984,1985,1986,1987,1988,1989 AT&T.
# All rights reserved.
#
#
#
# Copyright 1987, 1988 Lachman Associates, Incorporated (LAI)
# All Rights Reserved.
#
# The copyright above and this notice must be preserved in all
# copies of this source code. The copyright above does not
# evidence any actual or intended publication of this source
# code.
#
# This is unpublished proprietary trade secret source code of
# Lachman Associates. This source code may not be copied,
# disclosed, distributed, demonstrated or licensed except as
# expressly authorized by Lachman Associates.
#
# System V STREAMS TCP was jointly developed by Lachman
# Associates and Convergent Technologies.
#
#
# tp - configure transport provider (i.e. tcp, udp, icmp)
# usage: tp devname
#
tp {
p = open $1
ip = open /dev/ip
link p ip
}
#
# linkint - link interface to ip or arp
# usage: linkint top bottom ifname
#
linkint {
x = link $1 $2
sifname $1 x $3
}
#
# aplinkint - like linkint, but app is pushed on dev
# usage: aplinkint top bottom ifname
#
aplinkint {
push $2 app
linkint $1 $2 $3
}
#
# uenet - configure ethernet-type interface for cloning driver using
# unit select
# usage: uenet ip-fd devname ifprefix unit
#
uenet {
ifname = strcat $3 $4
dev = open $2
unitsel dev $4
aplinkint $1 dev ifname
dev = open $2
unitsel dev $4
arp = open /dev/arp
linkint arp dev ifname
}
#
# denet - configure ethernet-type interface for cloning driver using
# DL_ATTACH
# usage: denet ip-fd devname ifprefix unit
#
denet {
ifname = strcat $3 $4
dev = open $2
dlattach dev $4
aplinkint $1 dev ifname
dev = open $2
dlattach dev $4
arp = open /dev/arp
linkint arp dev ifname
}
#
# cenet - configure ethernet-type interface for cloning driver with
# one major per interface
# usage: cenet ip-fd devprefix ifprefix unit
#
cenet {
devname = strcat $2 $4
ifname = strcat $3 $4
dev = open devname
aplinkint $1 dev ifname
dev = open devname
arp = open /dev/arp
linkint arp dev ifname
}
#
# senet - configure ethernet-type interface for non-cloning driver
# usage: senet ip-fd ipdevname arpdevname ifname
#
senet {
dev = open $2
aplinkint $1 dev $4
dev = open $3
arp = open /dev/arp
linkint arp dev $4
}
#
# senetc - configure ethernet-type interface for non-cloning driver
# using convergence module
# usage: senetc ip-fd convergence ipdevname arpdevname ifname
#
senetc {
dev = open $3
push dev $2
aplinkint $1 dev $5
dev = open $4
push dev $2
arp = open /dev/arp
linkint arp dev $5
}
#
# loopback - configure loopback device
# usage: loopback ip-fd
#
loopback {
dev = open /dev/loop
linkint $1 dev lo0
}
#
# slip - configure slip interface
# usage: slip unit
#
slip {
ip = open /dev/ip
s = open /dev/slip
ifname = strcat sl $1
unitsel s $1
linkint ip s ifname
}
#
# boot - boot time configuration
#
boot {
#
# queue params
#
# initqp /dev/udp rq 8192 40960
# initqp /dev/ip muxrq 8192 40960 rq 8192 40960
#
# transport
#
tp /dev/tcp
tp /dev/udp
tp /dev/icmp
tp /dev/rawip
#
# interfaces
#
ip = open /dev/ip
# cenet ip /dev/ni/clone emd 0 # 3b2/NI(10base5)
# senet ip /dev/pc586_0 /dev/pc586_1 emd0 # i386/pc586
# senetc ip eli /dev/emd0 /dev/emd1 emd0
# cenet ip /dev/ni emd 0 # i386/NI
# uenet ip /dev/abc emd 0
# denet ip /dev/def emd 0 # uses dlpi
# senet ip /dev/ghi0 /dev/ghi1 emd0
# cenet ip /dev/emd emd 0 # 3b2/EMD (dlpi)
# cenet ip /dev/edlina emd 0 # EDL interface to iNA
senet ip /dev/dlk0 /dev/dlk0 emd0 # i386/DATEX
loopback ip
}