mirror of
				https://gitea.osmocom.org/cellular-infrastructure/osmo-mgw.git
				synced 2025-11-04 05:53:26 +00:00 
			
		
		
		
	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
This commit is contained in:
		@@ -114,6 +114,8 @@ AM_CONFIG_HEADER(bscconfig.h)
 | 
				
			|||||||
AC_OUTPUT(
 | 
					AC_OUTPUT(
 | 
				
			||||||
    openbsc.pc
 | 
					    openbsc.pc
 | 
				
			||||||
    include/openbsc/Makefile
 | 
					    include/openbsc/Makefile
 | 
				
			||||||
 | 
					    include/osmocom/Makefile
 | 
				
			||||||
 | 
					    include/osmocom/gprs/Makefile
 | 
				
			||||||
    include/Makefile
 | 
					    include/Makefile
 | 
				
			||||||
    src/Makefile
 | 
					    src/Makefile
 | 
				
			||||||
    src/libtrau/Makefile
 | 
					    src/libtrau/Makefile
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,3 +1,3 @@
 | 
				
			|||||||
SUBDIRS = openbsc
 | 
					SUBDIRS = openbsc osmocom
 | 
				
			||||||
 | 
					
 | 
				
			||||||
noinst_HEADERS = mISDNif.h compat_af_isdn.h
 | 
					noinst_HEADERS = mISDNif.h compat_af_isdn.h
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -7,9 +7,9 @@ noinst_HEADERS = abis_nm.h abis_rsl.h db.h gsm_04_08.h gsm_data.h \
 | 
				
			|||||||
		 system_information.h handover.h mgcp_internal.h \
 | 
							 system_information.h handover.h mgcp_internal.h \
 | 
				
			||||||
		 vty.h socket.h e1_config.h trau_upqueue.h token_auth.h \
 | 
							 vty.h socket.h e1_config.h trau_upqueue.h token_auth.h \
 | 
				
			||||||
		 handover_decision.h rrlp.h control_if.h \
 | 
							 handover_decision.h rrlp.h control_if.h \
 | 
				
			||||||
		crc24.h gprs_bssgp.h gprs_llc.h gprs_ns.h gprs_gmm.h \
 | 
							crc24.h gprs_llc.h gprs_gmm.h \
 | 
				
			||||||
		gb_proxy.h gprs_sgsn.h gsm_04_08_gprs.h sgsn.h \
 | 
							gb_proxy.h gprs_sgsn.h gsm_04_08_gprs.h sgsn.h \
 | 
				
			||||||
		gprs_ns_frgre.h auth.h osmo_msc.h bsc_msc.h bsc_nat.h \
 | 
							auth.h osmo_msc.h bsc_msc.h bsc_nat.h \
 | 
				
			||||||
		osmo_bsc_rf.h osmo_bsc.h network_listen.h bsc_nat_sccp.h \
 | 
							osmo_bsc_rf.h osmo_bsc.h network_listen.h bsc_nat_sccp.h \
 | 
				
			||||||
		osmo_msc_data.h osmo_bsc_grace.h sms_queue.h abis_om2000.h \
 | 
							osmo_msc_data.h osmo_bsc_grace.h sms_queue.h abis_om2000.h \
 | 
				
			||||||
		bss.h gsm_data_shared.h control_cmd.h ipaccess.h mncc_int.h
 | 
							bss.h gsm_data_shared.h control_cmd.h ipaccess.h mncc_int.h
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,7 +4,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include <osmocom/core/msgb.h>
 | 
					#include <osmocom/core/msgb.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <openbsc/gprs_ns.h>
 | 
					#include <osmocom/gprs/gprs_ns.h>
 | 
				
			||||||
#include <osmocom/vty/command.h>
 | 
					#include <osmocom/vty/command.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct gbproxy_config {
 | 
					struct gbproxy_config {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,7 +4,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include <osmocom/core/msgb.h>
 | 
					#include <osmocom/core/msgb.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <openbsc/gprs_ns.h>
 | 
					#include <osmocom/gprs/gprs_ns.h>
 | 
				
			||||||
#include <openbsc/gprs_sgsn.h>
 | 
					#include <openbsc/gprs_sgsn.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct sgsn_config {
 | 
					struct sgsn_config {
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										1
									
								
								openbsc/include/osmocom/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								openbsc/include/osmocom/Makefile.am
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					SUBDIRS = gprs
 | 
				
			||||||
							
								
								
									
										3
									
								
								openbsc/include/osmocom/gprs/Makefile.am
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								openbsc/include/osmocom/gprs/Makefile.am
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
				
			|||||||
 | 
					libgb_HEADERS = gprs_bssgp.h gprs_ns.h gprs_ns_frgre.h
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					libgbdir = $(includedir)/osmocom/gprs
 | 
				
			||||||
@@ -143,6 +143,8 @@ enum gprs_bssgp_cause {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
/* Our implementation */
 | 
					/* Our implementation */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <osmocom/gsm/gsm48.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* gprs_bssgp_util.c */
 | 
					/* gprs_bssgp_util.c */
 | 
				
			||||||
extern struct gprs_ns_inst *bssgp_nsi;
 | 
					extern struct gprs_ns_inst *bssgp_nsi;
 | 
				
			||||||
struct msgb *bssgp_msgb_alloc(void);
 | 
					struct msgb *bssgp_msgb_alloc(void);
 | 
				
			||||||
@@ -32,10 +32,11 @@
 | 
				
			|||||||
#include <osmocom/core/talloc.h>
 | 
					#include <osmocom/core/talloc.h>
 | 
				
			||||||
#include <osmocom/core/select.h>
 | 
					#include <osmocom/core/select.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <osmocom/gprs/gprs_ns.h>
 | 
				
			||||||
 | 
					#include <osmocom/gprs/gprs_bssgp.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <openbsc/signal.h>
 | 
					#include <openbsc/signal.h>
 | 
				
			||||||
#include <openbsc/debug.h>
 | 
					#include <openbsc/debug.h>
 | 
				
			||||||
#include <openbsc/gprs_ns.h>
 | 
					 | 
				
			||||||
#include <openbsc/gprs_bssgp.h>
 | 
					 | 
				
			||||||
#include <openbsc/gb_proxy.h>
 | 
					#include <openbsc/gb_proxy.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct gbprox_peer {
 | 
					struct gbprox_peer {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -37,10 +37,11 @@
 | 
				
			|||||||
#include <osmocom/core/select.h>
 | 
					#include <osmocom/core/select.h>
 | 
				
			||||||
#include <osmocom/core/rate_ctr.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/signal.h>
 | 
				
			||||||
#include <openbsc/debug.h>
 | 
					#include <openbsc/debug.h>
 | 
				
			||||||
#include <openbsc/gprs_ns.h>
 | 
					 | 
				
			||||||
#include <openbsc/gprs_bssgp.h>
 | 
					 | 
				
			||||||
#include <openbsc/vty.h>
 | 
					#include <openbsc/vty.h>
 | 
				
			||||||
#include <openbsc/gb_proxy.h>
 | 
					#include <openbsc/gb_proxy.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -24,9 +24,10 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include <osmocom/core/talloc.h>
 | 
					#include <osmocom/core/talloc.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <osmocom/gprs/gprs_ns.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <openbsc/debug.h>
 | 
					#include <openbsc/debug.h>
 | 
				
			||||||
#include <openbsc/gb_proxy.h>
 | 
					#include <openbsc/gb_proxy.h>
 | 
				
			||||||
#include <openbsc/gprs_ns.h>
 | 
					 | 
				
			||||||
#include <openbsc/vty.h>
 | 
					#include <openbsc/vty.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <osmocom/vty/command.h>
 | 
					#include <osmocom/vty/command.h>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -38,6 +38,8 @@
 | 
				
			|||||||
#include <osmocom/core/talloc.h>
 | 
					#include <osmocom/core/talloc.h>
 | 
				
			||||||
#include <osmocom/core/rate_ctr.h>
 | 
					#include <osmocom/core/rate_ctr.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <osmocom/gprs/gprs_bssgp.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <openbsc/debug.h>
 | 
					#include <openbsc/debug.h>
 | 
				
			||||||
#include <openbsc/gsm_data.h>
 | 
					#include <openbsc/gsm_data.h>
 | 
				
			||||||
#include <openbsc/gsm_subscriber.h>
 | 
					#include <openbsc/gsm_subscriber.h>
 | 
				
			||||||
@@ -45,7 +47,6 @@
 | 
				
			|||||||
#include <openbsc/gsm_04_08_gprs.h>
 | 
					#include <openbsc/gsm_04_08_gprs.h>
 | 
				
			||||||
#include <openbsc/paging.h>
 | 
					#include <openbsc/paging.h>
 | 
				
			||||||
#include <openbsc/transaction.h>
 | 
					#include <openbsc/transaction.h>
 | 
				
			||||||
#include <openbsc/gprs_bssgp.h>
 | 
					 | 
				
			||||||
#include <openbsc/gprs_llc.h>
 | 
					#include <openbsc/gprs_llc.h>
 | 
				
			||||||
#include <openbsc/gprs_sgsn.h>
 | 
					#include <openbsc/gprs_sgsn.h>
 | 
				
			||||||
#include <openbsc/gprs_gmm.h>
 | 
					#include <openbsc/gprs_gmm.h>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -26,12 +26,12 @@
 | 
				
			|||||||
#include <osmocom/core/linuxlist.h>
 | 
					#include <osmocom/core/linuxlist.h>
 | 
				
			||||||
#include <osmocom/core/timer.h>
 | 
					#include <osmocom/core/timer.h>
 | 
				
			||||||
#include <osmocom/core/talloc.h>
 | 
					#include <osmocom/core/talloc.h>
 | 
				
			||||||
 | 
					#include <osmocom/gprs/gprs_bssgp.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <openbsc/gsm_data.h>
 | 
					#include <openbsc/gsm_data.h>
 | 
				
			||||||
#include <openbsc/debug.h>
 | 
					#include <openbsc/debug.h>
 | 
				
			||||||
#include <openbsc/gprs_sgsn.h>
 | 
					#include <openbsc/gprs_sgsn.h>
 | 
				
			||||||
#include <openbsc/gprs_gmm.h>
 | 
					#include <openbsc/gprs_gmm.h>
 | 
				
			||||||
#include <openbsc/gprs_bssgp.h>
 | 
					 | 
				
			||||||
#include <openbsc/gprs_llc.h>
 | 
					#include <openbsc/gprs_llc.h>
 | 
				
			||||||
#include <openbsc/crc24.h>
 | 
					#include <openbsc/crc24.h>
 | 
				
			||||||
#include <openbsc/sgsn.h>
 | 
					#include <openbsc/sgsn.h>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -25,11 +25,12 @@
 | 
				
			|||||||
#include <osmocom/core/talloc.h>
 | 
					#include <osmocom/core/talloc.h>
 | 
				
			||||||
#include <osmocom/core/timer.h>
 | 
					#include <osmocom/core/timer.h>
 | 
				
			||||||
#include <osmocom/core/rate_ctr.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/gsm_subscriber.h>
 | 
				
			||||||
#include <openbsc/debug.h>
 | 
					#include <openbsc/debug.h>
 | 
				
			||||||
#include <openbsc/gprs_sgsn.h>
 | 
					#include <openbsc/gprs_sgsn.h>
 | 
				
			||||||
#include <openbsc/gprs_ns.h>
 | 
					 | 
				
			||||||
#include <openbsc/gprs_bssgp.h>
 | 
					 | 
				
			||||||
#include <openbsc/sgsn.h>
 | 
					#include <openbsc/sgsn.h>
 | 
				
			||||||
#include <openbsc/gsm_04_08_gprs.h>
 | 
					#include <openbsc/gsm_04_08_gprs.h>
 | 
				
			||||||
#include <openbsc/gprs_gmm.h>
 | 
					#include <openbsc/gprs_gmm.h>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -27,10 +27,10 @@
 | 
				
			|||||||
#include <osmocom/core/linuxlist.h>
 | 
					#include <osmocom/core/linuxlist.h>
 | 
				
			||||||
#include <osmocom/core/timer.h>
 | 
					#include <osmocom/core/timer.h>
 | 
				
			||||||
#include <osmocom/core/talloc.h>
 | 
					#include <osmocom/core/talloc.h>
 | 
				
			||||||
 | 
					#include <osmocom/gprs/gprs_bssgp.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <openbsc/gsm_data.h>
 | 
					#include <openbsc/gsm_data.h>
 | 
				
			||||||
#include <openbsc/debug.h>
 | 
					#include <openbsc/debug.h>
 | 
				
			||||||
#include <openbsc/gprs_bssgp.h>
 | 
					 | 
				
			||||||
#include <openbsc/gprs_llc.h>
 | 
					#include <openbsc/gprs_llc.h>
 | 
				
			||||||
#include <openbsc/sgsn.h>
 | 
					#include <openbsc/sgsn.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -36,13 +36,13 @@
 | 
				
			|||||||
#include <osmocom/core/talloc.h>
 | 
					#include <osmocom/core/talloc.h>
 | 
				
			||||||
#include <osmocom/core/select.h>
 | 
					#include <osmocom/core/select.h>
 | 
				
			||||||
#include <osmocom/core/rate_ctr.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/signal.h>
 | 
				
			||||||
#include <openbsc/debug.h>
 | 
					#include <openbsc/debug.h>
 | 
				
			||||||
#include <openbsc/sgsn.h>
 | 
					#include <openbsc/sgsn.h>
 | 
				
			||||||
#include <openbsc/gprs_llc.h>
 | 
					#include <openbsc/gprs_llc.h>
 | 
				
			||||||
#include <openbsc/gprs_bssgp.h>
 | 
					 | 
				
			||||||
#include <openbsc/gprs_sgsn.h>
 | 
					#include <openbsc/gprs_sgsn.h>
 | 
				
			||||||
#include <openbsc/gprs_gmm.h>
 | 
					#include <openbsc/gprs_gmm.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -38,6 +38,9 @@
 | 
				
			|||||||
#include <osmocom/core/rate_ctr.h>
 | 
					#include <osmocom/core/rate_ctr.h>
 | 
				
			||||||
#include <osmocom/core/logging.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/telnet_interface.h>
 | 
				
			||||||
#include <osmocom/vty/logging.h>
 | 
					#include <osmocom/vty/logging.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -45,8 +48,6 @@
 | 
				
			|||||||
#include <openbsc/debug.h>
 | 
					#include <openbsc/debug.h>
 | 
				
			||||||
#include <openbsc/vty.h>
 | 
					#include <openbsc/vty.h>
 | 
				
			||||||
#include <openbsc/sgsn.h>
 | 
					#include <openbsc/sgsn.h>
 | 
				
			||||||
#include <openbsc/gprs_ns.h>
 | 
					 | 
				
			||||||
#include <openbsc/gprs_bssgp.h>
 | 
					 | 
				
			||||||
#include <openbsc/gprs_llc.h>
 | 
					#include <openbsc/gprs_llc.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <gtp.h>
 | 
					#include <gtp.h>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -28,7 +28,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include <openbsc/debug.h>
 | 
					#include <openbsc/debug.h>
 | 
				
			||||||
#include <openbsc/sgsn.h>
 | 
					#include <openbsc/sgsn.h>
 | 
				
			||||||
#include <openbsc/gprs_ns.h>
 | 
					#include <osmocom/gprs/gprs_ns.h>
 | 
				
			||||||
#include <openbsc/gprs_sgsn.h>
 | 
					#include <openbsc/gprs_sgsn.h>
 | 
				
			||||||
#include <openbsc/vty.h>
 | 
					#include <openbsc/vty.h>
 | 
				
			||||||
#include <openbsc/gsm_04_08_gprs.h>
 | 
					#include <openbsc/gsm_04_08_gprs.h>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -41,7 +41,7 @@
 | 
				
			|||||||
#include <openbsc/db.h>
 | 
					#include <openbsc/db.h>
 | 
				
			||||||
#include <osmocom/core/talloc.h>
 | 
					#include <osmocom/core/talloc.h>
 | 
				
			||||||
#include <openbsc/vty.h>
 | 
					#include <openbsc/vty.h>
 | 
				
			||||||
#include <openbsc/gprs_ns.h>
 | 
					#include <osmocom/gprs/gprs_ns.h>
 | 
				
			||||||
#include <openbsc/system_information.h>
 | 
					#include <openbsc/system_information.h>
 | 
				
			||||||
#include <openbsc/debug.h>
 | 
					#include <openbsc/debug.h>
 | 
				
			||||||
#include <openbsc/paging.h>
 | 
					#include <openbsc/paging.h>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -35,10 +35,10 @@
 | 
				
			|||||||
#include <openbsc/debug.h>
 | 
					#include <openbsc/debug.h>
 | 
				
			||||||
#include <openbsc/gsm_data.h>
 | 
					#include <openbsc/gsm_data.h>
 | 
				
			||||||
#include <openbsc/gsm_04_08_gprs.h>
 | 
					#include <openbsc/gsm_04_08_gprs.h>
 | 
				
			||||||
#include <openbsc/gprs_bssgp.h>
 | 
					
 | 
				
			||||||
#include <openbsc/gprs_llc.h>
 | 
					#include <osmocom/gprs/gprs_bssgp.h>
 | 
				
			||||||
#include <openbsc/gprs_ns.h>
 | 
					#include <osmocom/gprs/gprs_ns.h>
 | 
				
			||||||
#include <openbsc/gprs_sgsn.h>
 | 
					
 | 
				
			||||||
#include <openbsc/gprs_gmm.h>
 | 
					#include <openbsc/gprs_gmm.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void *bssgp_tall_ctx = NULL;
 | 
					void *bssgp_tall_ctx = NULL;
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -28,11 +28,11 @@
 | 
				
			|||||||
#include <osmocom/core/rate_ctr.h>
 | 
					#include <osmocom/core/rate_ctr.h>
 | 
				
			||||||
#include <osmocom/gsm/tlv.h>
 | 
					#include <osmocom/gsm/tlv.h>
 | 
				
			||||||
#include <osmocom/core/talloc.h>
 | 
					#include <osmocom/core/talloc.h>
 | 
				
			||||||
 | 
					#include <osmocom/gprs/gprs_bssgp.h>
 | 
				
			||||||
 | 
					#include <osmocom/gprs/gprs_ns.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <openbsc/debug.h>
 | 
					#include <openbsc/debug.h>
 | 
				
			||||||
#include <openbsc/gsm_data.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)
 | 
					uint8_t *bssgp_msgb_tlli_put(struct msgb *msg, uint32_t tlli)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -27,11 +27,11 @@
 | 
				
			|||||||
#include <osmocom/core/msgb.h>
 | 
					#include <osmocom/core/msgb.h>
 | 
				
			||||||
#include <osmocom/gsm/tlv.h>
 | 
					#include <osmocom/gsm/tlv.h>
 | 
				
			||||||
#include <osmocom/core/talloc.h>
 | 
					#include <osmocom/core/talloc.h>
 | 
				
			||||||
 | 
					#include <osmocom/gprs/gprs_bssgp.h>
 | 
				
			||||||
 | 
					#include <osmocom/gprs/gprs_ns.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <openbsc/debug.h>
 | 
					#include <openbsc/debug.h>
 | 
				
			||||||
#include <openbsc/gsm_data.h>
 | 
					#include <openbsc/gsm_data.h>
 | 
				
			||||||
#include <openbsc/gprs_bssgp.h>
 | 
					 | 
				
			||||||
#include <openbsc/gprs_ns.h>
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct gprs_ns_inst *bssgp_nsi;
 | 
					struct gprs_ns_inst *bssgp_nsi;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -26,17 +26,13 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include <arpa/inet.h>
 | 
					#include <arpa/inet.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <openbsc/gsm_data.h>
 | 
					 | 
				
			||||||
#include <osmocom/core/msgb.h>
 | 
					#include <osmocom/core/msgb.h>
 | 
				
			||||||
#include <osmocom/gsm/tlv.h>
 | 
					#include <osmocom/gsm/tlv.h>
 | 
				
			||||||
#include <osmocom/core/talloc.h>
 | 
					#include <osmocom/core/talloc.h>
 | 
				
			||||||
#include <osmocom/core/select.h>
 | 
					#include <osmocom/core/select.h>
 | 
				
			||||||
#include <osmocom/core/rate_ctr.h>
 | 
					#include <osmocom/core/rate_ctr.h>
 | 
				
			||||||
#include <openbsc/debug.h>
 | 
					#include <osmocom/gprs/gprs_ns.h>
 | 
				
			||||||
#include <openbsc/signal.h>
 | 
					#include <osmocom/gprs/gprs_bssgp.h>
 | 
				
			||||||
#include <openbsc/gprs_ns.h>
 | 
					 | 
				
			||||||
#include <openbsc/gprs_bssgp.h>
 | 
					 | 
				
			||||||
#include <openbsc/vty.h>
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <osmocom/vty/vty.h>
 | 
					#include <osmocom/vty/vty.h>
 | 
				
			||||||
#include <osmocom/vty/command.h>
 | 
					#include <osmocom/vty/command.h>
 | 
				
			||||||
@@ -44,6 +40,11 @@
 | 
				
			|||||||
#include <osmocom/vty/telnet_interface.h>
 | 
					#include <osmocom/vty/telnet_interface.h>
 | 
				
			||||||
#include <osmocom/vty/misc.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
 | 
					/* FIXME: this should go to some common file as it is copied
 | 
				
			||||||
 * in vty_interface.c of the BSC */
 | 
					 * in vty_interface.c of the BSC */
 | 
				
			||||||
static const struct value_string gprs_bssgp_timer_strs[] = {
 | 
					static const struct value_string gprs_bssgp_timer_strs[] = {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -68,18 +68,18 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include <arpa/inet.h>
 | 
					#include <arpa/inet.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <openbsc/gsm_data.h>
 | 
					 | 
				
			||||||
#include <osmocom/core/msgb.h>
 | 
					#include <osmocom/core/msgb.h>
 | 
				
			||||||
#include <osmocom/gsm/tlv.h>
 | 
					#include <osmocom/gsm/tlv.h>
 | 
				
			||||||
#include <osmocom/core/talloc.h>
 | 
					#include <osmocom/core/talloc.h>
 | 
				
			||||||
#include <osmocom/core/select.h>
 | 
					#include <osmocom/core/select.h>
 | 
				
			||||||
#include <osmocom/core/rate_ctr.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/debug.h>
 | 
				
			||||||
#include <openbsc/signal.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 = {
 | 
					static const struct tlv_definition ns_att_tlvdef = {
 | 
				
			||||||
	.def = {
 | 
						.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)
 | 
					int gprs_ns_nsip_listen(struct gprs_ns_inst *nsi)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
						struct in_addr in;
 | 
				
			||||||
	int ret;
 | 
						int ret;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ret = make_sock(&nsi->nsip.fd, IPPROTO_UDP, nsi->nsip.local_ip,
 | 
						in.s_addr = htonl(nsi->nsip.local_ip);
 | 
				
			||||||
			nsi->nsip.local_port, 0, nsip_fd_cb, NULL);
 | 
					
 | 
				
			||||||
 | 
						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)
 | 
						if (ret < 0)
 | 
				
			||||||
		return ret;
 | 
							return ret;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	nsi->nsip.fd.data = nsi;
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return ret;
 | 
						return ret;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -34,10 +34,10 @@
 | 
				
			|||||||
#include <osmocom/core/select.h>
 | 
					#include <osmocom/core/select.h>
 | 
				
			||||||
#include <osmocom/core/msgb.h>
 | 
					#include <osmocom/core/msgb.h>
 | 
				
			||||||
#include <osmocom/core/talloc.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/debug.h>
 | 
				
			||||||
#include <openbsc/gprs_ns.h>
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define GRE_PTYPE_FR	0x6559
 | 
					#define GRE_PTYPE_FR	0x6559
 | 
				
			||||||
#define GRE_PTYPE_IPv4	0x0800
 | 
					#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)
 | 
					int gprs_ns_frgre_listen(struct gprs_ns_inst *nsi)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
						struct in_addr in;
 | 
				
			||||||
	int rc;
 | 
						int rc;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						in.s_addr = htonl(nsi->frgre.local_ip);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Make sure we close any existing socket before changing it */
 | 
						/* Make sure we close any existing socket before changing it */
 | 
				
			||||||
	if (nsi->frgre.fd.fd)
 | 
						if (nsi->frgre.fd.fd)
 | 
				
			||||||
		close(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)
 | 
						if (!nsi->frgre.enabled)
 | 
				
			||||||
		return 0;
 | 
							return 0;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	rc = make_sock(&nsi->frgre.fd, IPPROTO_GRE, nsi->frgre.local_ip,
 | 
						nsi->frgre.fd.cb = nsfrgre_fd_cb;
 | 
				
			||||||
			0, 0, nsfrgre_fd_cb, NULL);
 | 
						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) {
 | 
						if (rc < 0) {
 | 
				
			||||||
		LOGP(DNS, LOGL_ERROR, "Error creating GRE socket (%s)\n",
 | 
							LOGP(DNS, LOGL_ERROR, "Error creating GRE socket (%s)\n",
 | 
				
			||||||
			strerror(errno));
 | 
								strerror(errno));
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -26,17 +26,13 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include <arpa/inet.h>
 | 
					#include <arpa/inet.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <openbsc/gsm_data.h>
 | 
					 | 
				
			||||||
#include <osmocom/core/msgb.h>
 | 
					#include <osmocom/core/msgb.h>
 | 
				
			||||||
#include <osmocom/gsm/tlv.h>
 | 
					#include <osmocom/gsm/tlv.h>
 | 
				
			||||||
#include <osmocom/core/talloc.h>
 | 
					#include <osmocom/core/talloc.h>
 | 
				
			||||||
#include <osmocom/core/select.h>
 | 
					#include <osmocom/core/select.h>
 | 
				
			||||||
#include <osmocom/core/rate_ctr.h>
 | 
					#include <osmocom/core/rate_ctr.h>
 | 
				
			||||||
#include <openbsc/debug.h>
 | 
					#include <osmocom/gprs/gprs_ns.h>
 | 
				
			||||||
#include <openbsc/signal.h>
 | 
					#include <osmocom/gprs/gprs_bssgp.h>
 | 
				
			||||||
#include <openbsc/gprs_ns.h>
 | 
					 | 
				
			||||||
#include <openbsc/gprs_bssgp.h>
 | 
					 | 
				
			||||||
#include <openbsc/vty.h>
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <osmocom/vty/vty.h>
 | 
					#include <osmocom/vty/vty.h>
 | 
				
			||||||
#include <osmocom/vty/command.h>
 | 
					#include <osmocom/vty/command.h>
 | 
				
			||||||
@@ -44,6 +40,11 @@
 | 
				
			|||||||
#include <osmocom/vty/telnet_interface.h>
 | 
					#include <osmocom/vty/telnet_interface.h>
 | 
				
			||||||
#include <osmocom/vty/misc.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;
 | 
					static struct gprs_ns_inst *vty_nsi = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* FIXME: this should go to some common file as it is copied
 | 
					/* FIXME: this should go to some common file as it is copied
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user