Commit Graph

723 Commits

Author SHA1 Message Date
Harald Welte b534e5c085 introduce ue_context management
We keep one 'ue_context' structure for every UE that we see
a UE REGISTER REQUEST for.
2015-09-11 00:15:54 +02:00
Harald Welte e2e5d4dd53 Back RUA/RANAP integration until RANAP Reset works for cs+ps
The hNodeB is now actively transmitting and we are getting up to the
HNBAP UE-REGISTER.req with the IMSI of the MS.
2015-09-10 23:49:45 +02:00
Harald Welte 350814a5cb first dispatch of RUA into RANAP
This is becoming more and more of a hack, as asn1c + asn1tostruct.py
don't really deal well with the RANAP syntax :(
2015-09-10 22:32:15 +02:00
Harald Welte ac9c024432 ranap: Add more manual definitions to RANAP-PDUs
It seems that individual IEs contain nested containers, and
asn1c is not generating code for that unless we help it by some
hand-crafted additional definitions. *sigh*
2015-09-10 21:18:16 +02:00
Harald Welte 68fcff219f don't attempt to regenerate ranap-common, it is not auto generated! 2015-09-10 19:35:09 +02:00
Harald Welte 64b4ebe57c rua: dispatch different message types and print context/cause 2015-09-10 19:29:59 +02:00
Harald Welte 318e4d5713 actually dispatch RUA messages to RUA handling code 2015-09-10 18:47:08 +02:00
Harald Welte 656ad301a8 enable building + linking of RUA support 2015-09-10 18:33:47 +02:00
Harald Welte 84839c04ea asn1tostruct.py: Add support for type prefixing
If asn1c generates prefixed type names, the asn1tostruct.py of course
also needs to be modified to do so.
2015-09-10 18:33:14 +02:00
Harald Welte 3bc7ff0bb5 hnbap Makefile: add asn1c include directory 2015-09-10 16:43:44 +02:00
Harald Welte 71733fe9b3 add AGPLv3 license text 2015-09-10 11:02:31 +02:00
Harald Welte b908f638f4 Add README file about current state 2015-09-10 11:01:59 +02:00
Harald Welte 0ec7f13667 Cleanups (rename 'asn1c' to 'hnbap', Makefile sanitizing) 2015-09-10 10:53:37 +02:00
Harald Welte b90c37dbaf build + link to RUA and RANAP libraries 2015-09-10 10:53:36 +02:00
Harald Welte ee0918971f add asn1c generated C source for RANAP (and Makefile to regenerate) 2015-09-10 10:53:36 +02:00
Harald Welte 019830c460 add asn1c generated RUA c+header files 2015-09-10 10:53:36 +02:00
Harald Welte 3ca78c8607 add Makefile.local to generate prefixed RUA code 2015-09-10 10:53:36 +02:00
Harald Welte f2f3000457 msgb_free() all received messages after handling 2015-09-08 00:09:23 +02:00
Harald Welte 17878e267f avoid parsing SCTP noficiations as user data 2015-09-08 00:09:13 +02:00
Harald Welte 7b54e32c63 hnbap: Don't enqueue a NULL msgb for transmit 2015-09-07 22:41:45 +02:00
Harald Welte 9e270b4834 hnbgw.c: Fix double-free in wait-queue transmit code 2015-09-07 22:41:26 +02:00
Harald Welte 1c1c53ca11 hnbap encode: don't pass 0 as available buffer space 2015-09-07 22:41:02 +02:00
Harald Welte c060b7bf2c more error logging in hnbap TX successful outcome 2015-09-07 22:40:41 +02:00
Harald Welte cfcc1e67ad use htonl(ppid) when sending a SCTP message 2015-09-07 22:39:56 +02:00
Harald Welte 3f71256750 Use implement HNBAP transmit using per-hnb write_queue 2015-09-07 22:25:35 +02:00
Harald Welte 2204f9d43d hnbgw: zero-initialize the output struct before aper_decode()
asn1c has this strange behavior that the _output_ struct must be
zero-initialized.
2015-09-07 22:25:35 +02:00
Harald Welte 5c11c94637 hnbgw: Fix SCTP server/receiver
* we need to swap PPID endianness
* we need to explicitly subscrie to the event(s) for sctp_sndrcvinfo
2015-09-07 22:25:35 +02:00
Harald Welte 08a793be9f hnbgw: Initialize linked list header of hnbgw's 2015-09-07 22:25:35 +02:00
Harald Welte 1c0f538a8b hnbgw: Bind to INADDR_ANY, not to localhost only 2015-09-07 22:25:35 +02:00
Harald Welte 385836171b update .gitignore 2015-08-31 09:58:12 +02:00
Harald Welte ff4750fde8 cosmetics: asn1c now no longer explicitly states -fnative-types 2015-08-31 09:55:28 +02:00
Harald Welte 08de638790 start using the shared libasn1c, now that it has aper support 2015-08-31 09:54:45 +02:00
Harald Welte 9da9697f55 makefile: asn1tostruct.py rules for RUA and RANAP 2015-08-31 09:38:13 +02:00
Harald Welte 0bdea4da55 Makefile: chrdir to asn1c subdir and build library there 2015-08-30 23:13:06 +02:00
Harald Welte d523a69dbe import ans1c generated C sources for HNBAP
TODO: split the HNBAP specific code from the core runtime code
and use libosmo-asn1c instead.  This is required as we will be
dealing with multiple ASN.1 data formats from within a single
executable.
2015-08-30 23:11:19 +02:00
Harald Welte 11e0306a3a add .gitignore for src directory 2015-08-30 23:10:13 +02:00
Harald Welte 76427b753b implement HNBAP_DEBUG via osmocore DEBUGP 2015-08-30 23:08:48 +02:00
Harald Welte 339b8e2a77 successful has only one 'l' (copy+paste error) 2015-08-30 23:08:32 +02:00
Harald Welte 4d42551466 actually build + link the asn1c generated HNBAP ASN.1 2015-08-30 23:04:23 +02:00
Harald Welte 27f9c4ab4b migration of code from ffasn1c to asn1c + asn1tostruct.py 2015-08-30 22:48:59 +02:00
Harald Welte 547b76c5b4 asn1tostruct.py: Don't claim copyright on auto-generated code
It is a legal impossibility to claim copyright on something that
has been automatically generated by a computer program.
2015-08-30 22:48:59 +02:00
Harald Welte 245daf9422 import ans1tostruct.py from Eurecom OpenAirInterface 2015-08-30 22:48:59 +02:00
Harald Welte 1c2b568d79 HNBAP: Remove HNBRegisterAccept / HNBRegisterResposne naming inconsistency
A HNBRegisterAccept message should not contain HNBRegisterResponse IEs

This spec inconsistency is confusing the asn1tostruct.py code generator,
so let's remove it.
2015-08-30 20:11:50 +02:00
Harald Welte 8d6026742f generate ASN.1 structures for each message withotu iformation object class
this is done semi-automatically using the asn1msgs.pl script.
2015-08-30 19:57:43 +02:00
Harald Welte 96ec96e3b4 asn1 syntax fixup for ffasn1c 2015-08-30 19:10:58 +02:00
Harald Welte 3bd59c9d59 Add Procedure Codes and IEI constants to CommonDataTypes
... this is what's required for asn1c to generate nice C language
enums for it.  Conversion was performed semi-automatically by use
of asn1enum.pl
2015-08-30 19:09:55 +02:00
Harald Welte f24cabee15 RANAP: Further qualify Constants. They're not just integer 2015-08-30 19:03:57 +02:00
Harald Welte 2facbada27 remove ffasn1c generated hnbap.[ch] from source
we want to use asn1c instead.
2015-08-30 19:03:37 +02:00
Harald Welte ba404f9e48 RUA ASN.1 Rewrite to avoid information object classes
If we avoid using Information Object Classes in the IE definitions
(which are only used for Extension Containers), then we can compile the
ASN.1 source using Lev Walkin's asn1c.
2015-08-30 17:46:36 +02:00
Harald Welte 4f119e58e9 RANAP ASN.1 Rewrite to avoid information object classes
If we avoid using Information Object Classes in the IE definitions
(which are only used for Extension Containers), then we can compile the
ASN.1 source using Lev Walkin's asn1c.
2015-08-30 17:46:03 +02:00