aboutsummaryrefslogtreecommitdiffstats
path: root/src/pcu_vty_functions.cpp
AgeCommit message (Collapse)AuthorFilesLines
2016-03-30fix compiler warnings about format string for size_tHarald Welte1-3/+3
with gcc-5.3 on x86_64 I get the following compliler warnings: warning: format ‘%d’ expects argument of type ‘int’, but argument 7 has type ‘size_t {aka long unsigned int} This patch resolves them
2016-02-08ms: Add current_pacch_slots methodJacob Erlbeck1-0/+7
The PACCH is specific to an MS and may change when a TBF is established or removed (see TS 44.060, 8.1.1.2.2). For multislot class type 2 phones, more than one timeslot may be used to transmit RLC/MAC control messages. Add a method that returns a set of TS which can be used for the PACCH. Sponsored-by: On-Waves ehf
2016-02-08tbf: Add check_polling/set_pollingJacob Erlbeck1-1/+2
Currently the checks for and the actual polling is done in several places by copy & paste of several lines of code. This hinders changes of they polling is handled internally and also is likely source of programming mistakes. Separate this into a check_polling function, that checks whether polling is possible and returns the FN and the RRBP to be used in that case. Otherwise the cause is logged (LOGL_DEBUG) and a negative error value is returned. There are no other side effect beside the logging. If the call is successful, the set_polling method can be used to actually register the polling. Extend the encoder functions' parameters lists by an rrbp parameter. Sponsored-by: On-Waves ehf
2016-02-08tbf: Mark control slots in VTY TBF outJacob Erlbeck1-1/+2
Put an '!' after the PDCH number in the output of the 'show tbf' command, if is_control_ts() yields true. Sponsored-by: On-Waves ehf
2016-02-08tbf: Show window parameters in VTYJacob Erlbeck1-3/+18
Add V(Q), V(R), V(A), V(S) to the output of the "show tbf" command. Sponsored-by: On-Waves ehf
2016-02-08edge: Make window size configurableJacob Erlbeck1-1/+2
Currently the window size is fixed to 64 even for EGPRS. Support dynamic window sizes depending on the number of PDCH. The WS can be set to b + f * N_PDCH. If the result is not valid according to TS 44.060, Table 9.1.9.2.1, the value will be corrected to use the next lower valid value (or 64). The following VTY commands are added (config-pcu node): window-size <0-1024> set base (b) value and leave f unchanged window-size <0-1024> <0-256> set base (b) and factor (f) Sponsored-by: On-Waves ehf
2016-02-08tbf/vty: Fix the CS output and show the EGPRS MS classJacob Erlbeck1-3/+3
Currently only the GPRS MS class and the DL CS (even for UL TBFs) are shown. Add the EGPRS MS class and use the TBF's real CS. Sponsored-by: On-Waves ehf
2016-02-01edge: Show current mode in VTYJacob Erlbeck1-0/+2
Add the current mode to the output of the 'show ms imsi' and 'show ms tlli' commands. Sponsored-by: On-Waves ehf
2016-02-01edge: Replace integer cs by GprsCodingSchemeJacob Erlbeck1-5/+7
Currently the TBF and MS object use a plain integer value (current_cs) to manage the coding scheme. This makes it difficult to support the MCS schemes. GprsCodingScheme supports a partial ordering of these values (CS and MCS) and provides safe increment and decrement methods. Use the GprsCodingScheme type instead of integer for cs fields and variables. Add a 'mode' to GprsMs which can be set to either GPRS, EGPRS, or EGPRS_GMSK which also set the initial values of current_cs_ul/dl. Select the mode based on max_mcs_ul and max_mcs_dl. Sponsored-by: On-Waves ehf
2016-02-01tbf: Use LListHead instead of llist_podsJacob Erlbeck1-2/+17
LListHead does basically the same like llist_pods, but more C++ish and with type safety. This commit turns the former list field of gprs_rlcmac_tbf into a private field, provides accessors, moves the related code from pcu_vty.c to pcu_vty_functions.cpp, and removes the llist_pods type and related code. Sponsored-by: On-Waves ehf
2016-02-01tbf/vty: Move tbf_print_vty_info to pcu_vty_functions.cppJacob Erlbeck1-0/+21
This function is similar to the show_ms function already present in the target file. Since the TBF lists will be turned into LListHead based lists, they will get an iteration function in pcu_vty_functions.cpp, too. Sponsored-by: On-Waves ehf
2015-11-30edge: Get EGPRS multislot classJacob Erlbeck1-0/+1
The EGPRS MS class ist contained in the MS_RA_capability information. Its presence indicates, that the MS is able (and willing) to use EGPRS. This commit implements basic support for retrieving, storing, and showing it in the VTY. The information is stored in the MS object. Sponsored-by: On-Waves ehf
2015-08-27ms/vty: Show LLC queue octets and packets in both viewsJacob Erlbeck1-1/+5
Currently the per IMSI/TLLI view only shows the number of packets and the 'all' view does not show any LLC related information at all. A constant LLC queue length is often an indication for a stalled TCP connection where the RLC layer has stopped to send downlink data messages. This commit adds the number of packets to the 'all' view and the number of octets to the IMSI/TLLI views. Sponsored-by: On-Waves ehf
2015-08-24ms/vty: Show old TBFsJacob Erlbeck1-0/+9
This commit extends the 'show ms imsi|tlli' command to show the old TBFs, too. Sponsored-by: On-Waves ehf
2015-06-22ms: Store the NACK rate in the MS objectJacob Erlbeck1-0/+3
Currently the NACK/unconfirmed ratio is already passed to the corresponding MS object, but the value is not being stored there. This commit adds a member and a getter method and include the values into the output of the 'show ms' command. Sponsored-by: On-Waves ehf
2015-06-22l1: Store measurement values sent by the MSJacob Erlbeck1-0/+16
This commit extends the pcu_l1_meas structure by MS side measurement values which are transmitted by PACKET DOWNLINK ACK/NACK and PACKET RESOURCE REQUEST messages. The encoded values are remapped to dB respectively % values. The values are stored in the corresponding MS object (if there is one). Note that the values are store as (rounded) integers, so some different encodings are mapped to the same decoded value. Sponsored-by: On-Waves ehf
2015-06-22ms: Store the L1 measurement values in the MS objectsJacob Erlbeck1-0/+12
This commits adds the GprsMs::update_l1_meas() and GprsMs::l1_meas() methods to store and access the measurement values. The internal state is updated depending on which values are actually set. In addition, these values are shown in the output of the 'show ms imsi|tlli' command. Sponsored-by: On-Waves ehf
2015-06-08vty: Add command to show detailed MS infoJacob Erlbeck1-0/+51
This commit extends the "show ms" command to display an extended set of information for a single MS. The following VTY commands are added: - show ms tlli TLLI - show ms imsi IMSI Sponsored-by: On-Waves ehf
2015-06-08vty: Add 'show ms all' commandJacob Erlbeck1-0/+21
This command lists the entries of the ms_store by a line per MS. Beside TLLI and IMSI, some measurement and state information is shown. A ms_list() getter method is added to GprsMsStorage to obtain a list of the MsGprs objects. The following VTY command is added to the 'enable' node: - show ms all Sponsored-by: On-Waves ehf
2015-06-08vty: Add a file for C++ functionsJacob Erlbeck1-0/+36
Currently the pcu_vty.c doesn't compile with C++. Thus C++ object cannot be access directly there. This commit adds a helper C++ file that exports all functions with C calling conventions and naming to work around that limitation until the transition of pcu_vty.c is completed. Sponsored-by: On-Waves ehf