Move Iuh code to its own module

The Iuh code will be further extended next to properly support
reconnect, and hnb will also gain proper shutdown support soon.

Change-Id: I6e94210ab06a34b70c61bb074c58d7b0f4ee75de
This commit is contained in:
Pau Espin Pedrol
2021-11-23 13:18:52 +01:00
parent 7465e42bed
commit 4310b0d57a
10 changed files with 219 additions and 146 deletions

View File

@@ -1,6 +1,7 @@
noinst_HEADERS = \
hnbap.h \
hnodeb.h \
iuh.h \
nas.h \
ranap.h \
rua.h \

View File

@@ -36,18 +36,6 @@ enum {
};
extern const struct log_info hnb_log_info;
/* 25.467 Section 7.1 */
#define IUH_DEFAULT_SCTP_PORT 29169
#define RNA_DEFAULT_SCTP_PORT 25471
#define IUH_PPI_RUA 19
#define IUH_PPI_HNBAP 20
#define IUH_PPI_SABP 31
#define IUH_PPI_RNA 42
#define IUH_PPI_PUA 55
#define IUH_MSGB_SIZE 2048
struct hnb_chan {
int is_ps;
uint32_t conn_id;
@@ -77,11 +65,9 @@ struct hnb {
struct hnb_chan *chan;
} cs;
};
struct hnb *hnb_alloc(void *tall_ctx);
void hnb_free(struct hnb *hnb);
int hnb_connect(struct hnb *hnb);
int hnb_iuh_send(struct hnb *hnb, struct msgb *msg);
extern void *tall_hnb_ctx;
extern struct hnb *g_hnb;

View File

@@ -0,0 +1,41 @@
/* (C) 2015 by Daniel Willmann <dwillmann@sysmocom.de>
* (C) 2021 by sysmocom - s.f.m.c. GmbH <info@sysmocom.de>
* Author: Pau Espin Pedrol <pespin@sysmocom.de>
* All Rights Reserved
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation; either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/lienses/>.
*
*/
#pragma once
#include <osmocom/core/msgb.h>
/* 25.467 Section 7.1 */
#define IUH_DEFAULT_SCTP_PORT 29169
#define RNA_DEFAULT_SCTP_PORT 25471
#define IUH_PPI_RUA 19
#define IUH_PPI_HNBAP 20
#define IUH_PPI_SABP 31
#define IUH_PPI_RNA 42
#define IUH_PPI_PUA 55
#define IUH_MSGB_SIZE 2048
struct hnb;
void hnb_iuh_alloc(struct hnb *hnb);
void hnb_iuh_free(struct hnb *hnb);
int hnb_iuh_connect(struct hnb *hnb);
int hnb_iuh_send(struct hnb *hnb, struct msgb *msg);