diff options
author | Alexander Couzens <lynxis@fe80.eu> | 2020-07-27 22:39:58 +0200 |
---|---|---|
committer | lynxis lazus <lynxis@fe80.eu> | 2021-01-04 16:06:13 +0000 |
commit | f23e2db752ee7213519144202120cac36493b579 (patch) | |
tree | a9d371924b2118982dd20b2129fc1fa8f1e25a6a /include/osmocom | |
parent | 8a33528854dacac511d3d8a8959d6e917698318e (diff) |
sgsn: Use the new NS2 api
The new NS2 api supports NSE with multiple NS-VC and contains a NS-VC
fsm. FR/GRE support is not working.
The configuration is compatible except for FR/GRE.
Relates: OS#4629
Depends-on: Iaad7b53d44338e5dd81dc2202f23bdcb715af804 (libosmocore)
Depends-on: I6cef42749555e577d5573f2ed8b8bce4cf842a98 (libosmocore)
Change-Id: I92a3bcaf166b091a22d74c7c1586964d33d7cc9d
Diffstat (limited to 'include/osmocom')
-rw-r--r-- | include/osmocom/sgsn/gprs_gb.h | 6 | ||||
-rw-r--r-- | include/osmocom/sgsn/sgsn.h | 7 |
2 files changed, 10 insertions, 3 deletions
diff --git a/include/osmocom/sgsn/gprs_gb.h b/include/osmocom/sgsn/gprs_gb.h index 461eee319..c98dd3448 100644 --- a/include/osmocom/sgsn/gprs_gb.h +++ b/include/osmocom/sgsn/gprs_gb.h @@ -12,3 +12,9 @@ void gprs_gb_recv_pdu(struct sgsn_mm_ctx *mmctx); /* page a MS in its routing area */ int gprs_gb_page_ps_ra(struct sgsn_mm_ctx *mmctx); + +/* called by the bssgp layer to send NS PDUs */ +int gprs_gb_send_cb(void *ctx, struct msgb *msg); + +/* called by the ns layer */ +int gprs_ns_prim_cb(struct osmo_prim_hdr *oph, void *ctx); diff --git a/include/osmocom/sgsn/sgsn.h b/include/osmocom/sgsn/sgsn.h index f5ff524da..d9ef938f5 100644 --- a/include/osmocom/sgsn/sgsn.h +++ b/include/osmocom/sgsn/sgsn.h @@ -3,8 +3,9 @@ #include <osmocom/core/msgb.h> +#include <osmocom/core/select.h> #include <osmocom/crypt/gprs_cipher.h> -#include <osmocom/gprs/gprs_ns.h> +#include <osmocom/gprs/gprs_ns2.h> #include <osmocom/sgsn/gprs_sgsn.h> #include <osmocom/gsm/oap_client.h> #include <osmocom/gsupclient/gsup_client.h> @@ -69,7 +70,7 @@ struct sgsn_config { struct sockaddr_in gtp_listenaddr; /* misc */ - struct gprs_ns_inst *nsi; + struct gprs_ns2_inst *nsi; enum sgsn_auth_policy auth_policy; enum gprs_ciph_algo cipher; @@ -157,7 +158,7 @@ char *sgsn_gtp_ntoa(struct ul16_t *ul); /* sgsn.c */ /* Main input function for Gb proxy */ -int sgsn_rcvmsg(struct msgb *msg, struct gprs_nsvc *nsvc, uint16_t ns_bvci); +int sgsn_rcvmsg(struct msgb *msg, struct gprs_ns2_vc *nsvc, uint16_t ns_bvci); /* sgsn_libgtp.c */ struct sgsn_pdp_ctx *sgsn_create_pdp_ctx(struct sgsn_ggsn_ctx *ggsn, |