diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2023-07-26 20:56:27 +0200 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2023-07-28 13:48:25 +0200 |
commit | f37d91072f64dc7eb514c0b29341b0a94f1693e1 (patch) | |
tree | 2bd7ac2a61c4aff0e355340efab21b88fad7be72 | |
parent | d8d592db5494c764d89c9921acfb8307789c28ba (diff) |
sndcp: Initialize N201-U & N201-I to default settings
LLC is only expected to signal new values if SNDCP XID params are
received, or if the default N201 values change.
Change-Id: I68f54d329b326895ed8f010cf50f20fa30948d30
-rw-r--r-- | src/sndcp/sndcp.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/sndcp/sndcp.c b/src/sndcp/sndcp.c index 5decfac..d71cac9 100644 --- a/src/sndcp/sndcp.c +++ b/src/sndcp/sndcp.c @@ -34,6 +34,23 @@ struct gprs_sndcp_ctx *g_sndcp_ctx; +struct gprs_sndcp_llc_params { + uint16_t n201_u; + uint16_t n201_i; +}; + +/* Section 8.9.9 LLC layer parameter default values */ +static const struct gprs_sndcp_llc_params llc_default_params[GPRS_SNDCP_NUM_NSAPIS] = { + [1] = { .n201_u = 400, }, + [2] = { .n201_u = 270, }, + [3] = { .n201_u = 500, .n201_i = 1503, }, + [5] = { .n201_u = 500, .n201_i = 1503, }, + [7] = { .n201_u = 270, }, + [8] = { .n201_u = 270, }, + [9] = { .n201_u = 500, .n201_i = 1503, }, + [11] = { .n201_u = 500, .n201_i = 1503, }, +}; + int osmo_gprs_sndcp_init(enum osmo_gprs_sndcp_location location) { if (g_sndcp_ctx) @@ -126,6 +143,9 @@ struct gprs_sndcp_entity *gprs_sndcp_sne_alloc(struct gprs_sndcp_mgmt_entity *sn sne->rx_state = GPRS_SNDCP_RX_S_FIRST; INIT_LLIST_HEAD(&sne->defrag.frag_list); + sne->n201_u = llc_default_params[llc_sapi].n201_u; + sne->n201_i = llc_default_params[llc_sapi].n201_i; + sne->snme = snme; gprs_sndcp_snme_attach_sne(snme, sne); |