aboutsummaryrefslogtreecommitdiffstats
path: root/include/osmocom/gprs/gprs_ns2.h
diff options
context:
space:
mode:
authorAlexander Couzens <lynxis@fe80.eu>2020-11-19 00:41:29 +0100
committerAlexander Couzens <lynxis@fe80.eu>2020-11-24 03:53:22 +0100
commit841817ec52186029ca01f0c082ed84f2dc5ffcc5 (patch)
tree19aba9c6d3dd9f5b6e9bac61d10aaaef307deb20 /include/osmocom/gprs/gprs_ns2.h
parent595908aab1985f987abac9c1706bf284468665f7 (diff)
ns2: add support for frame relay
Add support for frame relay over dahdi hdlc device. It's supporting lmi by q933 and supports both SGSN and BSS. Change-Id: Id3b49f93d33c271f77cd9c9db03cde6b727a4d30
Diffstat (limited to 'include/osmocom/gprs/gprs_ns2.h')
-rw-r--r--include/osmocom/gprs/gprs_ns2.h20
1 files changed, 20 insertions, 0 deletions
diff --git a/include/osmocom/gprs/gprs_ns2.h b/include/osmocom/gprs/gprs_ns2.h
index 3b47b3c0..dd4f4d5a 100644
--- a/include/osmocom/gprs/gprs_ns2.h
+++ b/include/osmocom/gprs/gprs_ns2.h
@@ -8,9 +8,11 @@
#include <osmocom/core/prim.h>
#include <osmocom/gprs/protocol/gsm_08_16.h>
+#include <osmocom/gprs/frame_relay.h>
struct osmo_sockaddr;
struct osmo_sockaddr_str;
+struct osmo_fr_network;
struct gprs_ns2_inst;
struct gprs_ns2_nse;
@@ -146,6 +148,23 @@ struct gprs_ns2_vc_bind *gprs_ns2_ip_bind_by_sockaddr(struct gprs_ns2_inst *nsi,
const struct osmo_sockaddr *sockaddr);
void gprs_ns2_bind_set_mode(struct gprs_ns2_vc_bind *bind, enum gprs_ns2_vc_mode mode);
+/* FR VL driver */
+struct gprs_ns2_vc_bind *gprs_ns2_fr_bind_by_netif(
+ struct gprs_ns2_inst *nsi,
+ const char *netif);
+const char *gprs_ns2_fr_bind_netif(struct gprs_ns2_vc_bind *bind);
+int gprs_ns2_fr_bind(struct gprs_ns2_inst *nsi,
+ const char *netif,
+ struct osmo_fr_network *fr_network,
+ enum osmo_fr_role fr_role,
+ struct gprs_ns2_vc_bind **result);
+int gprs_ns2_is_fr_bind(struct gprs_ns2_vc_bind *bind);
+struct gprs_ns2_vc *gprs_ns2_fr_nsvc_by_dlci(struct gprs_ns2_vc_bind *bind, uint16_t dlci);
+struct gprs_ns2_vc *gprs_ns2_fr_connect(struct gprs_ns2_vc_bind *bind,
+ uint16_t nsei,
+ uint16_t nsvci,
+ uint16_t dlci);
+
/* create a VC connection */
struct gprs_ns2_vc *gprs_ns2_ip_connect(struct gprs_ns2_vc_bind *bind,
const struct osmo_sockaddr *remote,
@@ -188,6 +207,7 @@ int gprs_ns2_frgre_bind(struct gprs_ns2_inst *nsi,
int dscp,
struct gprs_ns2_vc_bind **result);
int gprs_ns2_is_frgre_bind(struct gprs_ns2_vc_bind *bind);
+uint16_t gprs_ns2_fr_nsvc_dlci(struct gprs_ns2_vc *nsvc);
struct gprs_ns2_vc *gprs_ns2_nsvc_by_sockaddr_nse(
struct gprs_ns2_nse *nse,