diff options
author | Philipp <pmaier@sysmocom.de> | 2016-08-10 12:24:09 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2016-08-27 04:45:55 +0000 |
commit | 4ac3aee711ae88280c35c996b75bfff1f2415e87 (patch) | |
tree | 61d1812168b7b3fac09fe6b12031078a45ece49f /openbsc/include/openbsc | |
parent | 3ec03d5048772c24a337b67cc7605cd7b7225a8c (diff) |
Adding LLC-XID related modifications in LLC
With this commit the already existing XID mechanism has been
modified to suit the needs for the upcomming SNDCP-XID patches.
This commit should not break anything since it does not alter
the current behaviour (incoming XID is still just echoed, on
GMM-Reset a basic XID message is still echoed)
Change-Id: I65b9d625e72d3d61c99abdc7041773701d694d52
Diffstat (limited to 'openbsc/include/openbsc')
-rw-r--r-- | openbsc/include/openbsc/gprs_llc.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/openbsc/include/openbsc/gprs_llc.h b/openbsc/include/openbsc/gprs_llc.h index 0e497a080..c3b82b146 100644 --- a/openbsc/include/openbsc/gprs_llc.h +++ b/openbsc/include/openbsc/gprs_llc.h @@ -4,6 +4,7 @@ #include <stdint.h> #include <stdbool.h> #include <openbsc/gprs_sgsn.h> +#include <openbsc/gprs_llc_xid.h> /* Section 4.7 LLC Layer Structure */ enum gprs_llc_sapi { @@ -166,6 +167,13 @@ struct gprs_llc_llme { uint16_t nsei; struct gprs_llc_lle lle[NUM_SAPIS]; + /* Copy of the XID fields we have sent with the last + * network originated XID-Request. Since the phone + * may strip the optional fields in the confirmation + * we need to remeber those fields in order to be + * able to create the compression entity. */ + struct llist_head *xid; + /* Internal management */ uint32_t age_timestamp; }; @@ -219,6 +227,10 @@ int gprs_llgmm_reset(struct gprs_llc_llme *llme); int gprs_llgmm_reset_oldmsg(struct msgb* oldmsg, uint8_t sapi, struct gprs_llc_llme *llme); +/* Set of LL-XID negotiation (See also: TS 101 351, Section 7.2.2.4) */ +int gprs_ll_xid_req(struct gprs_llc_lle *lle, + struct gprs_llc_xid_field *l3_xid_field); + /* 04.64 Chapter 7.2.1.1 LLGMM-ASSIGN */ int gprs_llgmm_assign(struct gprs_llc_llme *llme, uint32_t old_tlli, uint32_t new_tlli); |