OsmoSGSN XID code uses hard-coded N201-I / N201-U instead of per-SAPI defaults as per spec
3GPP TS 04.64 Section 8.9.9 contains a table of LLC layer parameter default values. Those values shall be used whenever no XID negotiation was used to change them. The values are significantly different from one SAPI to another.
We even have a copy of that table as
static const struct gprs_llc_params llc_default_params in gprs_llc.c, and we copy those default parameters into each LLE when it is created.
However, we're not using those default values when we start a XID negotiation, but we always try to negotiate some hard-coded values for N201-I and N201-U (see
gprs_llc_generate_xid()). This is legal, but it might be safer in terms of compatibility to start with the per-SAPI default values from the table.
LLC: Don't use hard-coded N201-U / N201-I values in XID
The N201 values are negotiated per SAPI, and there are default values
per each SAPI. Let's use those rather than hard-coded values.