Age | Commit message (Collapse) | Author | Files | Lines |
|
Related: https://osmocom.org/news/255
Related: OS#6446
Change-Id: I7cfe55fa2fda43da4eaa1e1b8d40b31d1c8aaf30
|
|
A lot of the existing contents was still from the old openggsn days, and
predated osmo-ggsn.
Change-Id: I6ec92260da0f55e9493a15db2e8178e5436143a0
|
|
Change-Id: I7b03a78178de77ebf733587ed178fd48c019663c
|
|
Change-Id: I4e5d99384978d22e6ba0310e97e93d87b610a174
|
|
see https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/displaying-a-sponsor-button-in-your-repository
Change-Id: I75ba8c4f8635d5a2d36d5bb97566d737e27bcec9
|
|
Make it clear to the user, that if adding a tunnel fails with kernel GTP
and IPv6: the reason is that the kernel doesn't support IPv6 yet.
Related: OS#6096
Change-Id: I1d3c8cbb51212c91136292347dad9529a5c58a31
|
|
Change-Id: Ib78b5de45b93a7534163de2cd91211e9be75445d
|
|
Fixes: b17fe7bf ("kernel-gtp: support IPv6 on inner layer")
Change-Id: I40e4de1517de8871224a45c173208810b42312ff
|
|
Fix -Werror=maybe-uninitialize found in Pau's build env:
/home/pespin/dev/sysmocom/git/osmo-ggsn/lib/gtp-kernel.c: In function ‘gtp_kernel_tunnel_add’:
/home/pespin/dev/sysmocom/git/osmo-ggsn/lib/gtp-kernel.c:111:13: error: ‘ret’ may be used uninitialized [-Werror=maybe-uninitialize]
111 | int ret;
| ^~~
/home/pespin/dev/sysmocom/git/osmo-ggsn/lib/gtp-kernel.c: In function ‘gtp_kernel_tunnel_del’:
/home/pespin/dev/sysmocom/git/osmo-ggsn/lib/gtp-kernel.c:167:13: error: ‘ret’ may be used uninitialized [-Werror=maybe-uninitialize]
167 | int ret;
| ^~~
Fixes: b17fe7bf ("kernel-gtp: support IPv6 on inner layer")
Change-Id: I19067ebe561d4c067b9ace7f5b201e15af6b342e
|
|
Change-Id: Ib1956794edc6e82cfa6c5419b2609565674d98a4
|
|
Change-Id: I3303cd8ba8c8b21ff267608833d9fb4833ffc471
|
|
Change-Id: I49e1b08e48dc324f313228e8c69679c37aa774f4
|
|
This reverts commit 0917ce4e2271c0d71dfb8c86eb2d99821a374781,
as it breaks building osmo-sgsn. This needs to be reworked to be
backwards compatible.
Related: OS#6373
Change-Id: I2c2b2ff0875217e041d94c8e2cef030d2a86c2d8
|
|
Related: OS#6096
Change-Id: I3df47b6c209f1e2f8254ba139581d6e622c6b35f
|
|
Related: OS#1953, OS#6096
Change-Id: I257fff1dcd9d030a7f9ea936b2693a3f13208230
|
|
Change-Id: Iff3cfdfb0c08033d869c51499754b3416c71732b
|
|
Change-Id: I508274a1a466651025c488ad897aeed739e4b799
|
|
Change-Id: I1dd4a41bae491c61197e8e307efcfc8c63945a71
|
|
As discussed in Gerrit change I9c3bf64537ef2223e29f8082861fa32fde26bf68
remove defines that don't serve any purpose. These are defines for
reserved values and changing them later if a newer spec defined them
would break API.
Keep the comments to explain the missing values.
Change-Id: I8db0aa0ade59785443a407b51dea326144406dcf
|
|
Change-Id: I1f116e1cded135f231f22ebc9b817aebf3736fc2
|
|
In some cases the phone requests a PDP context type that isn't available
no the PGW/GGSN, e.g. phone requests a combined IPv4/v6 context, but
only IPv4 is supported.
In that case the GGSN can send a Create PDP Context Response with cause
"New PDP type due to network preference" or "New PDP type due to single
address bearer only". libgtp should continue handling these cause values
like the "Request Accepted" cause. Use the new gtp_cause_successful()
function for that.
Related: OS#6268
Change-Id: I7dd1e0aa185530e1e2d0402742df833c61a787a7
|
|
According to the spec the upf/pgw can accept a modified pdp context from
the request e.g. if an ipv4/6 context was requested, but only ipv4 is
availiable. Introduce a function that checks all cause values that are
considered successful.
See also: 3GPP TS 29.060 Ch 7.3.2
Related: OS#6268
Change-Id: I9c3bf64537ef2223e29f8082861fa32fde26bf68
|
|
Change-Id: I148375902975aba0a374e4507c97f1ff67d687bc
|
|
Prepare to use it in gtp-kernel.c in a future patch.
Related: OS#6096
Change-Id: I3e76eb7ee89ba338f085c617662d15cffa2a62d5
|
|
Related: OS#6096
Change-Id: Ie4f1452ecefbe0db0e4093caa8177f1c87bd3950
|
|
Change-Id: I3320dc5eb3d183a18c2bd2fe3139f729978ea2a1
|
|
Related: SYS#6400
Change-Id: I29e547242b2ed1cfc4750c7d7e5f8636c2e8f3dc
|
|
Related: OS#5958
Change-Id: I4b2988fffba12cc84ff0834bb9ef0f3d9de2bcda
|
|
Change-Id: I0e9d2c77200c7c8b49aec669bc39ca91d5d4cf1f
|
|
This option should be used for any executables which are used only
for testing, or for generating other files and are consequently never
installed. By specifying this option, we are telling Libtool that
the executable it links will only ever be executed from where it is
built in the build tree. Libtool is usually able to considerably
speed up the link process for such executables.
Change-Id: I2ca675e93dc5b34bb08d3b841adc115e93558137
|
|
Let the user decide on the optimization level and debugging info.
Change-Id: I4b0b523b7dac4d67413bda37b546964262e5ea0d
|
|
Change-Id: Ibde9f259bccce29638d35efbd597669f5584e295
|
|
When using built-in static_assert() [1], gcc v12.2.1 fails:
In file included from gsn.c:27:
gsn.c: In function 'gtp_new':
gsn.c:444:54: error: expression in static assertion is not constant
444 | osmo_static_assert(gtp_T_defs[0].default_val != 0, first_default_val_not_zero);
| ^
The reason is likely that gtp_T_defs[] is not const, so it cannot
be assert()ed statically. With the current osmo_static_assert()
implementation, this assert does nothing. One can change the
gtp_T_defs[0].default_val to 0 and the code will still compile.
Change-Id: Ia8af1736b63d501661046fe70befe5bbabc1045a
Related: [1] libosmocore.git I5ca34bc14c05e8c38c721d7df33feb1c6c41c76e
|
|
git complains if it's missing, vim adds it automatically.
Change-Id: I3b4808a76da89e65b934d818e7ca280bc0651483
|
|
Fix wrong field order in the big-endian variants.
Change-Id: Ifaa63bb5496e056805bd13b964c8b430fb11c24c
|
|
List the most recent library version where new symbols where added, so
debian properly upgrades libgtp6 when upgrading osmo-sgsn from the
version that is currently in Debian to a version from the Osmocom
repositories.
Closes: OS#5318
Change-Id: Ida5dae4655c0acaeb377bc9d556a2ac333bca10a
|
|
Change-Id: I553fb72c577181c32005093eaf4fa986ae0e6ca8
|
|
Change-Id: I359425152dc18d29c57047f1b10942480b7a61e5
|
|
Related: OS#5809
Change-Id: I51b7c175192759e26d1791723540841e72879b02
|
|
Change-Id: Ib31d67591657e308eebd1e6b7e23f79e6a3656e9
|
|
This timer controls the amount of time a resp message transmitted by the
local gsn is to be stored in the resp queue. This is used in order to
detect duplicate requests received, since GTP states the exact same
response should be answered if a duplicate request is received.
Prior to this patch, this timer was hardcoded to 60 seconds.
This patch actually should be set, in general, to a value
equal than (T3-RESPONSE * N3-REQUESTS) values configured at
the peer, since that is the maximum period during which the local gsn
expects to receive req retransmissions from the peer.
Hence, this value must be user configurable to adapt it to the peers
connected to the GSN.
The 60 seconds hardcoded value is therefore changed to default to our
local (T3-RESPONSE * N3-REQUESTS), since the most common scenario for
osmo-ggsn/osmo-sgsn is to run it against a peer osmo-sgsn/osmo-ggsn,
which will have the same values by default.
This way we avoid by default caching response messages for way too long,
potentially filling the queue.
Related: OS#5485
Change-Id: Ia15c1cfd201d7c43e9a1d6ceb6725ddf392d2c65
|
|
Related: OS#5485
Change-Id: I10bc8e2e197c0e8753b23b684b5ae41025672bf7
|
|
This way they can be inspected with regular osmocom means.
Change-Id: I529305b4f824600c6e733a3c0d2c2c6673f99faf
|
|
This way we split the gsn_t object API/logic from the protocol (message
handling) code.
Change-Id: I47cebb51bf08b9fcf7f115fc8dbea5f3493d4388
|
|
Change-Id: I54b80bba3126cb3ae534938e253721961d4e08c4
|
|
Change-Id: Iec63ef5ea0acfc5e6621054926be15ae4754d65d
|
|
By default systemd will execute service with root directory (or home directory for user instance) which might result in
attempts to create files in unexpected place. Let's set it to 'osmocom' subdir of state directory (/var/lib for system
instance) instead.
Related: OS#4821
Change-Id: Idffc115c21cac77f6f43356333de538ba549fc6a
|
|
Change-Id: Id61cbe354437233fc6baf187ea90284da6a6944b
|
|
Change-Id: I9d59b62493bcdcb1bdbfbfd0525bae2988359f27
|
|
When using 'check_PROGRAMS', autoconf/automake generates smarter
Makefiles, so that the test programs are not being compiled during
the normal 'make all', but only during 'make check'.
Change-Id: Ia8b8dade0056c51d2dd1d814a89d1de064597344
|