summaryrefslogtreecommitdiff
path: root/package/base-files/src/etc/network/if-pre-up.d/01-atm
diff options
context:
space:
mode:
Diffstat (limited to 'package/base-files/src/etc/network/if-pre-up.d/01-atm')
-rwxr-xr-xpackage/base-files/src/etc/network/if-pre-up.d/01-atm41
1 files changed, 41 insertions, 0 deletions
diff --git a/package/base-files/src/etc/network/if-pre-up.d/01-atm b/package/base-files/src/etc/network/if-pre-up.d/01-atm
new file mode 100755
index 000000000..5c168c001
--- /dev/null
+++ b/package/base-files/src/etc/network/if-pre-up.d/01-atm
@@ -0,0 +1,41 @@
+#!/bin/sh
+
+[ -x /usr/sbin/br2684ctl ] || exit 0
+
+[ "${IFACE%%[0-9]*}" = "nas" ] || exit 0
+
+[ "$IF_ATM_ENCAPS" ] || encap=0
+[ "$IF_ATM_PAYLOAD" ] || payload=1
+[ "$IF_ATM_VPI" ] || IF_ATM_VPI=1
+[ "$IF_ATM_VCI" ] || IF_ATM_VCI=32
+
+[ "$IF_ATM_PAYLOAD" ] && case "$IF_ATM_PAYLOAD" in
+bridged)
+ payload=1
+ ;;
+routed)
+ payload=0
+ ;;
+*)
+ echo "Wrong payload, use either bridged or routed"
+ exit 1
+ ;;
+esac
+
+[ "$IF_ATM_ENCAPS" ] && case "$IF_ATM_ENCAPS" in
+llc)
+ encap=0
+ ;;
+vc)
+ encap=1
+ ;;
+*)
+ echo "Wrong Encapsulation use either llc or vc"
+ exit 1
+ ;;
+esac
+
+br2684ctl -b -c ${IFACE##*[a-z]} -e $encap -p $payload -a $IF_ATM_VPI.$IF_ATM_VCI
+ifconfig nas${IFACE##*[a-z]} up
+
+exit 0