aboutsummaryrefslogtreecommitdiffstats
path: root/src/hnbgw_vty.c
AgeCommit message (Collapse)AuthorFilesLines
2022-01-04Drop osmo-hnbgwPau Espin Pedrol1-418/+0
OsmoHNBGW is now available in its own repository osmo-hnbgw.git. Change-Id: I4e17c578b432f0c997ea4e13b1c468b112278854
2020-12-30hnbgw: Introduce LOGHNB() macro for log context informationHarald Welte1-0/+16
So far we don't really have any way of matching a given log message to a specific hNB. Let's introduce a new log macro, together with a configuration directive to select whether the hNB-ID or the UMTS CellID shall be used. Change-Id: I6113925216c6f88add2c6d27bdf47ccbb017f293
2020-03-20hnbgw_vty.c: Drop unusued variablesPau Espin Pedrol1-3/+1
Change-Id: Ic7f730c9f51384006e471b5e8452f5821b458bbf
2019-08-23hnbgw_vty.c: fix: properly pass pointer to g_hnb_gwVadim Yanitskiy1-1/+1
Otherwise the process hangs if the user enters: $ show hnb NAME hnbgw_vty.c: In function ‘show_one_hnb’: hnbgw_vty.c:234:2: warning: passing argument 1 of ‘hnb_context_by_identity_info’ from incompatible pointer type [enabled by default] iuh/hnbgw.h:154:21: note: expected ‘struct hnb_gw *’ but argument is of type ‘struct hnb_gw **’ Change-Id: I42fdb10af5f6427886b5797325830dfc212af30f
2018-10-31add a VTY command which shows a specific HNBStefan Sperling1-1/+23
Add the 'show hnb NAME' VTY command which displays just one specific HNB, addressed by its identity string. This augments the functionality provided by 'show hnb all'. Change-Id: Iab12aa4ab090b72c472358b84daf6919b30747f6 Related: OS#2774
2017-12-26hnbgw_vty.c: Fix "-Werror=format-security" failure in vty_out()Harald Welte1-1/+1
We have to use a format string, we cannot directly print "name". Fixes a build error on our OBS builds: hnbgw_vty.c:156:5: error: format not a string literal and no format arguments [-Werror=format-security] which was introduced in Change-Id I3c937306a011715e163a40bc8ef8ec7e8d4e5d08 about one week ago. Change-Id: I042989c2b7b379284b2ee5fea3bd8f8ce406b09e
2017-12-26hnbgw_vty.c: cosmetic: Fix non-tab-indented codeHarald Welte1-5/+5
This was introduced a week ago in Change-Id I3c937306a011715e163a40bc8ef8ec7e8d4e5d08 and is now cleaned up. Change-Id: Iaadf941aa7f1c5ae05eb02b51cc646b7b5587ba3
2017-12-25vty typo: 'show hnb': SCTP stream, not SCCP streamNeels Hofmeyr1-1/+1
Change-Id: Iceb29af9f4ef6b4b4ed9778bdd683d30c201371d
2017-12-25osmo-hnbgw config: add 'rnc-id' config itemNeels Hofmeyr1-0/+13
So far, the RNC-Id is hard-coded as 23. Still use 23 as default, but allow configuring by config file. Hence make it possible to run multiple osmo-hnbgw with differing RNC-Id each. Change-Id: I374f558cc4bb36055f39efe9c58ae1b9bd49da46
2017-12-25osmo-hnbgw: vty: revamp output of context maps on 'show hnb'Neels Hofmeyr1-4/+27
Instead of listing each and every context map, rather output a summary of context counts. Rationale: in a list of a hundred HNBs, I don't want to also see a dozen (or potentially thousands of) context map lines for each. Furthermore, the conn IDs aren't necessarily useful on network traces either. For example, what was shown as SUA Id is incidentally the SCCP Reference, but this is not a hard requirement and may change. Also, the reference is shown in wireshark as a hex in mismatching byte order ... so rather don't bother. The result now looks like OsmoHNBGW> show hnb all HNB (r=192.168.0.124:29169<->l=192.168.0.9:29169) "000295-0000152614@ap.ipaccess.com" MCC 901 MNC 70 LAC 14357 RAC 11 SAC 1 CID 8595638 SCCP-stream:HNBAP=0,RUA=0 IuCS: 1 contexts: inactive-reserved:1 IuPS: 1 contexts: active:1 1 HNB connected Related: OS#2772 OS#2773 Change-Id: Iae76b68e85863c8663bb5c508b85534c00e1d2c9
2017-12-25vty: tweak / improve HNB and cnlink introspectionNeels Hofmeyr1-7/+65
Add 'show cnlink' (uses new osmo_sccp_user_name(), see 'Depends' below). Tweak 'show hnb all'. The result looks something like: OsmoHNBGW> show cnlink IuCS: OsmoHNBGW:RI=SSN_PC,PC=0.23.5,SSN=RANAP <-> RI=SSN_PC,PC=0.23.1,SSN=RANAP SS7 route: pc=0=0.0.0 mask=0x0=0.0.0 via AS as-clnt-OsmoHNBGW proto=m3ua ASP asp-clnt-OsmoHNBGW (r=127.0.0.1:2905<->l=127.0.0.1:37699) IuPS: OsmoHNBGW:RI=SSN_PC,PC=0.23.5,SSN=RANAP <-> RI=SSN_PC,PC=0.23.4,SSN=RANAP SS7 route: pc=0=0.0.0 mask=0x0=0.0.0 via AS as-clnt-OsmoHNBGW proto=m3ua ASP asp-clnt-OsmoHNBGW (r=127.0.0.1:2905<->l=127.0.0.1:37699) OsmoHNBGW> show hnb all No HNB connected OsmoHNBGW> show hnb all HNB (r=192.168.0.124:29169<->l=192.168.0.9:29169) "000295-0000152614@ap.ipaccess.com" MCC 901 MNC 70 LAC 14357 RAC 11 SAC 1 CID 8595638 SCCP-stream:HNBAP=0,RUA=0 IuCS 24->1002 (RUA->SUA) state=1 IuPS 24->1003 (RUA->SUA) state=1 HNB (r=192.168.0.15:29169<->l=192.168.0.9:29169) "000295-0000154153@ap.ipaccess.com" MCC 901 MNC 70 LAC 24358 RAC 22 SAC 65535 CID 1048575 SCCP-stream:HNBAP=0,RUA=0 IuCS 23->1000 (RUA->SUA) state=1 IuPS 23->1001 (RUA->SUA) state=1 2 HNB connected Related: OS#2772 OS#2773 Depends: Ib7abf69cfcf4c56273223054b280458451e6c2f6 (libosmo-sccp) Ia0d15a2814b08bc3f052a1ed12dbb68bade55309 (libosmo-sccp) Change-Id: I3c937306a011715e163a40bc8ef8ec7e8d4e5d08
2017-11-21Fix various compiler warnings in hnb-gw codeHarald Welte1-6/+2
Since we finally started to use -Wall, the related warnings became visible. Change-Id: I516700eab2aa7c3412dd62775c4960aed9d4b682
2017-11-08vty: skip installing cmds now always installed by defaultNeels Hofmeyr1-4/+0
vty_install_default() and install_default() will soon be deprecated. Depends: I5021c64a787b63314e0f2f1cba0b8fc7bff4f09b Change-Id: I61b79f633d36814b53e40f1a92b5847c9ff4fde0
2017-08-09make point codes configurable by SCCP address bookNeels Hofmeyr1-47/+27
In the vty config, use the SCCP address book to configure the local and remote SCCP addresses. Add VTY commands to set the remote SCCP addresses by name, derive the ss7 instance from these addresses: cs7 instance 1 point-code 0.23.0 sccp-address msc point-code 0.0.1 sccp-address sgsn point-code 0.0.2 hnbgw iucs remote-addr msc iups remote-addr sgsn Enforce that both IuCS and IuPS use the same ss7 instance. In the future, we may add the feature to use two separate instances. Depends: libosmo-sccp I75c67d289693f1c2a049ac61cf2b2097d6e5687d, Ie1aedd7894acd69ddc887cd65a8a0df4b888838c, I85b46269dbe7909e52873ace3f720f6292a4516c Change-Id: I33a7ba11eb7c2d9a5dc74d10fb0cf04bf664477b
2016-10-27hnbgw: parameterize IuCS and IuPS ips and ports: add vty cmdsNeels Hofmeyr1-0/+113
Basically copy-paste the Iuh local-ip and local-port code to provide parameterization of the IuCS and IuPS remote addresses. Add IUCS and IUPS nodes, enhance go_parent_cb and config writing accordingly. Change-Id: I2c28977011009df4e1fa472290bbbc359e406971
2016-10-27hnbgw: vty: set explicit go_parent_cbNeels Hofmeyr1-0/+21
A second level of depth will be added to the hnbgw node soon, which will need explicit go-parent logic. Change-Id: I8d1c18a396c215e8425ae49872b5c73316087d7d
2016-10-27hnbgw: parameterize iuh local port: add vty cmdNeels Hofmeyr1-0/+14
For completeness' sake, add VTY command to set the local Iuh port, to go with the command that sets the local IP. Change-Id: I4b5e9fe9fcfa489069a0728d47899ef4a61f7ce5
2016-10-13cosmetic: hnbgw: addr related renames, move define, move commentNeels Hofmeyr1-5/+5
Prepare for parameterization of IuCS and IuPS addresses: Conform internal variable naming to local-ip, local-port, remote-ip, remote-port (instead of bind-ip). Rename HNBGW_IUH_LOCAL_IP_DEFAULT to HNGGW_LOCAL_IP_DEFAULT to be more general and move it to the top. Move a function doc comment to the .c file. Change-Id: Ice85941c978498e3ddf41d151248507e7f56cb5d
2016-09-27hnbgw: vty conformance: rename iuh 'bind' command to 'local-ip'Neels Hofmeyr1-5/+5
The standard osmo VTY terminology is 'remote-ip', 'remote-port', 'local-ip', 'local-port'. Conform to that. osmo-hnbgw is so far not rolled out widely, so it makes sense to do this now. Change-Id: Ifda2653bf58044552a5f1477cd7008dec3fb9100
2016-09-27hnbap: accept UE Register Requests with TMSI and pTMSINeels Hofmeyr1-0/+15
Add the option to allow UE Register Requests with a TMSI identity. Add VTY command to enable this option, 'hnbap-allow-tmsi'. Add hnbgw_tx_ue_register_acc_tmsi(). HNBGW so far keeps track of UEs that have registered, with their IMSI. When a UE registers with only a TMSI, we obviously can't store an IMSI. However, since we're so far never *using* the list of UEs in osmo-hnbgw, we might as well just accept the TMSI registration and carry on as usual. All that is needed for proper operation is a valid UE context. This is aimed at the ip.access nano3G femto cell, as it apparently feeds whichever identification the UE sends through to HNBAP (TMSI+LAI, pTMSI+RAI), instead of an IMSI as expected. So far this caused failures and the need to make the UE clear its TMSI (wait several minutes or attempt to subscribe to a different network), so that UE registration switched back to IMSI. When simply accepting the TMSI in osmo-hngw, no problems are apparent in our current code state. For example, a Samsung Galaxy S4 seems to send a UE_Identity_PR_tMSILAI (CS identity), and a GT-I9100 seems to send a UE_Identity_PR_pTMSIRAI (PS identity) upon first registration to the network. Recording the IMSI in hnbgw: we could use the subscriber list during paging, to page a UE on only its last seen HNB. On the other hand, it doesn't hurt to anyway always page to all HNBs connected to osmo-hnbgw. The paging procedure does include a page-to-all-HNBs in case the first HNB paging fails. But we must be aware that UEs that register by TMSI will simply not have an IMSI recorded in the list of UE contexts, so a lookup based on IMSI may fail. Patch-by: Harald Welte <laforge@gnumonks.org>, me Change-Id: I87bc1aa3e85815ded7ac1dbdca48f1680b468589
2016-09-09build: move headers to include/osmocom/*Neels Hofmeyr1-2/+2
This came up while fixing 'make distcheck'; this is certainly not the easiest way but it makes sense to have the headers in include/, like we do in openbsc. The easy alternative might be to add -I$(top_srcdir)/src to src/Makefile.am. Remove -I$(top_srcdir)/src from src/tests/Makefile.am, no longer needed. Change-Id: I5a82e029dcdc4df0a60a31271a4883393fe59234
2016-08-18hnbgw: make Iuh bind address configurable via VTYNeels Hofmeyr1-0/+17
Add config node hnbgw/iuh/bind, taking an IPv4 address. Use this address to bind the Iuh server. This is particularly useful for the ip.access nano3G, which is very sensitive with SCTP addresses that don't respond to SCTP heartbeats. If the hnbgw listens on 0.0.0.0, there will be SCTP heartbeats for all local interfaces on the machine that the hnbgw runs on; the nano3G will interpret the "missing", or rather, redundant heartbeat acks for the interfaces that aren't really related to the Iuh server and assume a broken Iuh link, leading to an Iuh shutdown and reconnection, looping every minute or so. By binding the hnbgw to only one local interface, the SCTP addresses can be reduced and "missing" heartbeat acks can be avoided. Change-Id: Ie2749c152b878e17aa65dfb806826357d5c494f1
2016-08-18hnbgw vty: add empty hnbgw and hnbgw/iuh vty nodesNeels Hofmeyr1-0/+49
Add include/osmocom/iuh/ named after this project (osmo-iuh), and add vty.h to define VTY node enum values. Also add (to) Makefile.am and configure.ac to include in the build. An upcoming commit will add the actual first config item to the hnbgw/iuh node. Change-Id: I71545823d3bd81cb888c85df8e298a56c98bf131
2016-08-18hnbgw: move vty commands out to new hnbgw_vty.cNeels Hofmeyr1-0/+87
Pass g_hnb_gw and tall_hnb_ctx to hnbgw_vty_init() as they are no longer statically available. Change-Id: If85c1b97a240bd1dcf9f367ea6fca857d542ab22