gengetopt by default picks the program name from PACKAGE (autotools),
which is openggsn and is obviously wrong in case of sgsnemu.
After this patch, "sgsnemu --help" no longer shows "openggsn" but
"sgsnemu" at the top of the help text.
Change-Id: Ifabc2435a503ef71aa5a002ca46833f329068b37
This will replace the manual additions to cmdline.[ch] with
auto-generated code from gengetopt. We need to fix-up the RAT Type in
sgsnemu.c as the manually-added code diverged from what gengetopt
generates.
Change-Id: Ia687e13d5cec1655a57078a767d2123aa022842c
In commit 3a4c67b4bf we introduced the
--norecovery command line option, but this was apparently done by
manually editing the C source code rather than adding it to the .ggo
and letting gengetopt do its magic. Let's fix this up.
Change-Id: I1698280a699b17cea65651c3736ef149aba7e432
In commit 41af5691ef we introduced the
--rai command line options, but this was apparently done by
manually editing the C source code rather than adding it to the .ggo
and letting gengetopt do its magic. Let's fix this up.
Change-Id: Iaab404c3bcfc0c3943764f6616763f4f407d5644
In commit 944dce3e66 we introduced various
command line options, but this was apparently done by manually editing
the C source code rather than adding it to the .ggo and letting
gengetopt do its magic. Let's fix this up.
Change-Id: Ib8e7ef1cad5fc4423a1a4af628950aa93a4e073a
In commit 11a398fbc3 we introduced the
--qose{1,2,3,4} command line options, but this was apparently done by
manually editing the C source code rather than adding it to the .ggo
and letting gengetopt do its magic. Let's fix this up.
Change-Id: I4cd827a96ac17f6eb9f824342f195727426d0e20
It seems like modern gengetopt no longer supports 'unsigned int'
argument types, and we need to use 'int' instead. tested with 2.22.6
Change-Id: I34ca86cb3cc482400a7c4b3bf77c8668aaef562e
We haven nobody maintaining this platform, let's remove it.
In fact, only Linux and FreeBSD are part of the jenkins build tests,
so even Apple/MacOS is up for disposal. However, as it's more
popular, let's keep the code.
Change-Id: Id6b8179259bacade52c39f96e688f828eff164ac
This patch enables the use of IPv6 PDP contexts. The phone will
have to request an IPv6 End-user-Address, and the GGSN will have
to be configured for an IPv6 pool.
The outer transport-layer IP between SGSN and GGSN must still be
IPv4, it is not modified by this patch
Change-Id: I22c3bf32a98e5daf99d6eaeac8c9f95cc7574774
Extend the IP pool implementation to be able to manage both pools
of 32bit addresses (IPv4) as well as pools of 128bit addresses (IPv6)
Change-Id: Ib98cc4bf634d6be9a7bf8c03a24e629455fcafc8
The definition of the APN field format in GTPv1 is hidden in a chain
of documents.
3GPP TS 29.060 (the GTPv1-C specification) Section 7.7.30:
> The Access Point Name contains a logical name (see 3GPP TS 23.060 [4]).
> It is coded as in the value part defined in 3GPP TS 24.008
3GPP TS 24.008 Section 10.5.6.1:
> The value part is defined in 3GPP TS 23.003.
3GPP TS 23.003 Section 9.1:
> The APN consists of one or more labels. Each label is coded as a one
> octet length field followed by that number of octets coded as 8 bit
> ASCII characters
This converts a literal APN (e.g. Label1.Label2.Label3) to a structured
field (e.g. \006Label1\006Label2\006Label3)
Signed-off-by: Andreas Schultz <aschultz@tpip.net>
We are not using this option in any of our projects and it is breaking
make distclean. Remove the option for now.
make[2]: Entering directory `/openggsn-0.91/_build/ggsn'
Makefile:307: ../lib/.deps/getopt.Po: No such file or directory
Makefile:308: ../lib/.deps/getopt1.Po: No such file or directory
make[2]: *** No rule to make target `../lib/.deps/getopt1.Po'. Stop.
After so many years of silence, we don't expect the original author to
return to the project. To make things a bit simpler for us, we convert
the coding style to what we are used to (Linux style).
The conversion was made using the 'Lindent' script which is part of the
Linux kernel.
According to 3GPP TS 29.060 recovery is optional, add command line option --norecovery to remove this field in sgsnemu
Signed-off-by: Yann BONNAMY <yann_bonnamy@yahoo.fr>
Signed-off-by: Harald Welte <laforge@gnumonks.org>
Routing Area Information is an optional Field described in 3GPP TS 29.060 7.7.3
it can be added with command line option rai, in the dot separated format MCC.MNC.LAC.RAC
example : --rai 208.10.65535.255
Signed-off-by: Yann BONNAMY <yann_bonnamy@yahoo.fr>
Signed-off-by: Harald Welte <laforge@gnumonks.org>
this patch allows to tweak any bit of the QoS field of the Create PDP context generated by sgsnemu , aligned with 10.5.6.5 of 3GPP TS 24.008 V10.0.0 (2010-09)
QoS field can be extended to "lenght 12" with option --qose1, as seen in real life on UMTS networks.
extension to lenght 13, 15 and 17 can be done with option --qose2, --qose3, --qose4, never seen IRL but allows to test 3GPP compliance of GGSN.
Signed-off-by: Yann BONNAMY <yann_bonnamy@yahoo.fr>
This adds support for the followng new GTP Information Elements:
RAT_TYPE, USER_LOC, MS_TZ, IMEI_SV
Furthermore, it allows to specify those fields as sgsnemu command line
arguments.
Some files like in sgsnemu and ggsn directory where exactly the same.
They are now moved to the same directory for easier maintenance
Signed-off-by: Emmanuel Bretelle <chantra@debuntu.org>
Relevant output of make:
sgsnemu.c: In function ‘process_options’:
sgsnemu.c:443: warning: pointer targets in passing argument 1 of
‘strncpy’ differ in signedness
/usr/include/bits/string3.h:120: note: expected ‘char * __restrict__’
but argument is of type ‘unsigned char *’
Signed-off-by: Emmanuel Bretelle <chantra@debuntu.org>
All those will be re-generated by "autoreconf -i" anyway, so
there's no point in keeping them in the repository.
Also, the 'bootstrap' script is no longer working with recent
autotools versions anyway.