xref: /freebsd/share/examples/netgraph/frame_relay (revision 8c4431d022a1a5437a574042ab9239a3107e8427)
1#!/bin/sh
2# script to set up a frame relay link on the sr card.
3# The dlci used is selected below. The default is 16
4# $FreeBSD$
5
6CARD=sr0
7DLCI=16
8
9# create a frame_relay type node and attach it to the sync port.
10ngctl mkpeer ${CARD}: frame_relay rawdata downstream
11
12# Attach the dlci output of the (de)multiplexor to a new
13# Link management protocol node.
14ngctl mkpeer ${CARD}:rawdata lmi dlci0 auto0
15
16# Also attach dlci 1023, as it needs both to try auto-configuring.
17# The Link management protocol is now alive and probing..
18ngctl connect ${CARD}:rawdata ${CARD}:rawdata.dlci0 dlci1023 auto1023
19
20# Attach the DLCI(channel) the Telco has assigned you to
21# a node to handle whatever protocol encapsulation your peer
22# is using. In this case RFC1490 encapsulation.
23ngctl mkpeer ${CARD}:rawdata rfc1490 dlci${DLCI} downstream
24
25
26# Attach the ip (inet) protocol output of the protocol mux to the ip (inet)
27# input of a netgraph "interface" node (ifconfig should show it as "ng0").
28#if interface ng0 needs to be created use a mkpeer command.. e.g.
29ngctl mkpeer ${CARD}:rawdata.dlci${DLCI} iface inet inet
30
31# if ng0 already exists, use a CONNECT command instead of a mkpeer. e.g.
32# ngctl connect ${CARD}:rawdata.dlci${DLCI} ng0: inet inet
33
34# Then use ifconfig on interface ng0 as usual
35
36# A variant on this whole set might use the 'name' command to make it more
37# readable. But it doesn't work if you have multiple lines or dlcis
38# e.g.
39# ngctl mkpeer ${CARD}: frame_relay rawdata downstream
40# ngctl name ${CARD}:rawdata mux
41# ngctl mkpeer mux: lmi dlci0 auto0
42# ngctl name mux:dlci0 lmi
43# ngctl connect mux: lmi: dlci1023 auto1023
44# ngctl mkpeer mux: rfc1490 dlci${DLCI} downstream
45# ngctl mux:dlci${DLCI} protomux
46# ngctl mkpeer protomux: iface inet inet
47