##############################################################################
#
# Sample ggsn configuration file
#
##############################################################################

# TAG: fg
# Include this flag if process is to run in the foreground
#
fg

# TAG: debug
# Include this flag to include debug information.
#debug


# TAG: conf
# Configuration file to use. This file is the configuration file, 
# so changing this parameter in the configuration file does not make
# sense. Use it on the command line instead.

# TAG: pidfile
# File to store information about the process id of the program.
# The program must have write access to this file/directory.
#pidfile /var/run/ggsn.pid

# TAG: statedir
# Directory to use for nonvolatile storage. 
# The program must have write access to this directory.
#statedir /var/lib/ggsn/


# TAG: listen
# Specifies the local IP address to listen to
listen 10.0.0.240

# TAG: net
# IP network address of external packet data network
# Used to set up network interface.
#net 192.168.0.0/24

# TAG: ipup
# Script executed after network interface has been brought up.
# Executed with the following parameters: <devicename> <ip address>
#ipup /etc/ggsn/ip-up

# TAG: ipdown
# Script executed after network interface has been taken down.
# Executed with the following parameters: <devicename> <ip address>
#ipdown /etc/ggsn/ip-down

# TAG: dynip
# Dynamic IP address pool.
# Used for allocation of dynamic IP address when address is not given
# by HLR or radius server.
# If this option is not given then the net option is used as a substitute.
#dynip 192.168.0.0/24

# TAG: statip
# Use of this tag is currently UNSUPPORTED
# Static IP address pool.
# Used for allocation of static IP address by means of either HLR or
# radius server.
#statip 192.168.1.0/24

# TAG: pcodns1
# Protocol configuration option domain name system server 1.
#pcodns1 0.0.0.0

# TAG: pcodns2
# Protocol configuration option domain name system server 2.
#pcodns2 0.0.0.0

# TAG: timelimit
# Exit after timelimit seconds.
# Setting timelimit to zero will cause the program not to exit.
#timelimit 0

# TAG: apn
# Use of this tag is EXPERIMENTAL
# Access point name to connect to when run in client mode.
#apn internet

# TAG: qos
# Use of this tag is EXPERIMENTAL
# Requested Quality of Service used when run in client mode.
# 3 bytes corresponding to ????
#qos 0x0b921f





