aboutsummaryrefslogtreecommitdiffstats
path: root/src/gb/gprs_ns2_internal.h
diff options
context:
space:
mode:
authorAlexander Couzens <lynxis@fe80.eu>2021-01-20 17:42:48 +0100
committerAlexander Couzens <lynxis@fe80.eu>2021-02-16 16:29:47 +0100
commit4f1128fcbd462fc5b7fe900d2daa09576e308736 (patch)
tree60ee7914864059af0ccb375a43268a02a8ede5be /src/gb/gprs_ns2_internal.h
parentgsm: Fix encoding of gsm0808_cell_id_list2 with CGI-PS types (diff)
downloadlibosmocore-4f1128fcbd462fc5b7fe900d2daa09576e308736.tar.xz
libosmocore-4f1128fcbd462fc5b7fe900d2daa09576e308736.zip
gprs_ns2: inform the NS user (BSSGP) about the MTU of a NSE
The BSSGP layer needs to know the MTU of the NS UNIDATA payload. The MTU can be 0 if the NSE doesn't contain any NSVC. Every status indication will contain the mtu value. The MTU in the status indication contains the maximum transfer unit of a BSSGP message. From NS side the maximum SDU. Related: OS#4889 Change-Id: I5016b295db6185ec131d83089cf6c806e34ef1b6
Diffstat (limited to 'src/gb/gprs_ns2_internal.h')
-rw-r--r--src/gb/gprs_ns2_internal.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gb/gprs_ns2_internal.h b/src/gb/gprs_ns2_internal.h
index d4764f65..7e235be9 100644
--- a/src/gb/gprs_ns2_internal.h
+++ b/src/gb/gprs_ns2_internal.h
@@ -179,6 +179,9 @@ struct gprs_ns2_nse {
/*! sum of all the signalling weight of _alive_ NS-VCs */
uint32_t sum_sig_weight;
+
+ /*! MTU of a NS PDU. This is the lowest MTU of all NSVCs */
+ uint16_t mtu;
};
/*! Structure representing a single NS-VC */
@@ -244,6 +247,9 @@ struct gprs_ns2_vc_bind {
/*! transfer capability in mbit */
int transfer_capability;
+ /*! MTU of a NS PDU on this bind. */
+ uint16_t mtu;
+
/*! which link-layer are we based on? */
enum gprs_ns2_ll ll;
@@ -298,6 +304,7 @@ void ns2_prim_status_ind(struct gprs_ns2_nse *nse,
uint16_t bvci,
enum gprs_ns2_affecting_cause cause);
void ns2_nse_notify_alive(struct gprs_ns2_vc *nsvc, bool alive);
+void ns2_nse_update_mtu(struct gprs_ns2_nse *nse);
/* message */
int ns2_validate(struct gprs_ns2_vc *nsvc,