# OpenGGSN - Gateway GPRS Support Node
# Copyright (C) 2002, 2003, 2004 Mondru AB.
#  
# The contents of this file may be used under the terms of the GNU
# General Public License Version 2, provided that the above copyright
# notice and this permission notice is included in all copies or
# substantial portions of the software.
#
# Use "gengetopt --conf-parser < cmdline.ggo" 
# to generate cmdline.c and cmdline.h

option  "fg"          f "Run in foreground"             flag   off
option  "debug"       d "Run in debug mode"             flag   off

option  "conf"        c "Read configuration file"       string default="/etc/ggsn.conf" no
option  "pidfile"     - "Filename of process id file"   string default="/var/run/ggsn.pid" no
option  "statedir"    - "Directory of nonvolatile data" string default="/var/lib/ggsn/" no

option  "listen"      l "Local interface"               string no
option  "net"         n "Network"                       string default="192.168.0.0/24" no
option  "ipup"        - "Script to run after link-up"    string no
option  "ipdown"      - "Script to run after link-down"  string no

option  "dynip"       - "Dynamic IP address pool"       string no
option  "statip"      - "Static IP address pool"        string no

option  "pcodns1"     - "PCO DNS Server 1"              string default="0.0.0.0" no
option  "pcodns2"     - "PCO DNS Server 2"              string default="0.0.0.0" no

option  "timelimit"   - "Exit after timelimit seconds"  int default="0" no

option  "apn"         a "Access point name"             string default="internet" no
option  "qos"         q "Requested quality of service"  int    default="0x0b921f" no
option  "logfile"     - "Logfile for errors"            string no
option  "loglevel"    - "Global log ldevel"		string default="error" no

option  "gtpnl"       g "GTP kernel support"            string default="eth0" no

