diff options
author | Harald Welte <laforge@gnumonks.org> | 2012-06-16 14:59:56 +0800 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2012-06-16 15:14:00 +0800 |
commit | ea34a4e3a7741c0b03fc421e2850234b82a0977c (patch) | |
tree | 6a57247a94bf85ac6b24261fcff831eeb3593920 /openbsc/src | |
parent | 704cb8680bbdf62cdaa2583fd5072791b7589a90 (diff) |
split libgb into a separate library for outside use
This also removes the dependency to osmo_sock() inside libcommon and
replaces it with osmo_sock_* from libosmocore
Diffstat (limited to 'openbsc/src')
-rw-r--r-- | openbsc/src/gprs/gb_proxy.c | 5 | ||||
-rw-r--r-- | openbsc/src/gprs/gb_proxy_main.c | 5 | ||||
-rw-r--r-- | openbsc/src/gprs/gb_proxy_vty.c | 3 | ||||
-rw-r--r-- | openbsc/src/gprs/gprs_gmm.c | 3 | ||||
-rw-r--r-- | openbsc/src/gprs/gprs_llc.c | 2 | ||||
-rw-r--r-- | openbsc/src/gprs/gprs_sgsn.c | 5 | ||||
-rw-r--r-- | openbsc/src/gprs/gprs_sndcp.c | 2 | ||||
-rw-r--r-- | openbsc/src/gprs/sgsn_libgtp.c | 4 | ||||
-rw-r--r-- | openbsc/src/gprs/sgsn_main.c | 5 | ||||
-rw-r--r-- | openbsc/src/gprs/sgsn_vty.c | 2 | ||||
-rw-r--r-- | openbsc/src/libbsc/bsc_vty.c | 2 | ||||
-rw-r--r-- | openbsc/src/libgb/gprs_bssgp.c | 8 | ||||
-rw-r--r-- | openbsc/src/libgb/gprs_bssgp_bss.c | 4 | ||||
-rw-r--r-- | openbsc/src/libgb/gprs_bssgp_util.c | 4 | ||||
-rw-r--r-- | openbsc/src/libgb/gprs_bssgp_vty.c | 13 | ||||
-rw-r--r-- | openbsc/src/libgb/gprs_ns.c | 21 | ||||
-rw-r--r-- | openbsc/src/libgb/gprs_ns_frgre.c | 14 | ||||
-rw-r--r-- | openbsc/src/libgb/gprs_ns_vty.c | 13 |
18 files changed, 67 insertions, 48 deletions
diff --git a/openbsc/src/gprs/gb_proxy.c b/openbsc/src/gprs/gb_proxy.c index 1261cccae..afe793d49 100644 --- a/openbsc/src/gprs/gb_proxy.c +++ b/openbsc/src/gprs/gb_proxy.c @@ -32,10 +32,11 @@ #include <osmocom/core/talloc.h> #include <osmocom/core/select.h> +#include <osmocom/gprs/gprs_ns.h> +#include <osmocom/gprs/gprs_bssgp.h> + #include <openbsc/signal.h> #include <openbsc/debug.h> -#include <openbsc/gprs_ns.h> -#include <openbsc/gprs_bssgp.h> #include <openbsc/gb_proxy.h> struct gbprox_peer { diff --git a/openbsc/src/gprs/gb_proxy_main.c b/openbsc/src/gprs/gb_proxy_main.c index 0bfc6cf3b..5791dab39 100644 --- a/openbsc/src/gprs/gb_proxy_main.c +++ b/openbsc/src/gprs/gb_proxy_main.c @@ -37,10 +37,11 @@ #include <osmocom/core/select.h> #include <osmocom/core/rate_ctr.h> +#include <osmocom/gprs/gprs_ns.h> +#include <osmocom/gprs/gprs_bssgp.h> + #include <openbsc/signal.h> #include <openbsc/debug.h> -#include <openbsc/gprs_ns.h> -#include <openbsc/gprs_bssgp.h> #include <openbsc/vty.h> #include <openbsc/gb_proxy.h> diff --git a/openbsc/src/gprs/gb_proxy_vty.c b/openbsc/src/gprs/gb_proxy_vty.c index 09395ed6b..574f45f78 100644 --- a/openbsc/src/gprs/gb_proxy_vty.c +++ b/openbsc/src/gprs/gb_proxy_vty.c @@ -24,9 +24,10 @@ #include <osmocom/core/talloc.h> +#include <osmocom/gprs/gprs_ns.h> + #include <openbsc/debug.h> #include <openbsc/gb_proxy.h> -#include <openbsc/gprs_ns.h> #include <openbsc/vty.h> #include <osmocom/vty/command.h> diff --git a/openbsc/src/gprs/gprs_gmm.c b/openbsc/src/gprs/gprs_gmm.c index cc9d2972e..0ed716290 100644 --- a/openbsc/src/gprs/gprs_gmm.c +++ b/openbsc/src/gprs/gprs_gmm.c @@ -38,6 +38,8 @@ #include <osmocom/core/talloc.h> #include <osmocom/core/rate_ctr.h> +#include <osmocom/gprs/gprs_bssgp.h> + #include <openbsc/debug.h> #include <openbsc/gsm_data.h> #include <openbsc/gsm_subscriber.h> @@ -45,7 +47,6 @@ #include <openbsc/gsm_04_08_gprs.h> #include <openbsc/paging.h> #include <openbsc/transaction.h> -#include <openbsc/gprs_bssgp.h> #include <openbsc/gprs_llc.h> #include <openbsc/gprs_sgsn.h> #include <openbsc/gprs_gmm.h> diff --git a/openbsc/src/gprs/gprs_llc.c b/openbsc/src/gprs/gprs_llc.c index 708c4c69c..b26f263f2 100644 --- a/openbsc/src/gprs/gprs_llc.c +++ b/openbsc/src/gprs/gprs_llc.c @@ -26,12 +26,12 @@ #include <osmocom/core/linuxlist.h> #include <osmocom/core/timer.h> #include <osmocom/core/talloc.h> +#include <osmocom/gprs/gprs_bssgp.h> #include <openbsc/gsm_data.h> #include <openbsc/debug.h> #include <openbsc/gprs_sgsn.h> #include <openbsc/gprs_gmm.h> -#include <openbsc/gprs_bssgp.h> #include <openbsc/gprs_llc.h> #include <openbsc/crc24.h> #include <openbsc/sgsn.h> diff --git a/openbsc/src/gprs/gprs_sgsn.c b/openbsc/src/gprs/gprs_sgsn.c index 85f710500..d8da84661 100644 --- a/openbsc/src/gprs/gprs_sgsn.c +++ b/openbsc/src/gprs/gprs_sgsn.c @@ -25,11 +25,12 @@ #include <osmocom/core/talloc.h> #include <osmocom/core/timer.h> #include <osmocom/core/rate_ctr.h> +#include <osmocom/gprs/gprs_ns.h> +#include <osmocom/gprs/gprs_bssgp.h> + #include <openbsc/gsm_subscriber.h> #include <openbsc/debug.h> #include <openbsc/gprs_sgsn.h> -#include <openbsc/gprs_ns.h> -#include <openbsc/gprs_bssgp.h> #include <openbsc/sgsn.h> #include <openbsc/gsm_04_08_gprs.h> #include <openbsc/gprs_gmm.h> diff --git a/openbsc/src/gprs/gprs_sndcp.c b/openbsc/src/gprs/gprs_sndcp.c index e422426a1..853f8dbc9 100644 --- a/openbsc/src/gprs/gprs_sndcp.c +++ b/openbsc/src/gprs/gprs_sndcp.c @@ -27,10 +27,10 @@ #include <osmocom/core/linuxlist.h> #include <osmocom/core/timer.h> #include <osmocom/core/talloc.h> +#include <osmocom/gprs/gprs_bssgp.h> #include <openbsc/gsm_data.h> #include <openbsc/debug.h> -#include <openbsc/gprs_bssgp.h> #include <openbsc/gprs_llc.h> #include <openbsc/sgsn.h> diff --git a/openbsc/src/gprs/sgsn_libgtp.c b/openbsc/src/gprs/sgsn_libgtp.c index 71694a433..a45d344e1 100644 --- a/openbsc/src/gprs/sgsn_libgtp.c +++ b/openbsc/src/gprs/sgsn_libgtp.c @@ -36,13 +36,13 @@ #include <osmocom/core/talloc.h> #include <osmocom/core/select.h> #include <osmocom/core/rate_ctr.h> -#include <openbsc/gsm_04_08_gprs.h> +#include <osmocom/gprs/gprs_bssgp.h> +#include <openbsc/gsm_04_08_gprs.h> #include <openbsc/signal.h> #include <openbsc/debug.h> #include <openbsc/sgsn.h> #include <openbsc/gprs_llc.h> -#include <openbsc/gprs_bssgp.h> #include <openbsc/gprs_sgsn.h> #include <openbsc/gprs_gmm.h> diff --git a/openbsc/src/gprs/sgsn_main.c b/openbsc/src/gprs/sgsn_main.c index f7eb2214d..640388d80 100644 --- a/openbsc/src/gprs/sgsn_main.c +++ b/openbsc/src/gprs/sgsn_main.c @@ -38,6 +38,9 @@ #include <osmocom/core/rate_ctr.h> #include <osmocom/core/logging.h> +#include <osmocom/gprs/gprs_ns.h> +#include <osmocom/gprs/gprs_bssgp.h> + #include <osmocom/vty/telnet_interface.h> #include <osmocom/vty/logging.h> @@ -45,8 +48,6 @@ #include <openbsc/debug.h> #include <openbsc/vty.h> #include <openbsc/sgsn.h> -#include <openbsc/gprs_ns.h> -#include <openbsc/gprs_bssgp.h> #include <openbsc/gprs_llc.h> #include <gtp.h> diff --git a/openbsc/src/gprs/sgsn_vty.c b/openbsc/src/gprs/sgsn_vty.c index 0125dad3b..f4a8083a3 100644 --- a/openbsc/src/gprs/sgsn_vty.c +++ b/openbsc/src/gprs/sgsn_vty.c @@ -28,7 +28,7 @@ #include <openbsc/debug.h> #include <openbsc/sgsn.h> -#include <openbsc/gprs_ns.h> +#include <osmocom/gprs/gprs_ns.h> #include <openbsc/gprs_sgsn.h> #include <openbsc/vty.h> #include <openbsc/gsm_04_08_gprs.h> diff --git a/openbsc/src/libbsc/bsc_vty.c b/openbsc/src/libbsc/bsc_vty.c index cacc6b048..413eac44d 100644 --- a/openbsc/src/libbsc/bsc_vty.c +++ b/openbsc/src/libbsc/bsc_vty.c @@ -41,7 +41,7 @@ #include <openbsc/db.h> #include <osmocom/core/talloc.h> #include <openbsc/vty.h> -#include <openbsc/gprs_ns.h> +#include <osmocom/gprs/gprs_ns.h> #include <openbsc/system_information.h> #include <openbsc/debug.h> #include <openbsc/paging.h> diff --git a/openbsc/src/libgb/gprs_bssgp.c b/openbsc/src/libgb/gprs_bssgp.c index 6722cafba..e93b3de9a 100644 --- a/openbsc/src/libgb/gprs_bssgp.c +++ b/openbsc/src/libgb/gprs_bssgp.c @@ -35,10 +35,10 @@ #include <openbsc/debug.h> #include <openbsc/gsm_data.h> #include <openbsc/gsm_04_08_gprs.h> -#include <openbsc/gprs_bssgp.h> -#include <openbsc/gprs_llc.h> -#include <openbsc/gprs_ns.h> -#include <openbsc/gprs_sgsn.h> + +#include <osmocom/gprs/gprs_bssgp.h> +#include <osmocom/gprs/gprs_ns.h> + #include <openbsc/gprs_gmm.h> void *bssgp_tall_ctx = NULL; diff --git a/openbsc/src/libgb/gprs_bssgp_bss.c b/openbsc/src/libgb/gprs_bssgp_bss.c index 9d76c3aa0..a53423ca1 100644 --- a/openbsc/src/libgb/gprs_bssgp_bss.c +++ b/openbsc/src/libgb/gprs_bssgp_bss.c @@ -28,11 +28,11 @@ #include <osmocom/core/rate_ctr.h> #include <osmocom/gsm/tlv.h> #include <osmocom/core/talloc.h> +#include <osmocom/gprs/gprs_bssgp.h> +#include <osmocom/gprs/gprs_ns.h> #include <openbsc/debug.h> #include <openbsc/gsm_data.h> -#include <openbsc/gprs_bssgp.h> -#include <openbsc/gprs_ns.h> uint8_t *bssgp_msgb_tlli_put(struct msgb *msg, uint32_t tlli) { diff --git a/openbsc/src/libgb/gprs_bssgp_util.c b/openbsc/src/libgb/gprs_bssgp_util.c index a1eb37e18..c794a590e 100644 --- a/openbsc/src/libgb/gprs_bssgp_util.c +++ b/openbsc/src/libgb/gprs_bssgp_util.c @@ -27,11 +27,11 @@ #include <osmocom/core/msgb.h> #include <osmocom/gsm/tlv.h> #include <osmocom/core/talloc.h> +#include <osmocom/gprs/gprs_bssgp.h> +#include <osmocom/gprs/gprs_ns.h> #include <openbsc/debug.h> #include <openbsc/gsm_data.h> -#include <openbsc/gprs_bssgp.h> -#include <openbsc/gprs_ns.h> struct gprs_ns_inst *bssgp_nsi; diff --git a/openbsc/src/libgb/gprs_bssgp_vty.c b/openbsc/src/libgb/gprs_bssgp_vty.c index a0d74ac94..256e8af7f 100644 --- a/openbsc/src/libgb/gprs_bssgp_vty.c +++ b/openbsc/src/libgb/gprs_bssgp_vty.c @@ -26,17 +26,13 @@ #include <arpa/inet.h> -#include <openbsc/gsm_data.h> #include <osmocom/core/msgb.h> #include <osmocom/gsm/tlv.h> #include <osmocom/core/talloc.h> #include <osmocom/core/select.h> #include <osmocom/core/rate_ctr.h> -#include <openbsc/debug.h> -#include <openbsc/signal.h> -#include <openbsc/gprs_ns.h> -#include <openbsc/gprs_bssgp.h> -#include <openbsc/vty.h> +#include <osmocom/gprs/gprs_ns.h> +#include <osmocom/gprs/gprs_bssgp.h> #include <osmocom/vty/vty.h> #include <osmocom/vty/command.h> @@ -44,6 +40,11 @@ #include <osmocom/vty/telnet_interface.h> #include <osmocom/vty/misc.h> +#include <openbsc/vty.h> +#include <openbsc/gsm_data.h> +#include <openbsc/debug.h> + + /* FIXME: this should go to some common file as it is copied * in vty_interface.c of the BSC */ static const struct value_string gprs_bssgp_timer_strs[] = { diff --git a/openbsc/src/libgb/gprs_ns.c b/openbsc/src/libgb/gprs_ns.c index 39ccd2851..c1efa4318 100644 --- a/openbsc/src/libgb/gprs_ns.c +++ b/openbsc/src/libgb/gprs_ns.c @@ -68,18 +68,18 @@ #include <arpa/inet.h> -#include <openbsc/gsm_data.h> #include <osmocom/core/msgb.h> #include <osmocom/gsm/tlv.h> #include <osmocom/core/talloc.h> #include <osmocom/core/select.h> #include <osmocom/core/rate_ctr.h> +#include <osmocom/core/socket.h> +#include <osmocom/gprs/gprs_ns.h> +#include <osmocom/gprs/gprs_bssgp.h> +#include <osmocom/gprs/gprs_ns_frgre.h> + #include <openbsc/debug.h> #include <openbsc/signal.h> -#include <openbsc/gprs_ns.h> -#include <openbsc/gprs_bssgp.h> -#include <openbsc/gprs_ns_frgre.h> -#include <openbsc/socket.h> static const struct tlv_definition ns_att_tlvdef = { .def = { @@ -1026,14 +1026,19 @@ static int nsip_fd_cb(struct osmo_fd *bfd, unsigned int what) */ int gprs_ns_nsip_listen(struct gprs_ns_inst *nsi) { + struct in_addr in; int ret; - ret = make_sock(&nsi->nsip.fd, IPPROTO_UDP, nsi->nsip.local_ip, - nsi->nsip.local_port, 0, nsip_fd_cb, NULL); + in.s_addr = htonl(nsi->nsip.local_ip); + + nsi->nsip.fd.cb = nsip_fd_cb; + nsi->nsip.fd.data = nsi; + ret = osmo_sock_init_ofd(&nsi->nsip.fd, AF_INET, SOCK_DGRAM, + IPPROTO_UDP, inet_ntoa(in), + nsi->nsip.local_port, OSMO_SOCK_F_BIND); if (ret < 0) return ret; - nsi->nsip.fd.data = nsi; return ret; } diff --git a/openbsc/src/libgb/gprs_ns_frgre.c b/openbsc/src/libgb/gprs_ns_frgre.c index 27c5c57b7..9be9f2a8f 100644 --- a/openbsc/src/libgb/gprs_ns_frgre.c +++ b/openbsc/src/libgb/gprs_ns_frgre.c @@ -34,10 +34,10 @@ #include <osmocom/core/select.h> #include <osmocom/core/msgb.h> #include <osmocom/core/talloc.h> +#include <osmocom/core/socket.h> +#include <osmocom/gprs/gprs_ns.h> -#include <openbsc/socket.h> #include <openbsc/debug.h> -#include <openbsc/gprs_ns.h> #define GRE_PTYPE_FR 0x6559 #define GRE_PTYPE_IPv4 0x0800 @@ -282,8 +282,11 @@ static int nsfrgre_fd_cb(struct osmo_fd *bfd, unsigned int what) int gprs_ns_frgre_listen(struct gprs_ns_inst *nsi) { + struct in_addr in; int rc; + in.s_addr = htonl(nsi->frgre.local_ip); + /* Make sure we close any existing socket before changing it */ if (nsi->frgre.fd.fd) close(nsi->frgre.fd.fd); @@ -291,8 +294,11 @@ int gprs_ns_frgre_listen(struct gprs_ns_inst *nsi) if (!nsi->frgre.enabled) return 0; - rc = make_sock(&nsi->frgre.fd, IPPROTO_GRE, nsi->frgre.local_ip, - 0, 0, nsfrgre_fd_cb, NULL); + nsi->frgre.fd.cb = nsfrgre_fd_cb; + nsi->frgre.fd.data = nsi; + rc = osmo_sock_init_ofd(&nsi->frgre.fd, AF_INET, SOCK_RAW, + IPPROTO_GRE, inet_ntoa(in), 0, + OSMO_SOCK_F_BIND); if (rc < 0) { LOGP(DNS, LOGL_ERROR, "Error creating GRE socket (%s)\n", strerror(errno)); diff --git a/openbsc/src/libgb/gprs_ns_vty.c b/openbsc/src/libgb/gprs_ns_vty.c index 1e485ac9d..f1ab28731 100644 --- a/openbsc/src/libgb/gprs_ns_vty.c +++ b/openbsc/src/libgb/gprs_ns_vty.c @@ -26,17 +26,13 @@ #include <arpa/inet.h> -#include <openbsc/gsm_data.h> #include <osmocom/core/msgb.h> #include <osmocom/gsm/tlv.h> #include <osmocom/core/talloc.h> #include <osmocom/core/select.h> #include <osmocom/core/rate_ctr.h> -#include <openbsc/debug.h> -#include <openbsc/signal.h> -#include <openbsc/gprs_ns.h> -#include <openbsc/gprs_bssgp.h> -#include <openbsc/vty.h> +#include <osmocom/gprs/gprs_ns.h> +#include <osmocom/gprs/gprs_bssgp.h> #include <osmocom/vty/vty.h> #include <osmocom/vty/command.h> @@ -44,6 +40,11 @@ #include <osmocom/vty/telnet_interface.h> #include <osmocom/vty/misc.h> +#include <openbsc/gsm_data.h> +#include <openbsc/debug.h> +#include <openbsc/signal.h> +#include <openbsc/vty.h> + static struct gprs_ns_inst *vty_nsi = NULL; /* FIXME: this should go to some common file as it is copied |